You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ba...@apache.org on 2008/04/20 22:07:38 UTC

svn commit: r649965 - in /webservices/axis2/trunk/java/modules: jaxws/src/org/apache/axis2/jaxws/handler/ jaxws/test/org/apache/axis2/jaxws/handler/ metadata/src/org/apache/axis2/jaxws/description/ metadata/src/org/apache/axis2/jaxws/description/impl/

Author: barrettj
Date: Sun Apr 20 13:07:34 2008
New Revision: 649965

URL: http://svn.apache.org/viewvc?rev=649965&view=rev
Log:
Refactor caching of resolved handler classes and add caching of resolved handler roles.  Add associated tests.

Added:
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/ResolvedHandlersDescription.java
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ResolvedHandlersDescriptionImpl.java
Modified:
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/HandlerResolverImpl.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/handler/RoleBasedMustUndertandTests.java
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/DescriptionFactory.java
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/ServiceDescription.java
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/HandlerResolverImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/HandlerResolverImpl.java?rev=649965&r1=649964&r2=649965&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/HandlerResolverImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/handler/HandlerResolverImpl.java Sun Apr 20 13:07:34 2008
@@ -21,8 +21,11 @@
 
 import org.apache.axis2.jaxws.ExceptionFactory;
 import org.apache.axis2.jaxws.core.MessageContext;
+import org.apache.axis2.jaxws.description.DescriptionFactory;
 import org.apache.axis2.jaxws.description.EndpointDescription;
+import org.apache.axis2.jaxws.description.ResolvedHandlersDescription;
 import org.apache.axis2.jaxws.description.ServiceDescription;
+import org.apache.axis2.jaxws.description.impl.ResolvedHandlersDescriptionImpl;
 import org.apache.axis2.jaxws.description.xml.handler.HandlerChainType;
 import org.apache.axis2.jaxws.description.xml.handler.HandlerChainsType;
 import org.apache.axis2.jaxws.description.xml.handler.HandlerType;
@@ -75,21 +78,80 @@
         this.serviceDesc = sd;
         this.serviceDelegateKey = serviceDelegateKey;
     }
