JNDIResource.java

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     // Naming context
00048     private InitialContext ctx = null;
00049 
00050     // List of names of the objects bound in the naming context
00051     private ArrayList names = null;
00052 
00053     // Properties of the context environment
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 }

Generated on Tue Feb 15 15:05:19 2005 for JOnAS by  doxygen 1.3.9.1