00001
00027 package org.objectweb.jonas.naming;
00028
00029 import java.util.ArrayList;
00030 import java.util.Hashtable;
00031 import java.util.List;
00032
00033 import javax.naming.Context;
00034 import javax.naming.InitialContext;
00035 import javax.naming.NameClassPair;
00036 import javax.naming.NamingEnumeration;
00037 import javax.naming.NamingException;
00038
00039 import org.objectweb.jonas.management.j2eemanagement.J2EEManagedObject;
00040 import org.objectweb.util.monolog.api.Logger;
00041
00045 public class JNDIResource extends J2EEManagedObject {
00046
00047
00048 private InitialContext ctx = null;
00049
00050
00051 private ArrayList names = null;
00052
00053
00054 private String providerUrl = null;
00055 private String initialContextFactory = null;
00056 private String pkgPrefixes = null;
00057 private String protocol;
00058
00059 static private Logger logger = null;
00060
00061 public JNDIResource(String pObjectName, InitialContext ctx, String protocol) throws NamingException {
00062 super(pObjectName);
00063 this.ctx = ctx;
00064 this.protocol = protocol;
00065 Hashtable myEnv = ctx.getEnvironment();
00066 providerUrl = (String) myEnv.get(Context.PROVIDER_URL);
00067 initialContextFactory = (String) myEnv.get(Context.INITIAL_CONTEXT_FACTORY);
00068 pkgPrefixes = (String) myEnv.get(Context.URL_PKG_PREFIXES);
00069 }
00070
00071 public String getProviderUrl() {
00072 return providerUrl;
00073 }
00074 public String getInitialContextFactory() {
00075 return initialContextFactory;
00076 }
00077 public String getPkgPrefixes() {
00078 return pkgPrefixes;
00079 }
00080
00081 public List getNames() throws NamingException {
00082 names = new ArrayList();
00083 String a_name = null;
00084 NamingEnumeration ne = null;
00085 ne = ctx.list("");
00086 for ( ; ne.hasMore() ;) {
00087 a_name = ((NameClassPair) ne.next()).getName();
00088 if (a_name != null)
00089 names.add(a_name);
00090 }
00091 return names;
00092 }
00096 public String getProtocol() {
00097 return protocol;
00098 }
00099 }