[jboss-cvs] JBossAS SVN: r64300 - in projects/security/security-jboss-sx/trunk/src/main/org/jboss/security: auth/container/config and 5 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jul 26 02:31:31 EDT 2007


Author: anil.saldhana at jboss.com
Date: 2007-07-26 02:31:31 -0400 (Thu, 26 Jul 2007)
New Revision: 64300

Modified:
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/config/AuditProviderEntry.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/container/config/AuthModuleEntry.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/GenericMessageInfo.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossClientAuthContext.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossServerAuthConfig.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossServerAuthContext.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/authorization/config/AuthorizationModuleEntry.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/authorization/config/SecurityConfigObjectModelFactory.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/mapping/config/MappingModuleEntry.java
   projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/audit/JBossAuditManager.java
Log:
update config for audit and identity trust

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/config/AuditProviderEntry.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/config/AuditProviderEntry.java	2007-07-26 06:31:11 UTC (rev 64299)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/audit/config/AuditProviderEntry.java	2007-07-26 06:31:31 UTC (rev 64300)
@@ -21,6 +21,11 @@
   */
 package org.jboss.security.audit.config;
 
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jboss.security.auth.login.ModuleOption;
+
 //$Id$
 
 /**
@@ -31,7 +36,9 @@
  */
 public class AuditProviderEntry
 {
-   private String name;
+   private String name; 
+   
+   private Map options = new HashMap();
 
    public AuditProviderEntry(String name)
    {
@@ -43,4 +50,14 @@
    {
       return name;
    }
+   
+   public void add(ModuleOption option)
+   {
+      options.put(option.getName(), option.getValue());
+   }
+   
+   public Map getOptions()
+   {
+      return this.options;
+   }
 }

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/container/config/AuthModuleEntry.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/container/config/AuthModuleEntry.java	2007-07-26 06:31:11 UTC (rev 64299)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/container/config/AuthModuleEntry.java	2007-07-26 06:31:31 UTC (rev 64300)
@@ -25,6 +25,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.security.auth.login.AppConfigurationEntry;
+
 import org.jboss.security.auth.login.LoginModuleStackHolder;
 import org.jboss.security.auth.login.ModuleOption;
 
@@ -38,7 +40,9 @@
  */
 public class AuthModuleEntry
 {
-   private Map options = null;
+   private AppConfigurationEntry.LoginModuleControlFlag controlFlag =
+                  AppConfigurationEntry.LoginModuleControlFlag.REQUIRED;
+   private Map options = new HashMap();
    private String name = null;
    private LoginModuleStackHolder loginModuleStackHolder = null;
    private String loginModuleStackHolderName = null;
@@ -53,7 +57,8 @@
    public AuthModuleEntry(String authModuleName, Map options, String loginModuleStackHolderName)
    {
       this.name = authModuleName;
-      this.options = options;
+      if(options != null)
+        this.options = options;
       this.loginModuleStackHolderName = loginModuleStackHolderName;
    } 
    
@@ -67,9 +72,11 @@
    }
    
    public void addOption(ModuleOption option)
-   {
+   { 
+      if(option == null)
+         throw new IllegalArgumentException("Option is null");
       if(options == null)
-         options = new HashMap();
+         throw new IllegalStateException("Options is null");
       options.put(option.getName(), option.getValue());
    }
    
@@ -78,16 +85,12 @@
     * @return the options configured for this AuthModule as an unmodifiable Map
     */
    public Map getOptions()
-   {
-      if(options == null)
-         return null;
+   { 
       return Collections.unmodifiableMap(options);
    }
    
    public void setOptions(Map options)
-   {
-      if(options == null)
-         throw new IllegalArgumentException("Options passed is null");
+   { 
       this.options = options;
    }
    
@@ -126,5 +129,15 @@
       if(loginModuleStackHolderName == null)
          throw new IllegalArgumentException("loginModuleStackHolderName is null");
       this.loginModuleStackHolderName = loginModuleStackHolderName;
+   }
+
+   public AppConfigurationEntry.LoginModuleControlFlag getControlFlag()
+   {
+      return controlFlag;
+   }
+
+   public void setControlFlag(AppConfigurationEntry.LoginModuleControlFlag flag)
+   {
+      this.controlFlag = flag;
    } 
 }

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/GenericMessageInfo.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/GenericMessageInfo.java	2007-07-26 06:31:11 UTC (rev 64299)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/GenericMessageInfo.java	2007-07-26 06:31:31 UTC (rev 64300)
@@ -33,7 +33,7 @@
  *  @since  May 25, 2006 
  *  @version $Revision: 45271 $
  */
-public class GenericMessageInfo extends HashMap implements MessageInfo
+public class GenericMessageInfo implements MessageInfo
 { 
    /** The serialVersionUID */
    private static final long serialVersionUID = -8148794884261757664L;
@@ -41,7 +41,7 @@
    protected Object request = null;
    protected Object response = null;
 
-   private Map map = new HashMap(); 
+   private Map<Object,Object> map = new HashMap<Object,Object>(); 
 
    public GenericMessageInfo()
    {   
@@ -88,7 +88,7 @@
    }
 
 
-   public Map getMap()
+   public Map<Object,Object> getMap()
    { 
       return this.map ;
    } 

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossClientAuthContext.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossClientAuthContext.java	2007-07-26 06:31:11 UTC (rev 64299)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossClientAuthContext.java	2007-07-26 06:31:31 UTC (rev 64300)
@@ -79,7 +79,7 @@
       while(iter.hasNext())
       {
          status = ((ClientAuthModule)iter.next()).secureRequest(messageInfo,clientSubject);
-         if(status == AuthStatus.FAIL)
+         if(status == AuthStatus.FAILURE)
             break;
       }
       return status;
@@ -97,7 +97,7 @@
       {
          status = ((ClientAuthModule)iter.next()).validateResponse(messageInfo,clientSubject,
                                                                                 serviceSubject);
-         if(status == AuthStatus.FAIL)
+         if(status == AuthStatus.FAILURE)
             break;
       }
       return status;

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossServerAuthConfig.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossServerAuthConfig.java	2007-07-26 06:31:11 UTC (rev 64299)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossServerAuthConfig.java	2007-07-26 06:31:31 UTC (rev 64300)
@@ -21,21 +21,31 @@
   */
 package org.jboss.security.auth.message.config;
 
+import java.lang.reflect.Constructor;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.management.JMException;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
 import javax.security.auth.Subject;
 import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.message.AuthException; 
+import javax.security.auth.message.AuthException;
 import javax.security.auth.message.MessageInfo;
+import javax.security.auth.message.config.AuthConfig;
 import javax.security.auth.message.config.ServerAuthConfig;
 import javax.security.auth.message.config.ServerAuthContext;
+import javax.security.auth.message.module.ServerAuthModule;
 
-//import org.jboss.mx.util.MBeanServerLocator; 
+import org.jboss.security.SecurityConstants;
+import org.jboss.security.SecurityContext;
+import org.jboss.security.auth.callback.SecurityAssociationHandler;
+import org.jboss.security.auth.container.config.AuthModuleEntry;
+import org.jboss.security.auth.container.modules.DelegatingServerAuthModule;
+import org.jboss.security.auth.login.AuthenticationInfo;
+import org.jboss.security.auth.login.BaseAuthenticationInfo;
+import org.jboss.security.auth.login.JASPIAuthenticationInfo;
+import org.jboss.security.config.ApplicationPolicy;
+import org.jboss.security.config.SecurityConfiguration;
 
 //$Id$
 
@@ -77,26 +87,69 @@
          Subject serviceSubject, Map properties) 
    throws AuthException
    { 
-      /*MBeanServer server = MBeanServerLocator.locateJBoss(); 
-      ServerAuthContext sc = null;
-      if(layer.equals(SecurityConstants.SERVLET_LAYER))
-      { 
-         try
+      Map<String,Map> mapOptionsByName = new HashMap<String,Map>();
+      SecurityContext securityContext = SecurityActions.getSecurityContext();
+      String secDomain = securityContext.getSecurityDomain();
+      
+      String defaultAppDomain = SecurityConstants.DEFAULT_APPLICATION_POLICY;
+      //Get the modules from the SecurityConfiguration
+      ApplicationPolicy ap = SecurityConfiguration.getApplicationPolicy(secDomain);
+      if(ap == null)
+      {
+         ap = SecurityConfiguration.getApplicationPolicy(defaultAppDomain);
+      }
+      if(ap == null)
+         throw new IllegalStateException("No Application Policy found");
+      BaseAuthenticationInfo bai = ap.getAuthenticationInfo();
+      if(bai == null)
+         throw new IllegalStateException("Authentication Info not set in security domain="+ secDomain 
+               + " or "+ defaultAppDomain);
+      
+      if(bai instanceof AuthenticationInfo)
+      {
+         //Need to get a wrapper
+         ServerAuthModule sam = new DelegatingServerAuthModule();
+         Map options = new HashMap();
+         options.put("javax.security.auth.login.LoginContext", secDomain); //Name of sec domain
+         sam.initialize(null, null, new SecurityAssociationHandler(), options); 
+         modules.add(sam);
+      }
+      else
+      {
+         JASPIAuthenticationInfo jai = (JASPIAuthenticationInfo)bai;
+         AuthModuleEntry[] amearr = jai.getAuthModuleEntry();
+         for(AuthModuleEntry ame: amearr)
          {
-            ObjectName oname = new ObjectName("jboss.security:service=JASPISecurityManager"); 
-            String securityDomain = (String)server.invoke(oname,"getSecurityDomain", 
-                  new Object[] {contextId}, new String[]{"java.lang.String"});
-            sc = (ServerAuthContext)server.invoke(oname,
-                  "getSecurityManager", 
-                  new Object[] {securityDomain}, new String[]{"java.lang.String"}); 
-         }
-         catch(JMException jme)
-         {
-            throw new AuthException(jme.toString());
-         }
+            if(ame.getLoginModuleStackHolderName() != null)
+            {
+               try
+               {
+                  mapOptionsByName.put(ame.getAuthModuleName(), ame.getOptions());
+                  
+                  modules.add(this.createSAM(ame.getAuthModuleName(), 
+                        ame.getLoginModuleStackHolderName()));
+               }
+               catch (Exception e)
+               {
+                  throw new AuthException(e.getLocalizedMessage());
+               }
+            }
+            else
+            {
+               try
+               {
+                  mapOptionsByName.put(ame.getAuthModuleName(), ame.getOptions());
+                  modules.add(this.createSAM(ame.getAuthModuleName()));
+               }
+               catch (Exception e)
+               {
+                  throw new AuthException(e.getLocalizedMessage());
+               }
+            }
+         } 
       } 
-      return sc;*/
-      throw new RuntimeException("Not Implemented");
+       
+      return new JBossServerAuthContext(modules, mapOptionsByName, this.callbackHandler);
    }
  
    /**
@@ -114,16 +167,9 @@
    {
       return this.layer;
    }
+ 
 
    /**
-    * @see AuthConfig#getOperation(AuthParam)
-    */
-   public String getOperation(MessageInfo authParam)
-   {
-      return null;
-   }
-
-   /**
     * @see AuthConfig#refresh()
     */
    public void refresh() throws AuthException, SecurityException
@@ -138,11 +184,27 @@
 
    public String getAuthContextID(MessageInfo messageInfo)
    {
-      throw new RuntimeException("Not Implemented");
+      return this.contextId;
    }
 
    public boolean isProtected()
    {
       throw new RuntimeException("Not Implemented");
-   } 
+   }  
+
+   private ServerAuthModule createSAM(String name )
+   throws Exception
+   {
+      Class clazz = SecurityActions.getContextClassloader().loadClass(name);
+      Constructor ctr = clazz.getConstructor(new Class[0]);
+      return (ServerAuthModule) ctr.newInstance(new Object[0]);
+   }
+   
+   private ServerAuthModule createSAM(String name, String lmshName )
+   throws Exception
+   {
+      Class clazz = SecurityActions.getContextClassloader().loadClass(name);
+      Constructor ctr = clazz.getConstructor(new Class[]{String.class});
+      return (ServerAuthModule) ctr.newInstance(new Object[]{lmshName});
+   }
 }

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossServerAuthContext.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossServerAuthContext.java	2007-07-26 06:31:11 UTC (rev 64299)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/auth/message/config/JBossServerAuthContext.java	2007-07-26 06:31:31 UTC (rev 64300)
@@ -21,13 +21,17 @@
  */
 package org.jboss.security.auth.message.config;
 
