You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2010/04/30 20:26:47 UTC

svn commit: r939768 - in /geronimo/components/jaspi/trunk/geronimo-jaspi/src: main/java/org/apache/geronimo/components/jaspi/ main/java/org/apache/geronimo/components/jaspi/model/ test/java/org/apache/geronimo/components/jaspi/ test/java/org/apache/ger...

Author: djencks
Date: Fri Apr 30 18:26:46 2010
New Revision: 939768

URL: http://svn.apache.org/viewvc?rev=939768&view=rev
Log:
GERONIMO-5280 use ProviderLocator, not ClassLoaderLookup, for loading external classes

Added:
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/ConfigException.java   (with props)
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/JaspicUtil.java   (with props)
Removed:
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/ClassLoaderLookup.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/ConstantClassLoaderLookup.java
Modified:
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/AuthConfigFactoryImpl.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/AuthModuleType.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ClientAuthConfigType.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ClientAuthContextType.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ConfigProviderType.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiType.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiUtil.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiXmlUtil.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/KeyedObject.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/KeyedObjectMapAdapter.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/MessagePolicyType.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ProtectionPolicyType.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ServerAuthConfigType.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ServerAuthContextType.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/StringMapAdapter.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/TargetPolicyType.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/TargetType.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/test/java/org/apache/geronimo/components/jaspi/AuthConfigFactoryImplTest.java
    geronimo/components/jaspi/trunk/geronimo-jaspi/src/test/java/org/apache/geronimo/components/jaspi/model/JaxbTest.java

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/AuthConfigFactoryImpl.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/AuthConfigFactoryImpl.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/AuthConfigFactoryImpl.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/AuthConfigFactoryImpl.java Fri Apr 30 18:26:46 2010
@@ -51,7 +51,6 @@ public class AuthConfigFactoryImpl exten
     private static ClassLoader contextClassLoader;
     private JaspiType jaspiType = new JaspiType();
 
-    private final ClassLoaderLookup classLoaderLookup;
     private final CallbackHandler callbackHandler;
     private final File configFile;
 
@@ -64,16 +63,15 @@ public class AuthConfigFactoryImpl exten
                 });
     }
 