-
-    public List<Handler> getHandlerChain(PortInfo portinfo) {
-        List<Class> handlerClasses = null;
-        // Look into the cache only if the service delegate key is null.
+    
+    private ResolvedHandlersDescription getResolvedHandlersDescription(PortInfo portInfo) {
+        ResolvedHandlersDescription resolvedHandlersDesc = null;
+        // On the client the handler information can be changed via service-delegate-specific
+        // deployment information.  So, only look into the service-side cache only if the 
+        // service delegate key is null.
         if (serviceDelegateKey == null) {
-            handlerClasses = serviceDesc.getHandlerChainClasses(portinfo);
+            resolvedHandlersDesc = serviceDesc.getResolvedHandlersDescription(portInfo);
         }
-        if (handlerClasses == null) {
-            // resolve handlers if we did not find them in the cache
-            handlerClasses = resolveHandlers(portinfo);
-            // Store the list of classes
-            if (serviceDelegateKey == null) {
-                serviceDesc.setHandlerChainClasses(portinfo, handlerClasses);
+        return resolvedHandlersDesc;
+    }
+    private ResolvedHandlersDescription getOrCreateResolvedHandlersDescription(PortInfo portInfo) {
+        ResolvedHandlersDescription resolvedHandlersDesc = null;
+        // On the client the handler information can be changed via service-delegate-specific
+        // deployment information.  So, only look into the service-side cache only if the 
+        // service delegate key is null.
+        if (serviceDelegateKey == null) {
+            resolvedHandlersDesc = serviceDesc.getResolvedHandlersDescription(portInfo);
+            if (resolvedHandlersDesc == null) {
+                resolvedHandlersDesc = DescriptionFactory.createResolvedHandlersDescription();
             }
         }
+        return resolvedHandlersDesc;
+    }
+    private List<Class> geCachedResolvedHandlersClasses(PortInfo portInfo) {
+        List<Class> cachedHandlerClasses = null;
+        ResolvedHandlersDescription resolvedHandlersDesc = getResolvedHandlersDescription(portInfo);
+        if (resolvedHandlersDesc != null) {
+            cachedHandlerClasses = resolvedHandlersDesc.getHandlerClasses();
+        }
+        return cachedHandlerClasses;
+    }
+    
+    private void cacheResolvedHandlersInfo(PortInfo portInfo, 
+                                              List<Class> handlerClasses,
+                                              List<String> roles) {
+        ResolvedHandlersDescription resolvedHandlersDesc = getOrCreateResolvedHandlersDescription(portInfo);
+        if (resolvedHandlersDesc != null) {
+            resolvedHandlersDesc.setHandlerClasses(handlerClasses);
+            resolvedHandlersDesc.setRoles(roles);
+            serviceDesc.setResolvedHandlersDescription(portInfo, resolvedHandlersDesc);
+        }
+    }
+
+    private List<Class> getHandlerClasses(PortInfo portInfo) {
+        List<Class> handlerClasses = geCachedResolvedHandlersClasses(portInfo);
+        if (handlerClasses == null) {
+            List<String> resolveRoles = new ArrayList<String>();
+            handlerClasses = resolveHandlers(portInfo, resolveRoles);
+            cacheResolvedHandlersInfo(portInfo, handlerClasses, resolveRoles);
+        }
+        return handlerClasses;
+    }
+    private List<String> getHandlerRoles(PortInfo portInfo) {
+        List<String> resolveRoles = getCachedResolvedHandlersRoles(portInfo);
+        if (resolveRoles == null) {
+            resolveRoles = new ArrayList<String>();
+            List<Class> resolveClasses = resolveHandlers(portInfo, resolveRoles);
+            cacheResolvedHandlersInfo(portInfo, resolveClasses, resolveRoles);
+        }
+        return resolveRoles;
+    }
+    private List<String> getCachedResolvedHandlersRoles(PortInfo portInfo) {
+        List<String> cachedHandlerRoles = null;
+        ResolvedHandlersDescription resolvedHandlersDesc = getResolvedHandlersDescription(portInfo);
+        if (resolvedHandlersDesc != null) {
+            cachedHandlerRoles = resolvedHandlersDesc.getRoles();
+        }
+        return cachedHandlerRoles;
+    }
+
+    public List<Handler> getHandlerChain(PortInfo portInfo) {
+        List<Class> handlerClasses = getHandlerClasses(portInfo);
+
         if (handlerClasses.size() == 0) {
             return new ArrayList<Handler>();
         }
@@ -97,7 +159,7 @@
         ArrayList<Handler> handlers = new ArrayList<Handler>();
         // Create temporary MessageContext to pass information to HandlerLifecycleManager
         MessageContext ctx = new MessageContext();
-        ctx.setEndpointDescription(serviceDesc.getEndpointDescription(portinfo.getPortName()));
+        ctx.setEndpointDescription(serviceDesc.getEndpointDescription(portInfo.getPortName()));
 
         HandlerLifecycleManager hlm = createHandlerlifecycleManager();
 
@@ -119,8 +181,7 @@
     }
 
     public List<String> getRoles(PortInfo portInfo) {
-        List<String> handlerRoles = new ArrayList();
-        resolveHandlers(portInfo, handlerRoles);
+        List<String> handlerRoles = getHandlerRoles(portInfo);
         return handlerRoles;
     }
     /*
@@ -132,12 +193,21 @@
 	 * running the annotated PostConstruct method, resolving the list,
 	 * and returning it.  We do not sort here.
       */
-    private ArrayList<Class> resolveHandlers(PortInfo portinfo) throws WebServiceException {
-        return resolveHandlers(portinfo, null);
-    }
+    /**
+     * Resolve the handlers and roles for the given port.  This will process the handler configuration
+     * information, which can be specified either in a file on a HandlerChain annotaiton or via a
+     * deployment descriptor.  The handler classes and the SOAP roles played will be resolved and
+     * returned.
+     * 
+     * @param portinfo  Information describing the port for which the handlers and roles are to be
+     *     resolved
+     * @param handlerRoles  OUTPUT PARAMETER!  The List that is passed in will be updated with the
+     *     roles relevant to the specfied port.
+     * @return List of handler classes relevant to the specified port.
+     * @throws WebServiceException
+     */
     private ArrayList<Class> resolveHandlers(PortInfo portinfo, List<String> handlerRoles) throws WebServiceException {
         /*
-
             A sample XML file for the handler-chains:
             
             <jws:handler-chains xmlns:jws="http://java.sun.com/xml/ns/javaee">

Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/handler/RoleBasedMustUndertandTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/handler/RoleBasedMustUndertandTests.java?rev=649965&r1=649964&r2=649965&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/handler/RoleBasedMustUndertandTests.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/handler/RoleBasedMustUndertandTests.java Sun Apr 20 13:07:34 2008
@@ -84,6 +84,48 @@
     }
     
     /**
+     * Validate that handler information can be cached on the ServiceDescritpion on the server side. 
+     */
+    public void testCachingOnServer() {
+        ServiceDescription serviceDesc = DescriptionFactory.createServiceDescription(RoleBasedMUServiceImpl.class);
+        HandlerResolverImpl handlerResolver1 = new HandlerResolverImpl(serviceDesc);
+        HandlerResolverImpl handlerResolver2 = new HandlerResolverImpl(serviceDesc);
+
+        EndpointDescription epDesc = serviceDesc.getEndpointDescriptions()[0];
+        PortInfo portInfo = epDesc.getPortInfo();
+        
+        List<String> roles1 = handlerResolver1.getRoles(portInfo);
+        List<String> roles2 = handlerResolver2.getRoles(portInfo);
+        assertNotNull(roles1);
+        assertNotNull(roles2);
+        assertTrue(roles1 == roles2);
+    }
+    
+    
+    /**
+     * Validate that handler information can NOT be cached on the client.  That is because the client
+     * can specify handler information per instance of a service delegate.  Those service
+     * delegates could share a ServiceDescription, but since each service delegate could specify
+     * unique handler information, we can't use common handler information stored on the
+     * ServiceDescription 
+     */
+    public void testCachingOnClient() {
+        ServiceDescription serviceDesc = DescriptionFactory.createServiceDescription(RoleBasedMUServiceImpl.class);
+        HandlerResolverImpl handlerResolver1 = new HandlerResolverImpl(serviceDesc, "sd1");
+        HandlerResolverImpl handlerResolver2 = new HandlerResolverImpl(serviceDesc, "sd2");
+
+        EndpointDescription epDesc = serviceDesc.getEndpointDescriptions()[0];
+        PortInfo portInfo = epDesc.getPortInfo();
+        
+        List<String> roles1 = handlerResolver1.getRoles(portInfo);
+        List<String> roles2 = handlerResolver2.getRoles(portInfo);
+        assertNotNull(roles1);
+        assertNotNull(roles2);
+        assertTrue(roles1 != roles2);
+        
+    }
+    
+    /**
      * The JAXWS Spec, section 10, says roles can be set on the SOAP binding.  Verify that a 
      * mustUnderstand header which is not processed for a role added by the SOAPBinding causes
      * a Not Understood fault 

Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/DescriptionFactory.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/DescriptionFactory.java?rev=649965&r1=649964&r2=649965&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/DescriptionFactory.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/DescriptionFactory.java Sun Apr 20 13:07:34 2008
@@ -376,4 +376,13 @@
     public static ClientConfigurationFactory createClientConfigurationFactory() {
         return DescriptionFactoryImpl.getClientConfigurationFactory();
     }
+
+    /**
+     * Create a ResolvedHandlersDescription object, which describes attributes of handlers
+     * that have been resolved for a give port.  This includes the handler classes and the roles.
+     * @return A new instance of a ResolfedHandlersDescription object.
+     */
+    public static ResolvedHandlersDescription createResolvedHandlersDescription() {
+        return DescriptionFactoryImpl.createResolvedHandlersDescription();
+    }
 }

Added: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/ResolvedHandlersDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/ResolvedHandlersDescription.java?rev=649965&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/ResolvedHandlersDescription.java (added)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/ResolvedHandlersDescription.java Sun Apr 20 13:07:34 2008
@@ -0,0 +1,39 @@
+/*
+ * 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.axis2.jaxws.description;
+
+import java.util.List;
+
+/**
+ * Information related to handlers which have been resolved to a particluar port.
+ * This information consists of:
+ * - The handler implementation classes
+ * - The list of SOAP roles (aka SOAP Actors)
+ * 
+ *  This information is cached on the service descrpiption so the handlers don't 
+ *  have to be resolved for other HandlerResolvers requesting handlers for the 
+ *  same port.
+ */
+public interface ResolvedHandlersDescription {
+    public void setHandlerClasses(List<Class> handlerClasses);
+    public List<Class> getHandlerClasses();
+    
+    public void setRoles(List<String> role);
+    public List<String> getRoles();
+}

Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/ServiceDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/ServiceDescription.java?rev=649965&r1=649964&r2=649965&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/ServiceDescription.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/ServiceDescription.java Sun Apr 20 13:07:34 2008
@@ -148,7 +148,28 @@
     
     public JAXWSCatalogManager getCatalogManager();
 
-    public List<Class> getHandlerChainClasses(PortInfo portinfo);
+    /**
+     * Answer information for resolved handlers for the given port.  This information is set
+     * when the handler resolver initially resolves the handlers based on the handler 
+     * configuration information.  It is cached on the service description for performance 
+     * so that subsequent queries by other handler resolvers for the same port do not have to
+     * re-resolve the information from the handler configuration information.  
+     * 
+     * @param portInfo Port for which the handler information is desired
+     * @return An object containing information for the resolved handlers, or null if no 
+     *     information is found in the cache.
+     */
+    public ResolvedHandlersDescription getResolvedHandlersDescription(PortInfo portInfo);
 
-    public void setHandlerChainClasses(PortInfo portinfo, List<Class> handlerClasses);
+    /**
+     * Cache information for handlers which have been resolved for this port. This information is set
+     * when the handler resolver initially resolves the handlers based on the handler 
+     * configuration information.  It is cached on the service description for performance 
+     * so that subsequent queries by other handler resolvers for the same port do not have to
+     * re-resolve the information from the handler configuration information.
+     *   
+     * @param portInfo Port for which the handler information should be cached
+     * @param resolvedHandlersInfo An object containing information for the resolved handlers
+     */
+    public void setResolvedHandlersDescription(PortInfo portInfo, ResolvedHandlersDescription resolvedHandlersInfo);
 }

Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java?rev=649965&r1=649964&r2=649965&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/DescriptionFactoryImpl.java Sun Apr 20 13:07:34 2008
@@ -33,6 +33,7 @@
 import org.apache.axis2.jaxws.description.DescriptionFactory;
 import org.apache.axis2.jaxws.description.DescriptionKey;
 import org.apache.axis2.jaxws.description.EndpointDescription;
+import org.apache.axis2.jaxws.description.ResolvedHandlersDescription;
 import org.apache.axis2.jaxws.description.ServiceDescription;
 import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
 import org.apache.axis2.jaxws.description.builder.converter.JavaClassToDBCConverter;
@@ -446,6 +447,10 @@
                 endpointDesc.setProperty(key, value);
             }
         }