-import java.util.Iterator;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import javax.security.auth.Subject;
-import javax.security.auth.message.AuthException; 
-import javax.security.auth.message.AuthStatus; 
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.message.AuthException;
+import javax.security.auth.message.AuthStatus;
 import javax.security.auth.message.MessageInfo;
+import javax.security.auth.message.ServerAuth;
 import javax.security.auth.message.config.ServerAuthContext;
 import javax.security.auth.message.module.ServerAuthModule;
 
@@ -40,30 +44,32 @@
  *  @version $Revision$
  */
 public class JBossServerAuthContext implements ServerAuthContext
-{ 
-   private JBossServerAuthConfig config = null;
+{  
+   private List<ServerAuthModule> modules = new ArrayList<ServerAuthModule>(); 
    
-   /**
-    * Create a new JBossServerAuthContext.
-    * 
-    * @param config Server Auth Config
-    */
-   public JBossServerAuthContext(JBossServerAuthConfig config)
+   private Map<String,Map> moduleOptionsByName = new HashMap<String,Map>();
+   
+   public JBossServerAuthContext(List<ServerAuthModule> modules,
+         Map<String,Map> moduleNameToOptions, CallbackHandler cbh) throws AuthException
    {
-      if(config == null)
-         throw new IllegalArgumentException("config is null");
-      this.config = config;
+      this.modules = modules;
+      this.moduleOptionsByName = moduleNameToOptions;
+      for(ServerAuthModule sam:modules)
+      {
+         sam.initialize(null, null, cbh, 
+               moduleOptionsByName.get(sam.getClass().getName())); 
+      }
    }
    
+   
    /**
     * @see ServerAuth#cleanSubject(Subject, Map)
     */
    public void cleanSubject(MessageInfo messageInfo, Subject subject) throws AuthException
-   {
-      Iterator iter = config.getServerAuthModules().iterator();
-      while(iter.hasNext())
+   { 
+      for(ServerAuthModule sam:modules)
       {
-         ((ServerAuthModule)iter.next()).cleanSubject(messageInfo,subject);
+         sam.cleanSubject(messageInfo, subject);
       }
    }
    
@@ -71,14 +77,11 @@
     * @see ServerAuth#secureResponse(AuthParam, Subject, Map)
     */
    public AuthStatus secureResponse(MessageInfo messageInfo, Subject serviceSubject) throws AuthException
-   {
-      Iterator iter = config.getServerAuthModules().iterator();
-      AuthStatus status = null;
-      while(iter.hasNext())
+   { 
+      AuthStatus status = null; 
+      for(ServerAuthModule sam:modules)
       {
-         status = ((ServerAuthModule)iter.next()).secureResponse(messageInfo,serviceSubject);
-         if(status == AuthStatus.FAIL)
-            break;
+         status = sam.secureResponse(messageInfo, serviceSubject);
       }
       return status;
    }
@@ -88,13 +91,12 @@
     */
    public AuthStatus validateRequest(MessageInfo messageInfo, Subject clientSubject, 
          Subject serviceSubject) throws AuthException
-   {
-      Iterator iter = config.getServerAuthModules().iterator();
-      AuthStatus status = null;
-      while(iter.hasNext())
-      {
-         status = ((ServerAuthModule)iter.next()).validateRequest(messageInfo, clientSubject,serviceSubject);
-         if(status == AuthStatus.FAIL)
+   { 
+      AuthStatus status = null; 
+      for(ServerAuthModule sam:modules)
+      { 
+         status = sam.validateRequest(messageInfo, clientSubject, serviceSubject);
+         if(status == AuthStatus.FAILURE)
             break;
       }
       return status;

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/authorization/config/AuthorizationModuleEntry.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/authorization/config/AuthorizationModuleEntry.java	2007-07-26 06:31:11 UTC (rev 64299)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/authorization/config/AuthorizationModuleEntry.java	2007-07-26 06:31:31 UTC (rev 64300)
@@ -38,7 +38,7 @@
 {
    private String policyModuleName;
    private ControlFlag controlFlag; 
-   private Map options = null;
+   private Map options = new HashMap();
    
    /** 
     * Create a new AuthorizationModuleEntry.
@@ -63,9 +63,7 @@
    }
    
    public void add(ModuleOption option)
-   {
-      if(options == null)
-         options = new HashMap();
+   { 
       options.put(option.getName(), option.getValue());
    }
 

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/authorization/config/SecurityConfigObjectModelFactory.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/authorization/config/SecurityConfigObjectModelFactory.java	2007-07-26 06:31:11 UTC (rev 64299)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/authorization/config/SecurityConfigObjectModelFactory.java	2007-07-26 06:31:31 UTC (rev 64300)
@@ -22,12 +22,16 @@
 package org.jboss.security.authorization.config;
  
 import org.jboss.logging.Logger;
+import org.jboss.security.audit.config.AuditProviderEntry;
 import org.jboss.security.auth.login.LoginConfigObjectModelFactory;
 import org.jboss.security.auth.login.ModuleOption;
 import org.jboss.security.authorization.config.AuthorizationModuleEntry.ControlFlag;
 import org.jboss.security.config.ApplicationPolicy;
+import org.jboss.security.config.AuditInfo;
 import org.jboss.security.config.AuthorizationInfo;
+import org.jboss.security.config.IdentityTrustInfo;
 import org.jboss.security.config.MappingInfo; 
+import org.jboss.security.identitytrust.config.IdentityTrustModuleEntry;
 import org.jboss.security.mapping.config.MappingModuleEntry;
 import org.jboss.util.StringPropertyReplacer;
 import org.jboss.xb.binding.UnmarshallingContext;
@@ -64,6 +68,18 @@
             mi.setName(aPolicy.getName());
             child = mi;  
          }
+         else
+            if(child == null && "audit".equals(localName))
+            {
+               AuditInfo ai = new AuditInfo(aPolicy.getName());
+               child = ai;
+            }
+            else
+               if(child == null && "identity-trust".equals(localName))
+               {
+                  IdentityTrustInfo ai = new IdentityTrustInfo(aPolicy.getName());
+                  child = ai;
+               }
       return child;
    }
    
@@ -217,4 +233,124 @@
    {
       authInfo.add(entry); 
    } 
+   
+   //Audit Info
+   public Object newChild(AuditInfo info, UnmarshallingContext navigator,
+         String namespaceUri, String localName, Attributes attrs)
+   {
+      Object child = null;
+      if( trace )
+         log.trace("newChild.AuditInfo, localName: "+localName);
+      if("provider-module".equals(localName))
+      {
+         String code = attrs.getValue("code");
+         code = StringPropertyReplacer.replaceProperties(code.trim()); 
+         AuditProviderEntry entry = new AuditProviderEntry(code);  
+         child = entry;
+         if( trace )
+            log.trace("newChild.AuditInfo, provider-module code: "+code);
+      }
+      
+      return child;
+   }
+   
+   public Object newChild(AuditProviderEntry entry, 
+         UnmarshallingContext navigator,
+         String namespaceUri, String localName, Attributes attrs)
+   {
+      Object child = null;
+      if( trace )
+         log.trace("newChild.AuditProviderEntry, localName: "+localName);
+      if("module-option".equals(localName))
+      {
+         String name = attrs.getValue("name");         
+         child = new ModuleOption(name);
+         if( trace )
+            log.trace("newChild.AuditProviderEntry, module-option name: "+name);
+      }
+      
+      return child;
+   }  
+   
+   public void addChild(ApplicationPolicy aPolicy, AuditInfo auditInfo,
+         UnmarshallingContext navigator, String namespaceURI, String localName)
+   {
+      aPolicy.setAuditInfo(auditInfo) ;
+      if(trace)
+         log.trace("addChild.ApplicationPolicy, name: " + aPolicy.getName());
+   } 
+   
+   public void addChild(AuditProviderEntry entry , ModuleOption option,
+         UnmarshallingContext navigator, String namespaceURI, String localName)
+   {
+      entry.add(option);
+      if( trace )
+         log.trace("addChild.MappingModuleEntry, name: "+option.getName());
+   }
+   
+   public void addChild(AuditInfo auditInfo, AuditProviderEntry entry ,
+         UnmarshallingContext navigator, String namespaceURI, String localName)
+   {
+      auditInfo.add(entry); 
+   } 
+   
+   //Identity Trust 
+   public Object newChild(IdentityTrustInfo info, UnmarshallingContext navigator,
+         String namespaceUri, String localName, Attributes attrs)
+   {
+      Object child = null;
+      if( trace )
+         log.trace("newChild.AuditInfo, localName: "+localName);
+      if("trust-module".equals(localName))
+      {
+         String code = attrs.getValue("code");
+         code = StringPropertyReplacer.replaceProperties(code.trim()); 
+         IdentityTrustModuleEntry entry = new IdentityTrustModuleEntry(code);  
+         child = entry;
+         if( trace )
+            log.trace("newChild.AuditInfo, provider-module code: "+code);
+      }
+      
+      return child;
+   }
+   
+   public Object newChild(IdentityTrustModuleEntry entry, 
+         UnmarshallingContext navigator,
+         String namespaceUri, String localName, Attributes attrs)
+   {
+      Object child = null;
+      if( trace )
+         log.trace("newChild.AuditProviderEntry, localName: "+localName);
+      if("module-option".equals(localName))
+      {
+         String name = attrs.getValue("name");         
+         child = new ModuleOption(name);
+         if( trace )
+            log.trace("newChild.AuditProviderEntry, module-option name: "+name);
+      }
+      
+      return child;
+   }  
+   
+   public void addChild(ApplicationPolicy aPolicy, IdentityTrustInfo auditInfo,
+         UnmarshallingContext navigator, String namespaceURI, String localName)
+   {
+      aPolicy.setIdentityTrustInfo(auditInfo) ;
+      if(trace)
+         log.trace("addChild.ApplicationPolicy, name: " + aPolicy.getName());
+   } 
+   
+   public void addChild(IdentityTrustModuleEntry entry , ModuleOption option,
+         UnmarshallingContext navigator, String namespaceURI, String localName)
+   {
+      entry.add(option);
+      if( trace )
+         log.trace("addChild.MappingModuleEntry, name: "+option.getName());
+   }
+   
+   public void addChild(IdentityTrustInfo auditInfo, IdentityTrustModuleEntry entry ,
+         UnmarshallingContext navigator, String namespaceURI, String localName)
+   {
+      auditInfo.add(entry); 
+   } 
 }

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/mapping/config/MappingModuleEntry.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/mapping/config/MappingModuleEntry.java	2007-07-26 06:31:11 UTC (rev 64299)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/mapping/config/MappingModuleEntry.java	2007-07-26 06:31:31 UTC (rev 64300)
@@ -37,7 +37,7 @@
 public class MappingModuleEntry
 {
    private String mappingModuleName; 
-   private Map options = null;
+   private Map options = new HashMap();
    
    /** 
     * Create a new MappingModuleEntry.
@@ -62,9 +62,7 @@
    }
    
    public void add(ModuleOption option)
-   {
-      if(options == null)
-         options = new HashMap();
+   { 
       options.put(option.getName(), option.getValue());
    }
 

Modified: projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/audit/JBossAuditManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/audit/JBossAuditManager.java	2007-07-26 06:31:11 UTC (rev 64299)
+++ projects/security/security-jboss-sx/trunk/src/main/org/jboss/security/plugins/audit/JBossAuditManager.java	2007-07-26 06:31:31 UTC (rev 64300)
@@ -6,7 +6,8 @@
  */ 
 package org.jboss.security.plugins.audit;
 
-import java.security.PrivilegedActionException;
+import java.security.PrivilegedActionException; 
+import java.util.Arrays;
 import java.util.List;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -60,9 +61,9 @@
          {
             AuditInfo ai = ap.getAuditInfo();
             if(ai != null)
-            { 
-               ClassLoader cl = SecurityActions.getContextClassLoader();
-               List<AuditProviderEntry> list = ai.get();
+            {  
+               AuditProviderEntry[] apeArr = ai.getAuditProviderEntry();
+               List<AuditProviderEntry> list = Arrays.asList(apeArr);
                for(AuditProviderEntry ape:list)
                {
                   String pname = ape.getName();




More information about the jboss-cvs-commits mailing list