-    public AuthConfigFactoryImpl(ClassLoaderLookup classLoaderLookup, CallbackHandler callbackHandler, File configFile) {
-        JaspiXmlUtil.initialize(classLoaderLookup, callbackHandler);
-        this.classLoaderLookup = classLoaderLookup;
+    public AuthConfigFactoryImpl(CallbackHandler callbackHandler, File configFile) {
+        JaspiXmlUtil.initialize(callbackHandler);
         this.callbackHandler = callbackHandler;
         this.configFile = configFile;
         loadConfig();
     }
 
     public AuthConfigFactoryImpl() {
-        this(new ConstantClassLoaderLookup(contextClassLoader), staticCallbackHandler, getConfigFile());
+        this(staticCallbackHandler, getConfigFile());
     }
 
     private static File getConfigFile() {
@@ -202,7 +200,7 @@ public class AuthConfigFactoryImpl exten
             }
             ctx.setClassName(className);
             ctx.setProperties(constructorParam);
-            ctx.initialize(classLoaderLookup, callbackHandler);
+            ctx.initialize(callbackHandler);
         } else {
             if (provider == null) {
                 throw new IllegalStateException("No config provider to set");

Added: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/ConfigException.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/ConfigException.java?rev=939768&view=auto
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/ConfigException.java (added)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/ConfigException.java Fri Apr 30 18:26:46 2010
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+package org.apache.geronimo.components.jaspi;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ConfigException extends Exception {
+
+    public ConfigException() {
+        super();
+    }
+
+    public ConfigException(String s) {
+        super(s);
+    }
+
+    public ConfigException(String s, Throwable throwable) {
+        super(s, throwable);
+    }
+
+    public ConfigException(Throwable throwable) {
+        super(throwable);
+    }
+}

Propchange: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/ConfigException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/ConfigException.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/ConfigException.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/JaspicUtil.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/JaspicUtil.java?rev=939768&view=auto
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/JaspicUtil.java (added)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/JaspicUtil.java Fri Apr 30 18:26:46 2010
@@ -0,0 +1,118 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+package org.apache.geronimo.components.jaspi;
+
+import java.io.Reader;
+
+import javax.security.auth.message.AuthException;
+import javax.security.auth.message.config.AuthConfigFactory;
+import javax.security.auth.message.config.AuthConfigProvider;
+import javax.security.auth.message.module.ClientAuthModule;
+import javax.security.auth.message.module.ServerAuthModule;
+import org.apache.geronimo.components.jaspi.model.AuthModuleType;
+import org.apache.geronimo.components.jaspi.model.ClientAuthConfigType;
+import org.apache.geronimo.components.jaspi.model.ClientAuthContextType;
+import org.apache.geronimo.components.jaspi.model.ConfigProviderType;
+import org.apache.geronimo.components.jaspi.model.JaspiUtil;
+import org.apache.geronimo.components.jaspi.model.JaspiXmlUtil;
+import org.apache.geronimo.components.jaspi.model.ServerAuthConfigType;
+import org.apache.geronimo.components.jaspi.model.ServerAuthContextType;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class JaspicUtil {
+
+    private JaspicUtil() {
+    }
+
+    public static String registerAuthConfigProvider(Reader config, String messageLayer, String appContext) throws ConfigException {
+        try {
+            ConfigProviderType configProviderType = JaspiXmlUtil.loadConfigProvider(config);
+            AuthConfigProvider authConfigProvider = JaspiUtil.wrapAuthConfigProvider(configProviderType);
+            return AuthConfigFactory.getFactory().registerConfigProvider(authConfigProvider, messageLayer, appContext, null);
+        } catch (Exception e) {
+            throw new ConfigException(e);
+        }
+    }
+
+    public static String registerClientAuthConfig(Reader config) throws ConfigException {
+        try {
+            ClientAuthConfigType clientAuthConfigType = JaspiXmlUtil.loadClientAuthConfig(config);
+            AuthConfigProvider authConfigProvider = JaspiUtil.wrapClientAuthConfig(clientAuthConfigType);
+            return AuthConfigFactory.getFactory().registerConfigProvider(authConfigProvider, clientAuthConfigType.getMessageLayer(), clientAuthConfigType.getAppContext(), null);
+        } catch (Exception e) {
+            throw new ConfigException(e);
+        }
+    }
+
+    public static String registerClientAuthContext(Reader config, boolean _protected) throws ConfigException {
+        try {
+            ClientAuthContextType clientAuthContextType = JaspiXmlUtil.loadClientAuthContext(config);
+            AuthConfigProvider authConfigProvider = JaspiUtil.wrapClientAuthContext(clientAuthContextType, _protected);
+            return AuthConfigFactory.getFactory().registerConfigProvider(authConfigProvider, clientAuthContextType.getMessageLayer(), clientAuthContextType.getAppContext(), null);
+        } catch (Exception e) {
+            throw new ConfigException(e);
+        }
+    }
+
+    public static String registerClientAuthModule(String messageLayer, String appContext, String authenticationContextID, Reader config, boolean _protected) throws ConfigException {
+        try {
+            AuthModuleType<ClientAuthModule> clientAuthModuleType = JaspiXmlUtil.loadClientAuthModule(config);
+            AuthConfigProvider authConfigProvider = JaspiUtil.wrapClientAuthModule(messageLayer, appContext, authenticationContextID, clientAuthModuleType, _protected);
+            return AuthConfigFactory.getFactory().registerConfigProvider(authConfigProvider, messageLayer, appContext, null);
+        } catch (Exception e) {
+            throw new ConfigException(e);
+        }
+    }
+
+
+    public static String registerServerAuthConfig(Reader config) throws ConfigException {
+        try {
+            ServerAuthConfigType serverAuthConfigType = JaspiXmlUtil.loadServerAuthConfig(config);
+            AuthConfigProvider authConfigProvider = JaspiUtil.wrapServerAuthConfig(serverAuthConfigType);
+            return AuthConfigFactory.getFactory().registerConfigProvider(authConfigProvider, serverAuthConfigType.getMessageLayer(), serverAuthConfigType.getAppContext(), null);
+        } catch (Exception e) {
+            throw new ConfigException(e);
+        }
+    }
+
+    public static String registerServerAuthContext(Reader config, boolean _protected) throws ConfigException {
+        try {
+            ServerAuthContextType serverAuthContextType = JaspiXmlUtil.loadServerAuthContext(config);
+            AuthConfigProvider authConfigProvider = JaspiUtil.wrapServerAuthContext(serverAuthContextType, _protected);
+            return AuthConfigFactory.getFactory().registerConfigProvider(authConfigProvider, serverAuthContextType.getMessageLayer(), serverAuthContextType.getAppContext(), null);
+        } catch (Exception e) {
+            throw new ConfigException(e);
+        }
+    }
+
+    public static String registerServerAuthModule(String messageLayer, String appContext, String authenticationContextID, Reader config, boolean _protected) throws ConfigException {
+        try {
+            AuthModuleType<ServerAuthModule> serverAuthModuleType = JaspiXmlUtil.loadServerAuthModule(config);
+            AuthConfigProvider authConfigProvider = JaspiUtil.wrapServerAuthModule(messageLayer, appContext, authenticationContextID, serverAuthModuleType, _protected);
+            return AuthConfigFactory.getFactory().registerConfigProvider(authConfigProvider, messageLayer, appContext, null);
+        } catch (Exception e) {
+            throw new ConfigException(e);
+        }
+    }
+
+}

Propchange: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/JaspicUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/JaspicUtil.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/JaspicUtil.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/AuthModuleType.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/AuthModuleType.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/AuthModuleType.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/AuthModuleType.java Fri Apr 30 18:26:46 2010
@@ -24,7 +24,13 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
-import org.apache.geronimo.components.jaspi.ClassLoaderLookup;
+import java.io.Serializable;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+import java.util.Map;
 
 import javax.security.auth.callback.CallbackHandler;
 import javax.security.auth.message.AuthException;
@@ -34,13 +40,7 @@ import javax.xml.bind.annotation.XmlAcce
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import java.io.Serializable;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-import java.util.Map;
+import org.apache.geronimo.osgi.locator.ProviderLocator;
 
 
 /**
@@ -190,19 +190,18 @@ public class AuthModuleType<T>
         this.classLoaderName = classLoaderName;
     }
 
-    public T newAuthModule(final ClassLoaderLookup classLoaderLookup, final CallbackHandler callbackHandler) throws AuthException {
-        final ClassLoader classLoader = classLoaderLookup.getClassLoader(classLoaderName);
+    public T newAuthModule(final CallbackHandler callbackHandler) throws AuthException {
         T authModule;
         try {
             authModule = java.security.AccessController
             .doPrivileged(new PrivilegedExceptionAction<T>() {
                 public T run() throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException, AuthException {
-                    Class<? extends T> cl = (Class<? extends T>) Class.forName(className, true, classLoader);
+                    Class<? extends T> cl = (Class<? extends T>) ProviderLocator.loadClass(className, getClass(), Thread.currentThread().getContextClassLoader());
                     Constructor<? extends T> cnst = cl.getConstructor();
                     T authModule = cnst.newInstance();
                     Method m = cl.getMethod("initialize", MessagePolicy.class, MessagePolicy.class, CallbackHandler.class, Map.class);
-                    MessagePolicy reqPolicy = requestPolicy == null? null:requestPolicy.newMessagePolicy(classLoader);
-                    MessagePolicy respPolicy = responsePolicy == null? null: responsePolicy.newMessagePolicy(classLoader);
+                    MessagePolicy reqPolicy = requestPolicy == null? null:requestPolicy.newMessagePolicy();
+                    MessagePolicy respPolicy = responsePolicy == null? null: responsePolicy.newMessagePolicy();
                     m.invoke(authModule, reqPolicy, respPolicy, callbackHandler, options);
                     return authModule;
                 }

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ClientAuthConfigType.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ClientAuthConfigType.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ClientAuthConfigType.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ClientAuthConfigType.java Fri Apr 30 18:26:46 2010
@@ -24,7 +24,10 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
-import org.apache.geronimo.components.jaspi.ClassLoaderLookup;
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
 
 import javax.security.auth.Subject;
 import javax.security.auth.callback.CallbackHandler;
@@ -37,10 +40,6 @@ import javax.xml.bind.annotation.XmlAcce
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
 
 
 /**
@@ -243,18 +242,18 @@ public class ClientAuthConfigType
         return ConfigProviderType.getRegistrationKey(messageLayer, appContext);
     }
 
-    public void initialize(ClassLoaderLookup classLoaderLookup, CallbackHandler callbackHandler) throws AuthException {
+    public void initialize(CallbackHandler callbackHandler) throws AuthException {
     }
 
     public boolean isPersistent() {
         return true;
     }
 
-    public ClientAuthConfig newClientAuthConfig(String messageLayer, String appContext, ClassLoaderLookup classLoaderLookup, CallbackHandler callbackHandler) throws AuthException {
+    public ClientAuthConfig newClientAuthConfig(String messageLayer, String appContext, CallbackHandler callbackHandler) throws AuthException {
         Map<String, ClientAuthContext> authContextMap = new HashMap<String, ClientAuthContext>();
         for (ClientAuthContextType clientAuthContextType: getClientAuthContext().values()) {
             if (clientAuthContextType.match(messageLayer, appContext)) {
-                ClientAuthContext clientAuthContext = clientAuthContextType.newClientAuthContext(classLoaderLookup, callbackHandler);
+                ClientAuthContext clientAuthContext = clientAuthContextType.newClientAuthContext(callbackHandler);
                 String authContextID = clientAuthContextType.getAuthenticationContextID();
                 if (authContextID == null) {
                     authContextID = getAuthenticationContextID();

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ClientAuthContextType.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ClientAuthContextType.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ClientAuthContextType.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ClientAuthContextType.java Fri Apr 30 18:26:46 2010
@@ -24,7 +24,10 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
-import org.apache.geronimo.components.jaspi.ClassLoaderLookup;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 
 import javax.security.auth.Subject;
 import javax.security.auth.callback.CallbackHandler;
@@ -37,10 +40,6 @@ import javax.xml.bind.annotation.XmlAcce
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
 
 
 /**
@@ -191,17 +190,17 @@ public class ClientAuthContextType
         return ConfigProviderType.getRegistrationKey(messageLayer, appContext);
     }
 
-    public void initialize(ClassLoaderLookup classLoaderLookup, CallbackHandler callbackHandler) throws AuthException {
+    public void initialize(CallbackHandler callbackHandler) throws AuthException {
     }
 
     public boolean isPersistent() {
         return true;
     }
 
-    public ClientAuthContext newClientAuthContext(ClassLoaderLookup classLoaderLookup, CallbackHandler callbackHandler) throws AuthException {
+    public ClientAuthContext newClientAuthContext(CallbackHandler callbackHandler) throws AuthException {
         List<ClientAuthModule> clientAuthModules = new ArrayList<ClientAuthModule>();
         for (AuthModuleType<ClientAuthModule> clientAuthModuleType: clientAuthModule) {
-            ClientAuthModule instance = clientAuthModuleType.newAuthModule(classLoaderLookup, callbackHandler);
+            ClientAuthModule instance = clientAuthModuleType.newAuthModule(callbackHandler);
             clientAuthModules.add(instance);
         }
         return new ClientAuthContextImpl(clientAuthModules);

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ConfigProviderType.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ConfigProviderType.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ConfigProviderType.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ConfigProviderType.java Fri Apr 30 18:26:46 2010
@@ -24,13 +24,6 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
-import org.apache.geronimo.components.jaspi.ClassLoaderLookup;
-
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.message.AuthException;
-import javax.security.auth.message.config.*;
-import javax.xml.bind.annotation.*;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import java.io.Serializable;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
@@ -41,6 +34,21 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.message.AuthException;
+import javax.security.auth.message.config.AuthConfigFactory;
+import javax.security.auth.message.config.AuthConfigProvider;
+import javax.security.auth.message.config.ClientAuthConfig;
+import javax.security.auth.message.config.RegistrationListener;
+import javax.security.auth.message.config.ServerAuthConfig;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlTransient;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import org.apache.geronimo.osgi.locator.ProviderLocator;
+
 
 /**
  * <p>Java class for configProviderType complex type.
@@ -347,16 +355,15 @@ public class ConfigProviderType
         this.classLoaderName = classLoaderName;
     }
 
-    public void initialize(ClassLoaderLookup classLoaderLookup, CallbackHandler callbackHandler) {
+    public void initialize(CallbackHandler callbackHandler) {
         if (className == null) {
-            provider = new ConfigProviderImpl(getClientAuthConfig(), getServerAuthConfig(), classLoaderLookup);
+            provider = new ConfigProviderImpl(getClientAuthConfig(), getServerAuthConfig());
         } else {
-            final ClassLoader classLoader = classLoaderLookup.getClassLoader(classLoaderName);
             try {
                 provider = java.security.AccessController
                 .doPrivileged(new PrivilegedExceptionAction<AuthConfigProvider>() {
                     public AuthConfigProvider run() throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException {
-                        Class<? extends AuthConfigProvider> cl = Class.forName(className, true, classLoader).asSubclass(AuthConfigProvider.class);
+                        Class<? extends AuthConfigProvider> cl = ProviderLocator.loadClass(className, getClass(), Thread.currentThread().getContextClassLoader()).asSubclass(AuthConfigProvider.class);
                         Constructor<? extends AuthConfigProvider> cnst = cl.getConstructor(Map.class, AuthConfigFactory.class);
                         return cnst.newInstance(properties, authConfigFactory);
                     }
@@ -385,13 +392,10 @@ public class ConfigProviderType
 
     public static class ConfigProviderImpl implements AuthConfigProvider {
 
-//        private final ConfigProviderType configProviderType;
-        private final ClassLoaderLookup classLoaderLookup;
         private final Map<String, ClientAuthConfigType> clientConfigTypeMap;
         private final Map<String, ServerAuthConfigType> serverAuthConfigMap;
 
-        public ConfigProviderImpl(Map<String, ClientAuthConfigType> clientConfigTypeMap, Map<String, ServerAuthConfigType> serverAuthConfigMap, ClassLoaderLookup classLoaderLookup) {
-            this.classLoaderLookup = classLoaderLookup;
+        public ConfigProviderImpl(Map<String, ClientAuthConfigType> clientConfigTypeMap, Map<String, ServerAuthConfigType> serverAuthConfigMap) {
             this.clientConfigTypeMap = clientConfigTypeMap;
             this.serverAuthConfigMap = serverAuthConfigMap;
         }
@@ -424,7 +428,7 @@ public class ConfigProviderType
             }
             if (ctx != null) {
                 
-                return ctx.newClientAuthConfig(layer, appContext, classLoaderLookup, handler);
+                return ctx.newClientAuthConfig(layer, appContext, handler);
             }
             throw new AuthException("No suitable ClientAuthConfig");
         }
@@ -448,7 +452,7 @@ public class ConfigProviderType
             }
             if (ctx != null) {
 
-                return ctx.newServerAuthConfig(layer, appContext, classLoaderLookup, handler);
+                return ctx.newServerAuthConfig(layer, appContext, handler);
             }
             throw new AuthException("No suitable ServerAuthConfig");
         }

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiType.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiType.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiType.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiType.java Fri Apr 30 18:26:46 2010
@@ -24,13 +24,14 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
 
 
 /**

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiUtil.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiUtil.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiUtil.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiUtil.java Fri Apr 30 18:26:46 2010
@@ -20,14 +20,13 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
-import org.apache.geronimo.components.jaspi.ClassLoaderLookup;
+import java.util.Collections;
+import java.util.Map;
 
 import javax.security.auth.message.AuthException;
 import javax.security.auth.message.config.AuthConfigProvider;
 import javax.security.auth.message.module.ClientAuthModule;
 import javax.security.auth.message.module.ServerAuthModule;
-import java.util.Collections;
-import java.util.Map;
 
 /**
  * Convenience methods to wrap various jaspi objects into AuthConfigProvider instances, ready to be registered.
@@ -38,39 +37,39 @@ public class JaspiUtil {
     private JaspiUtil() {
     }
 
-    public static AuthConfigProvider wraptAuthConfigProvider(ConfigProviderType configProviderType, ClassLoaderLookup classLoaderLookup) {
-        return new ConfigProviderType.ConfigProviderImpl(configProviderType.getClientAuthConfig(), configProviderType.getServerAuthConfig(), classLoaderLookup);
+    public static AuthConfigProvider wrapAuthConfigProvider(ConfigProviderType configProviderType) {
+        return new ConfigProviderType.ConfigProviderImpl(configProviderType.getClientAuthConfig(), configProviderType.getServerAuthConfig());
     }
 
-    public static AuthConfigProvider wrapClientAuthConfig(ClientAuthConfigType clientAuthConfigType, ClassLoaderLookup classLoaderLookup) throws AuthException {
+    public static AuthConfigProvider wrapClientAuthConfig(ClientAuthConfigType clientAuthConfigType) throws AuthException {
         Map<String, ClientAuthConfigType> clientAuthConfig = Collections.singletonMap(clientAuthConfigType.getKey(), clientAuthConfigType);
-        return new ConfigProviderType.ConfigProviderImpl(clientAuthConfig, Collections.<String, ServerAuthConfigType>emptyMap(), classLoaderLookup);
+        return new ConfigProviderType.ConfigProviderImpl(clientAuthConfig, Collections.<String, ServerAuthConfigType>emptyMap());
     }
 
-    public static AuthConfigProvider wrapClientAuthContext(ClientAuthContextType clientAuthContextType, boolean _protected, ClassLoaderLookup classLoaderLookup) throws AuthException {
+    public static AuthConfigProvider wrapClientAuthContext(ClientAuthContextType clientAuthContextType, boolean _protected) throws AuthException {
         ClientAuthConfigType clientAuthConfigType = new ClientAuthConfigType(clientAuthContextType, _protected);
-        return wrapClientAuthConfig(clientAuthConfigType, classLoaderLookup);
+        return wrapClientAuthConfig(clientAuthConfigType);
     }
 
-    public static AuthConfigProvider wrapClientAuthModule(String messageLayer, String appContext, String authenticationContextID, AuthModuleType<ClientAuthModule> clientAuthModuleType, boolean _protected, ClassLoaderLookup classLoaderLookup) throws AuthException {
+    public static AuthConfigProvider wrapClientAuthModule(String messageLayer, String appContext, String authenticationContextID, AuthModuleType<ClientAuthModule> clientAuthModuleType, boolean _protected) throws AuthException {
         ClientAuthContextType clientAuthContextType = new ClientAuthContextType(messageLayer, appContext, authenticationContextID, clientAuthModuleType);
-        return wrapClientAuthContext(clientAuthContextType, _protected, classLoaderLookup);
+        return wrapClientAuthContext(clientAuthContextType, _protected);
     }
 
 
-    public static AuthConfigProvider wrapServerAuthConfig(ServerAuthConfigType serverAuthConfigType, ClassLoaderLookup classLoaderLookup) throws AuthException {
+    public static AuthConfigProvider wrapServerAuthConfig(ServerAuthConfigType serverAuthConfigType) throws AuthException {
         Map<String, ServerAuthConfigType> serverAuthConfig = Collections.singletonMap(serverAuthConfigType.getKey(), serverAuthConfigType);
-        return new ConfigProviderType.ConfigProviderImpl(Collections.<String, ClientAuthConfigType>emptyMap(), serverAuthConfig, classLoaderLookup);
+        return new ConfigProviderType.ConfigProviderImpl(Collections.<String, ClientAuthConfigType>emptyMap(), serverAuthConfig);
     }
 
-    public static AuthConfigProvider wrapServerAuthContext(ServerAuthContextType serverAuthContextType, boolean _protected, ClassLoaderLookup classLoaderLookup) throws AuthException {
+    public static AuthConfigProvider wrapServerAuthContext(ServerAuthContextType serverAuthContextType, boolean _protected) throws AuthException {
         ServerAuthConfigType serverAuthConfigType = new ServerAuthConfigType(serverAuthContextType, _protected);
-        return wrapServerAuthConfig(serverAuthConfigType, classLoaderLookup);
+        return wrapServerAuthConfig(serverAuthConfigType);
     }
 
-    public static AuthConfigProvider wrapServerAuthModule(String messageLayer, String appContext, String authenticationContextID, AuthModuleType<ServerAuthModule> serverAuthModuleType, boolean _protected, ClassLoaderLookup classLoaderLookup) throws AuthException {
+    public static AuthConfigProvider wrapServerAuthModule(String messageLayer, String appContext, String authenticationContextID, AuthModuleType<ServerAuthModule> serverAuthModuleType, boolean _protected) throws AuthException {
         ServerAuthContextType serverAuthContextType = new ServerAuthContextType(messageLayer, appContext, authenticationContextID, serverAuthModuleType);
-        return wrapServerAuthContext(serverAuthContextType, _protected, classLoaderLookup);
+        return wrapServerAuthContext(serverAuthContextType, _protected);
     }
 
 }

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiXmlUtil.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiXmlUtil.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiXmlUtil.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/JaspiXmlUtil.java Fri Apr 30 18:26:46 2010
@@ -20,21 +20,24 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
-import org.apache.geronimo.components.jaspi.ClassLoaderLookup;
-import org.xml.sax.SAXException;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.Collections;
 
 import javax.security.auth.callback.CallbackHandler;
 import javax.security.auth.message.module.ClientAuthModule;
 import javax.security.auth.message.module.ServerAuthModule;
-import javax.xml.bind.*;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.Collections;
+import org.xml.sax.SAXException;
 
 /**
  * @version $Rev$ $Date$
@@ -54,9 +57,7 @@ public class JaspiXmlUtil {
         }
     }
 
-    public static void initialize(ClassLoaderLookup classLoaderLookup, CallbackHandler callbackHandler) {
-//        configProviderMapAdapter = new KeyedObjectMapAdapter<ConfigProviderType>(classLoaderLookup, callbackHandler, ConfigProviderType.class);
-        KeyedObjectMapAdapter.staticClassLoaderLookup = classLoaderLookup;
+    public static void initialize(CallbackHandler callbackHandler) {
         KeyedObjectMapAdapter.staticCallbackHandler = callbackHandler;
     }
 

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/KeyedObject.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/KeyedObject.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/KeyedObject.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/KeyedObject.java Fri Apr 30 18:26:46 2010
@@ -20,8 +20,6 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
-import org.apache.geronimo.components.jaspi.ClassLoaderLookup;
-
 import javax.security.auth.callback.CallbackHandler;
 import javax.security.auth.message.AuthException;
 
@@ -30,6 +28,6 @@ import javax.security.auth.message.AuthE
  */
 public interface KeyedObject {
     String getKey();
-    void initialize(ClassLoaderLookup classLoaderLookup, CallbackHandler callbackHandler) throws AuthException;
+    void initialize(CallbackHandler callbackHandler) throws AuthException;
     boolean isPersistent();
 }

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/KeyedObjectMapAdapter.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/KeyedObjectMapAdapter.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/KeyedObjectMapAdapter.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/KeyedObjectMapAdapter.java Fri Apr 30 18:26:46 2010
@@ -20,43 +20,30 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
-import org.apache.geronimo.components.jaspi.ClassLoaderLookup;
-import org.apache.geronimo.components.jaspi.ConstantClassLoaderLookup;
-
-import javax.security.auth.callback.CallbackHandler;
-import javax.xml.bind.annotation.adapters.XmlAdapter;
 import java.lang.reflect.Array;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import javax.security.auth.callback.CallbackHandler;
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+
 /**
  * @version $Rev$ $Date$
  */
 public class KeyedObjectMapAdapter<T extends KeyedObject> extends XmlAdapter<T[], Map<String, T>> {
-    public static ClassLoaderLookup staticClassLoaderLookup;
     public static CallbackHandler staticCallbackHandler;
-    private final ClassLoaderLookup classLoaderLookup;
     private final CallbackHandler callbackHandler;
     private final Class<T> type;
 
-    public KeyedObjectMapAdapter(ClassLoaderLookup classLoaderLookup, CallbackHandler callbackHandler, Class<T> type) {
-        this.classLoaderLookup = classLoaderLookup;
+    public KeyedObjectMapAdapter(CallbackHandler callbackHandler, Class<T> type) {
         this.callbackHandler = callbackHandler;
         this.type = type;
     }
 
     public KeyedObjectMapAdapter(Class<T> type) {
-        if (staticClassLoaderLookup != null) {
-            this.classLoaderLookup = staticClassLoaderLookup;
-        } else {
-            ClassLoader testLoader = Thread.currentThread().getContextClassLoader();
-            final ClassLoader cl = testLoader == null ? KeyedObjectMapAdapter.class.getClassLoader() : testLoader;
-            classLoaderLookup = new ConstantClassLoaderLookup(cl);
-        }
-        this.type = type;
-        callbackHandler = staticCallbackHandler;
+        this(staticCallbackHandler, type);
     }
 
     public Map<String, T> unmarshal(T[] configProviderTypes) throws Exception {
@@ -66,7 +53,7 @@ public class KeyedObjectMapAdapter<T ext
                 if (configProviderType != null) {
                     String key = configProviderType.getKey();
                     map.put(key, configProviderType);
-                    configProviderType.initialize(classLoaderLookup, callbackHandler);
+                    configProviderType.initialize(callbackHandler);
                 }
             }
         }

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/MessagePolicyType.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/MessagePolicyType.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/MessagePolicyType.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/MessagePolicyType.java Fri Apr 30 18:26:46 2010
@@ -24,15 +24,16 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
 import javax.security.auth.message.AuthException;
 import javax.security.auth.message.MessagePolicy;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
 
 
 /**
@@ -123,14 +124,14 @@ public class MessagePolicyType
         this.mandatory = value;
     }
 
-    public MessagePolicy newMessagePolicy(ClassLoader cl) throws AuthException {
+    public MessagePolicy newMessagePolicy() throws AuthException {
         if (targetPolicy == null || targetPolicy.size() == 0) {
             return null;
         }
         MessagePolicy.TargetPolicy[] targetPolicies = new MessagePolicy.TargetPolicy[targetPolicy.size()];
         int i = 0;
         for (TargetPolicyType targetPolicyType: targetPolicy) {
-            targetPolicies[i++] = targetPolicyType.newTargetPolicy(cl);
+            targetPolicies[i++] = targetPolicyType.newTargetPolicy();
         }
         return new MessagePolicy(targetPolicies, mandatory);
     }

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ProtectionPolicyType.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ProtectionPolicyType.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ProtectionPolicyType.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ProtectionPolicyType.java Fri Apr 30 18:26:46 2010
@@ -24,17 +24,19 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
+import java.io.Serializable;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+
 import javax.security.auth.message.AuthException;
 import javax.security.auth.message.MessagePolicy;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
-import java.io.Serializable;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
+import org.apache.geronimo.osgi.locator.ProviderLocator;
 
 
 /**
@@ -93,12 +95,12 @@ public class ProtectionPolicyType
         this.className = value;
     }
 
-    public MessagePolicy.ProtectionPolicy newProtectionPolicy(final ClassLoader classLoader) throws AuthException {
+    public MessagePolicy.ProtectionPolicy newProtectionPolicy() throws AuthException {
         try {
             return java.security.AccessController
             .doPrivileged(new PrivilegedExceptionAction<MessagePolicy.ProtectionPolicy>() {
                 public MessagePolicy.ProtectionPolicy run() throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException {
-                    Class<? extends MessagePolicy.ProtectionPolicy> cl = Class.forName(className, true, classLoader).asSubclass(MessagePolicy.ProtectionPolicy.class);
+                    Class<? extends MessagePolicy.ProtectionPolicy> cl = ProviderLocator.loadClass(className, getClass(), Thread.currentThread().getContextClassLoader()).asSubclass(MessagePolicy.ProtectionPolicy.class);
                     Constructor<? extends MessagePolicy.ProtectionPolicy> cnst = cl.getConstructor();
                     MessagePolicy.ProtectionPolicy target = cnst.newInstance();
                     return target;

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ServerAuthConfigType.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ServerAuthConfigType.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ServerAuthConfigType.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ServerAuthConfigType.java Fri Apr 30 18:26:46 2010
@@ -24,7 +24,10 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
-import org.apache.geronimo.components.jaspi.ClassLoaderLookup;
+import java.io.Serializable;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
 
 import javax.security.auth.Subject;
 import javax.security.auth.callback.CallbackHandler;
@@ -37,10 +40,6 @@ import javax.xml.bind.annotation.XmlAcce
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
-import java.io.Serializable;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
 
 
 /**
@@ -248,18 +247,18 @@ public class ServerAuthConfigType
         return ConfigProviderType.getRegistrationKey(messageLayer, appContext);
     }
 
-    public void initialize(ClassLoaderLookup classLoaderLookup, CallbackHandler callbackHandler) throws AuthException {
+    public void initialize(CallbackHandler callbackHandler) throws AuthException {
     }
 
     public boolean isPersistent() {
         return true;
     }
 
-    public ServerAuthConfig newServerAuthConfig(String messageLayer, String appContext, ClassLoaderLookup classLoaderLookup, CallbackHandler callbackHandler) throws AuthException {
+    public ServerAuthConfig newServerAuthConfig(String messageLayer, String appContext, CallbackHandler callbackHandler) throws AuthException {
         Map<String, ServerAuthContext> authContextMap = new HashMap<String, ServerAuthContext>();
         for (ServerAuthContextType serverAuthContextType: getServerAuthContext().values()) {
             if (serverAuthContextType.match(messageLayer, appContext)) {
-                ServerAuthContext serverAuthContext = serverAuthContextType.newServerAuthContext(classLoaderLookup, callbackHandler);
+                ServerAuthContext serverAuthContext = serverAuthContextType.newServerAuthContext(callbackHandler);
                 String authContextID = serverAuthContextType.getAuthenticationContextID();
                 if (authContextID == null) {
                     authContextID = getAuthenticationContextID();

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ServerAuthContextType.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ServerAuthContextType.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ServerAuthContextType.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/ServerAuthContextType.java Fri Apr 30 18:26:46 2010
@@ -24,7 +24,10 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
-import org.apache.geronimo.components.jaspi.ClassLoaderLookup;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 
 import javax.security.auth.Subject;
 import javax.security.auth.callback.CallbackHandler;
@@ -37,10 +40,6 @@ import javax.xml.bind.annotation.XmlAcce
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
 
 
 /**
@@ -192,10 +191,10 @@ public class ServerAuthContextType
         return ConfigProviderType.getRegistrationKey(messageLayer, appContext);
     }
 
-    public void initialize(ClassLoaderLookup classLoaderLookup, CallbackHandler callbackHandler) throws AuthException {
+    public void initialize(CallbackHandler callbackHandler) throws AuthException {
         List<ServerAuthModule> serverAuthModules = new ArrayList<ServerAuthModule>();
         for (AuthModuleType<ServerAuthModule> serverAuthModuleType: serverAuthModule) {
-            ServerAuthModule instance = serverAuthModuleType.newAuthModule(classLoaderLookup, callbackHandler);
+            ServerAuthModule instance = serverAuthModuleType.newAuthModule(callbackHandler);
             serverAuthModules.add(instance);
         }
         serverAuthContext = new ServerAuthContextImpl(serverAuthModules);
@@ -209,10 +208,10 @@ public class ServerAuthContextType
         return serverAuthContext;
     }
 
-    public ServerAuthContext newServerAuthContext(ClassLoaderLookup classLoaderLookup, CallbackHandler callbackHandler) throws AuthException {
+    public ServerAuthContext newServerAuthContext(CallbackHandler callbackHandler) throws AuthException {
         List<ServerAuthModule> serverAuthModules = new ArrayList<ServerAuthModule>();
         for (AuthModuleType<ServerAuthModule> serverAuthModuleType: serverAuthModule) {
-            ServerAuthModule instance = serverAuthModuleType.newAuthModule(classLoaderLookup, callbackHandler);
+            ServerAuthModule instance = serverAuthModuleType.newAuthModule(callbackHandler);
             serverAuthModules.add(instance);
         }
         return new ServerAuthContextImpl(serverAuthModules);

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/StringMapAdapter.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/StringMapAdapter.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/StringMapAdapter.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/StringMapAdapter.java Fri Apr 30 18:26:46 2010
@@ -20,13 +20,14 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
-import javax.xml.bind.annotation.adapters.XmlAdapter;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+
 /**
  * jaxb helper class for maps
  *

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/TargetPolicyType.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/TargetPolicyType.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/TargetPolicyType.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/TargetPolicyType.java Fri Apr 30 18:26:46 2010
@@ -24,15 +24,16 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
 import javax.security.auth.message.AuthException;
 import javax.security.auth.message.MessagePolicy;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
 
 
 /**
@@ -124,12 +125,12 @@ public class TargetPolicyType
         return this.target;
     }
 
-    public MessagePolicy.TargetPolicy newTargetPolicy(ClassLoader cl) throws AuthException {
+    public MessagePolicy.TargetPolicy newTargetPolicy() throws AuthException {
         MessagePolicy.Target[] targets = new MessagePolicy.Target[getTarget().size()];
         int i = 0;
         for (TargetType targetType: getTarget()) {
-            targets[i++] = targetType.newTarget(cl);
+            targets[i++] = targetType.newTarget();
         }
-        return new MessagePolicy.TargetPolicy(targets, protectionPolicy.newProtectionPolicy(cl));
+        return new MessagePolicy.TargetPolicy(targets, protectionPolicy.newProtectionPolicy());
     }
 }

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/TargetType.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/TargetType.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/TargetType.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/main/java/org/apache/geronimo/components/jaspi/model/TargetType.java Fri Apr 30 18:26:46 2010
@@ -24,17 +24,19 @@
 
 package org.apache.geronimo.components.jaspi.model;
 
+import java.io.Serializable;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+
 import javax.security.auth.message.AuthException;
 import javax.security.auth.message.MessagePolicy;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
-import java.io.Serializable;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
+import org.apache.geronimo.osgi.locator.ProviderLocator;
 
 
 /**
@@ -93,12 +95,12 @@ public class TargetType
         this.className = value;
     }
 
-    public MessagePolicy.Target newTarget(final ClassLoader classLoader) throws AuthException {
+    public MessagePolicy.Target newTarget() throws AuthException {
         try {
             return java.security.AccessController
             .doPrivileged(new PrivilegedExceptionAction<MessagePolicy.Target>() {
                 public MessagePolicy.Target run() throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException {
-                    Class<? extends MessagePolicy.Target> cl = Class.forName(className, true, classLoader).asSubclass(MessagePolicy.Target.class);
+                    Class<? extends MessagePolicy.Target> cl = ProviderLocator.loadClass(className, getClass(), Thread.currentThread().getContextClassLoader()).asSubclass(MessagePolicy.Target.class);
                     Constructor<? extends MessagePolicy.Target> cnst = cl.getConstructor();
                     MessagePolicy.Target target = cnst.newInstance();
                     return target;

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/test/java/org/apache/geronimo/components/jaspi/AuthConfigFactoryImplTest.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/test/java/org/apache/geronimo/components/jaspi/AuthConfigFactoryImplTest.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/test/java/org/apache/geronimo/components/jaspi/AuthConfigFactoryImplTest.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/test/java/org/apache/geronimo/components/jaspi/AuthConfigFactoryImplTest.java Fri Apr 30 18:26:46 2010
@@ -16,11 +16,9 @@
  */
 package org.apache.geronimo.components.jaspi;
 
-import java.io.File;
 import java.net.URL;
 
 import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.message.AuthException;
 import javax.security.auth.message.config.AuthConfigFactory;
 import javax.security.auth.message.config.AuthConfigFactory.RegistrationContext;
 import javax.security.auth.message.config.AuthConfigProvider;
@@ -160,8 +158,7 @@ public class AuthConfigFactoryImplTest e
         AuthConfigFactory factory = AuthConfigFactory.getFactory();
         AuthModuleType<ClientAuthModule> authModuleType = new AuthModuleType<ClientAuthModule>();
         authModuleType.setClassName(DummyClientAuthModule.class.getName());
-        ClassLoaderLookup classLoaderLookup = new ConstantClassLoaderLookup(getClass().getClassLoader());
-        AuthConfigProvider authConfigProvider = JaspiUtil.wrapClientAuthModule("layer", "appContext1", "id", authModuleType, true, classLoaderLookup);
+        AuthConfigProvider authConfigProvider = JaspiUtil.wrapClientAuthModule("layer", "appContext1", "id", authModuleType, true);
         String regId = factory.registerConfigProvider(authConfigProvider, "layer", "appContext1", "description");
         DummyListener listener = new DummyListener();
         assertNotNull(factory.getConfigProvider("layer", "appContext1", listener));
@@ -173,8 +170,7 @@ public class AuthConfigFactoryImplTest e
         AuthConfigFactory factory = AuthConfigFactory.getFactory();
         AuthModuleType<ServerAuthModule> authModuleType = new AuthModuleType<ServerAuthModule>();
         authModuleType.setClassName(DummyServerAuthModule.class.getName());
-        ClassLoaderLookup classLoaderLookup = new ConstantClassLoaderLookup(getClass().getClassLoader());
-        AuthConfigProvider authConfigProvider = JaspiUtil.wrapServerAuthModule("layer", "appContext1", "id", authModuleType, true, classLoaderLookup);
+        AuthConfigProvider authConfigProvider = JaspiUtil.wrapServerAuthModule("layer", "appContext1", "id", authModuleType, true);
         String regId = factory.registerConfigProvider(authConfigProvider, "layer", "appContext1", "description");
         DummyListener listener = new DummyListener();
         assertNotNull(factory.getConfigProvider("layer", "appContext1", listener));

Modified: geronimo/components/jaspi/trunk/geronimo-jaspi/src/test/java/org/apache/geronimo/components/jaspi/model/JaxbTest.java
URL: http://svn.apache.org/viewvc/geronimo/components/jaspi/trunk/geronimo-jaspi/src/test/java/org/apache/geronimo/components/jaspi/model/JaxbTest.java?rev=939768&r1=939767&r2=939768&view=diff
==============================================================================
--- geronimo/components/jaspi/trunk/geronimo-jaspi/src/test/java/org/apache/geronimo/components/jaspi/model/JaxbTest.java (original)
+++ geronimo/components/jaspi/trunk/geronimo-jaspi/src/test/java/org/apache/geronimo/components/jaspi/model/JaxbTest.java Fri Apr 30 18:26:46 2010
@@ -45,8 +45,6 @@ import javax.security.auth.callback.Call
 
 import org.testng.annotations.Test;
 import org.xml.sax.SAXException;
-import org.apache.geronimo.components.jaspi.ClassLoaderLookup;
-import org.apache.geronimo.components.jaspi.ConstantClassLoaderLookup;
 
 /**
  * @version $Rev$ $Date$
@@ -57,7 +55,6 @@ public class JaxbTest {
 
     private final int count = 2;
 
-    private final ClassLoaderLookup classLoaderLookup = new ConstantClassLoaderLookup(getClass().getClassLoader());
     private CallbackHandler callbackHandler;
 
     @Test
@@ -110,7 +107,7 @@ public class JaxbTest {
         String file = "config-provider";
         Reader reader = getReader(file);
         ConfigProviderType jaspi1 = JaspiXmlUtil.loadConfigProvider(reader);
-        jaspi1.initialize(classLoaderLookup, callbackHandler);
+        jaspi1.initialize(callbackHandler);
         File newFile = getWriteFile(file);
         Writer writer = new FileWriter(newFile);
         JaspiXmlUtil.writeConfigProvider(jaspi1, writer);
@@ -125,13 +122,13 @@ public class JaxbTest {
         String file = "client-auth-config";
         Reader reader = getReader(file);
         ClientAuthConfigType jaspi1 = JaspiXmlUtil.loadClientAuthConfig(reader);
-        jaspi1.initialize(classLoaderLookup, callbackHandler);
+        jaspi1.initialize(callbackHandler);
         File newFile = getWriteFile(file);
         Writer writer = new FileWriter(newFile);
         JaspiXmlUtil.writeClientAuthConfig(jaspi1, writer);
         ClientAuthConfigType jaspi2 = JaspiXmlUtil.loadClientAuthConfig(new FileReader(newFile));
 
-        ClientAuthConfig clientAuthConfig = jaspi1.newClientAuthConfig("Http", "app", classLoaderLookup, callbackHandler);
+        ClientAuthConfig clientAuthConfig = jaspi1.newClientAuthConfig("Http", "app", callbackHandler);
         checkClientAuthConfig(clientAuthConfig);
     }
 
@@ -145,7 +142,7 @@ public class JaxbTest {
         JaspiXmlUtil.writeClientAuthContext(jaspi1, writer);
         ClientAuthContextType jaspi2 = JaspiXmlUtil.loadClientAuthContext(new FileReader(newFile));
 
-        ClientAuthContext clientAuthConfig = jaspi1.newClientAuthContext(classLoaderLookup, callbackHandler);
+        ClientAuthContext clientAuthConfig = jaspi1.newClientAuthContext(callbackHandler);
         clientAuthConfig.secureRequest(null, null);
     }
 
@@ -159,7 +156,7 @@ public class JaxbTest {
         JaspiXmlUtil.writeClientAuthModule(jaspi1, writer);
         AuthModuleType jaspi2 = JaspiXmlUtil.loadClientAuthModule(new FileReader(newFile));
 
-        ClientAuthModule clientAuthConfig = jaspi1.newAuthModule(classLoaderLookup, callbackHandler);
+        ClientAuthModule clientAuthConfig = jaspi1.newAuthModule(callbackHandler);
         clientAuthConfig.secureRequest(null, null);
     }