+    }
+
+    public static ResolvedHandlersDescription createResolvedHandlersDescription() {
+        return new ResolvedHandlersDescriptionImpl();
     }
 
 }

Added: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ResolvedHandlersDescriptionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ResolvedHandlersDescriptionImpl.java?rev=649965&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ResolvedHandlersDescriptionImpl.java (added)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ResolvedHandlersDescriptionImpl.java Sun Apr 20 13:07:34 2008
@@ -0,0 +1,59 @@
+/*
+ * 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.axis2.jaxws.description.impl;
+
+import org.apache.axis2.jaxws.description.ResolvedHandlersDescription;
+
+import java.util.List;
+/**
+ * Implementation of the ResolvedHandlersDescription interface 
+ */
+public class ResolvedHandlersDescriptionImpl implements ResolvedHandlersDescription {
+    private List<Class> handlerClasses;
+    private List<String> roles; 
+
+    /* (non-Javadoc)
+     * @see org.apache.axis2.jaxws.description.ResolvedHandlersDescription#addHandlerClass(java.lang.Class)
+     */
+    public void setHandlerClasses(List<Class> handlerClasses) {
+        this.handlerClasses = handlerClasses;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.axis2.jaxws.description.ResolvedHandlersDescription#addRole(java.lang.String)
+     */
+    public void setRoles(List<String> roles) {
+        this.roles = roles;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.axis2.jaxws.description.ResolvedHandlersDescription#getHandlerClasses()
+     */
+    public List<Class> getHandlerClasses() {
+        return this.handlerClasses;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.axis2.jaxws.description.ResolvedHandlersDescription#getRoles()
+     */
+    public List<String> getRoles() {
+        return this.roles;
+    }
+
+}

Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java?rev=649965&r1=649964&r2=649965&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ServiceDescriptionImpl.java Sun Apr 20 13:07:34 2008
@@ -30,6 +30,7 @@
 import org.apache.axis2.jaxws.description.DescriptionFactory;
 import org.apache.axis2.jaxws.description.EndpointDescription;
 import org.apache.axis2.jaxws.description.EndpointInterfaceDescription;
+import org.apache.axis2.jaxws.description.ResolvedHandlersDescription;
 import org.apache.axis2.jaxws.description.ServiceDescription;
 import org.apache.axis2.jaxws.description.ServiceDescriptionJava;
 import org.apache.axis2.jaxws.description.ServiceDescriptionWSDL;
@@ -103,9 +104,9 @@
     private Map<Object, Map<QName, EndpointDescriptionImpl>> dynamicEndpointDescriptions =
                 new WeakHashMap<Object, Map<QName, EndpointDescriptionImpl>>();
 
-    // Cache classes for the handler chain
-    Map<PortInfo, List<Class>> handlerClassesMap =
-            new WeakHashMap<PortInfo, List<Class>>();
+    // Cache classes for the info for resolved handlers
+    Map<PortInfo, ResolvedHandlersDescription> resolvedHandlersDescription =
+            new WeakHashMap<PortInfo, ResolvedHandlersDescription>();
     
     private static final Log log = LogFactory.getLog(ServiceDescriptionImpl.class);
 
@@ -2175,12 +2176,13 @@
         return cl;
     }
 
-    public List<Class> getHandlerChainClasses(PortInfo portinfo) {
-        return handlerClassesMap.get(portinfo);
+    public void setResolvedHandlersDescription(PortInfo portInfo, ResolvedHandlersDescription resolvedHandlersInfo) {
+        resolvedHandlersDescription.put(portInfo, resolvedHandlersInfo);
+        
     }
 
-    public void setHandlerChainClasses(PortInfo portinfo, List<Class> handlerClasses) {
-        handlerClassesMap.put(portinfo, handlerClasses);
+    public ResolvedHandlersDescription getResolvedHandlersDescription(PortInfo portInfo) {
+        return resolvedHandlersDescription.get(portInfo);
     }
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org