[jboss-cvs] JBossAS SVN: r68017 - trunk/security/src/main/org/jboss/security/integration.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Dec 7 02:13:03 EST 2007
Author: anil.saldhana at jboss.com
Date: 2007-12-07 02:13:02 -0500 (Fri, 07 Dec 2007)
New Revision: 68017
Modified:
trunk/security/src/main/org/jboss/security/integration/SecurityDomainObjectFactory.java
Log:
JBAS-5052: list the java:/jaas ctx
Modified: trunk/security/src/main/org/jboss/security/integration/SecurityDomainObjectFactory.java
===================================================================
--- trunk/security/src/main/org/jboss/security/integration/SecurityDomainObjectFactory.java 2007-12-07 00:40:32 UTC (rev 68016)
+++ trunk/security/src/main/org/jboss/security/integration/SecurityDomainObjectFactory.java 2007-12-07 07:13:02 UTC (rev 68017)
@@ -24,12 +24,16 @@
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
+import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.Map;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.Name;
+import javax.naming.NameClassPair;
import javax.naming.NameParser;
+import javax.naming.NamingEnumeration;
import javax.naming.OperationNotSupportedException;
import javax.naming.spi.ObjectFactory;
@@ -87,7 +91,8 @@
return SecurityConstants.JAAS_CONTEXT_ROOT + " Context proxy";
if( methodName.equals("list") == true )
- throw new OperationNotSupportedException();
+ return new DomainEnumeration(JNDIBasedSecurityManagement.securityMgrMap.keys(),
+ JNDIBasedSecurityManagement.securityMgrMap);
if(methodName.equals("bind") || methodName.equals("rebind"))
{
@@ -130,4 +135,39 @@
}
return sdc;
}
+
+ class DomainEnumeration implements NamingEnumeration
+ {
+ Enumeration domains;
+ Map ctxMap;
+ DomainEnumeration(Enumeration domains, Map ctxMap)
+ {
+ this.domains = domains;
+ this.ctxMap = ctxMap;
+ }
+
+ public void close()
+ {
+ }
+ public boolean hasMoreElements()
+ {
+ return domains.hasMoreElements();
+ }
+ public boolean hasMore()
+ {
+ return domains.hasMoreElements();
+ }
+ public Object next()
+ {
+ String name = (String) domains.nextElement();
+ Object value = ctxMap.get(name);
+ String className = value.getClass().getName();
+ NameClassPair pair = new NameClassPair(name, className);
+ return pair;
+ }
+ public Object nextElement()
+ {
+ return domains.nextElement();
+ }
+ }
}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list