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 pr...@apache.org on 2007/07/21 13:29:09 UTC

svn commit: r558306 - in /webservices/axis2/branches/java/jaxws21/modules: jaxws/src/org/apache/axis2/jaxws/binding/ jaxws/src/org/apache/axis2/jaxws/feature/ jaxws/src/org/apache/axis2/jaxws/feature/config/ metadata/src/org/apache/axis2/jaxws/feature/

Author: pradine
Date: Sat Jul 21 04:29:08 2007
New Revision: 558306

URL: http://svn.apache.org/viewvc?view=rev&rev=558306
Log:
Split the WebServiceFeature config framework into client-side and server-side config.

Added:
    webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/ClientConfigurator.java
      - copied, changed from r556890, webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/WebServiceFeatureConfigurator.java
    webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/ClientFramework.java
    webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/
    webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ConfigFramework.java
    webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerConfigurator.java
    webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java
Removed:
    webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/WebServiceFeatureConfigurator.java
    webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/WebServiceFeatureValidator.java
Modified:
    webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/binding/BindingImpl.java
    webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/binding/SOAPBinding.java
    webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/AddressingConfigurator.java
    webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/MTOMConfigurator.java
    webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/RespectBindingConfigurator.java

Modified: webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/binding/BindingImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/binding/BindingImpl.java?view=diff&rev=558306&r1=558305&r2=558306
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/binding/BindingImpl.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/binding/BindingImpl.java Sat Jul 21 04:29:08 2007
@@ -28,8 +28,8 @@
 
 import org.apache.axis2.jaxws.core.MessageContext;
 import org.apache.axis2.jaxws.description.EndpointDescription;
-import org.apache.axis2.jaxws.feature.WebServiceFeatureConfigurator;
-import org.apache.axis2.jaxws.feature.WebServiceFeatureValidator;
+import org.apache.axis2.jaxws.feature.ClientConfigurator;
+import org.apache.axis2.jaxws.feature.ClientFramework;
 import org.apache.axis2.jaxws.feature.config.RespectBindingConfigurator;
 import org.apache.axis2.jaxws.handler.HandlerResolverImpl;
 import org.apache.axis2.jaxws.spi.Binding;
@@ -40,7 +40,7 @@
  * should extend this class instead.
  */
 public abstract class BindingImpl implements Binding {
-    private static final WebServiceFeatureConfigurator RESPECT_BINDING_CONFIGURATOR =
+    private static final ClientConfigurator RESPECT_BINDING_CONFIGURATOR =
         new RespectBindingConfigurator();
 
     // an unsorted list of handlers
@@ -52,7 +52,7 @@
 
     protected Set<String> roles = null;
     
-    protected WebServiceFeatureValidator validator = null;
+    protected ClientFramework framework = null;
 
     protected static final String SOAP11_ENV_NS = "http://schemas.xmlsoap.org/soap/envelope/";
 
@@ -66,8 +66,8 @@
             // server
             this.bindingId = endpointDesc.getBindingType();
         
-        validator = new WebServiceFeatureValidator();
-        validator.addConfigurator(RespectBindingFeature.ID, RESPECT_BINDING_CONFIGURATOR);
+        framework = new ClientFramework();
+        framework.addConfigurator(RespectBindingFeature.ID, RESPECT_BINDING_CONFIGURATOR);
     }
 
     public List<Handler> getHandlerChain() {
@@ -98,17 +98,17 @@
     }
 
     public void configure(MessageContext messageContext, BindingProvider provider) {
-        validator.configure(messageContext, provider);
+        framework.configure(messageContext, provider);
     }
 
     public WebServiceFeature getWebServiceFeature(String id) {
-        return validator.getFeature(id);
+        return framework.getFeature(id);
     }
 
     public void setWebServiceFeatures(WebServiceFeature... features) {
         if (features != null) {
             for (WebServiceFeature feature : features) {
-                validator.addFeature(feature);
+                framework.addFeature(feature);
             }
         }
     }

Modified: webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/binding/SOAPBinding.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/binding/SOAPBinding.java?view=diff&rev=558306&r1=558305&r2=558306
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/binding/SOAPBinding.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/binding/SOAPBinding.java Sat Jul 21 04:29:08 2007
@@ -21,7 +21,7 @@
 import org.apache.axis2.jaxws.ExceptionFactory;
 import org.apache.axis2.jaxws.addressing.SubmissionAddressingFeature;
 import org.apache.axis2.jaxws.description.EndpointDescription;
-import org.apache.axis2.jaxws.feature.WebServiceFeatureConfigurator;
+import org.apache.axis2.jaxws.feature.ClientConfigurator;
 import org.apache.axis2.jaxws.feature.config.MTOMConfigurator;
 import org.apache.axis2.jaxws.feature.config.AddressingConfigurator;
 import org.apache.axis2.jaxws.utility.SAAJFactory;
@@ -46,9 +46,9 @@
  * explicitly specificied.
  */
 public class SOAPBinding extends BindingImpl implements javax.xml.ws.soap.SOAPBinding {
-    private static final WebServiceFeatureConfigurator ADDRESSING_CONFIGURATOR =
+    private static final ClientConfigurator ADDRESSING_CONFIGURATOR =
         new AddressingConfigurator();
-    private static final WebServiceFeatureConfigurator MTOM_CONFIGURATOR =
+    private static final ClientConfigurator MTOM_CONFIGURATOR =
         new MTOMConfigurator();
 
     private boolean mtomEnabled = false;
@@ -58,9 +58,9 @@
     public SOAPBinding(EndpointDescription endpointDesc) {
         super(endpointDesc);
         
-        validator.addConfigurator(AddressingFeature.ID, ADDRESSING_CONFIGURATOR);
-        validator.addConfigurator(SubmissionAddressingFeature.ID, ADDRESSING_CONFIGURATOR);
-        validator.addConfigurator(MTOMFeature.ID, MTOM_CONFIGURATOR);
+        framework.addConfigurator(AddressingFeature.ID, ADDRESSING_CONFIGURATOR);
+        framework.addConfigurator(SubmissionAddressingFeature.ID, ADDRESSING_CONFIGURATOR);
+        framework.addConfigurator(MTOMFeature.ID, MTOM_CONFIGURATOR);
         
         if (SOAPBinding.SOAP11HTTP_MTOM_BINDING.equalsIgnoreCase(bindingId) ||
                 SOAPBinding.SOAP12HTTP_MTOM_BINDING.equalsIgnoreCase(bindingId)) {

Copied: webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/ClientConfigurator.java (from r556890, webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/WebServiceFeatureConfigurator.java)
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/ClientConfigurator.java?view=diff&rev=558306&p1=webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/WebServiceFeatureConfigurator.java&r1=556890&p2=webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/ClientConfigurator.java&r2=558306
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/WebServiceFeatureConfigurator.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/ClientConfigurator.java Sat Jul 21 04:29:08 2007
@@ -19,14 +19,12 @@
 package org.apache.axis2.jaxws.feature;
 
 import org.apache.axis2.jaxws.core.MessageContext;
-import org.apache.axis2.jaxws.description.EndpointDescription;
 import org.apache.axis2.jaxws.spi.BindingProvider;
 
 /**
  * 
  */
-public interface WebServiceFeatureConfigurator {
-
+public interface ClientConfigurator {
     /**
      * Perform client-side configuration for a <code>WebServiceFeature</code>.
      * 
@@ -34,11 +32,4 @@
      * @param provider
      */
     public void configure(MessageContext messageContext, BindingProvider provider);
-
-    /**
-     * Perform server-side configuration for a <code>WebServiceFeature</code>.
-     * 
-     * @param endpointDescription
-     */
-    public void configure(EndpointDescription endpointDescription);
 }

Added: webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/ClientFramework.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/ClientFramework.java?view=auto&rev=558306
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/ClientFramework.java (added)
+++ webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/ClientFramework.java Sat Jul 21 04:29:08 2007
@@ -0,0 +1,54 @@
+/*
+ * 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.feature;
+
+import org.apache.axis2.jaxws.core.MessageContext;
+import org.apache.axis2.jaxws.spi.BindingProvider;
+
+import javax.xml.ws.WebServiceFeature;
+
+import java.util.IdentityHashMap;
+import java.util.Map;
+
+public class ClientFramework extends ConfigFramework {
+    private Map<String, ClientConfigurator> configuratorMap;
+    
+    public ClientFramework() {
+    	super();
+        configuratorMap = new IdentityHashMap<String, ClientConfigurator>();
+    }
+    
+    public void addConfigurator(String id, ClientConfigurator configurator) {
+        configuratorMap.put(id, configurator);
+    }
+    
+    public boolean isValid(WebServiceFeature feature) {
+        if (feature == null)
+            return false;
+        
+        return configuratorMap.containsKey(feature.getID());
+    }
+    
+    public void configure(MessageContext messageContext, BindingProvider provider) {
+        for (WebServiceFeature feature : getAllFeatures()) {
+            ClientConfigurator configurator = configuratorMap.get(feature.getID());
+            configurator.configure(messageContext, provider);
+        }
+    }
+}

Modified: webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/AddressingConfigurator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/AddressingConfigurator.java?view=diff&rev=558306&r1=558305&r2=558306
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/AddressingConfigurator.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/AddressingConfigurator.java Sat Jul 21 04:29:08 2007
@@ -31,14 +31,15 @@
 import org.apache.axis2.jaxws.core.MessageContext;
 import org.apache.axis2.jaxws.description.EndpointDescription;
 import org.apache.axis2.jaxws.description.ServiceDescription;
-import org.apache.axis2.jaxws.feature.WebServiceFeatureConfigurator;
+import org.apache.axis2.jaxws.feature.ClientConfigurator;
+import org.apache.axis2.jaxws.feature.ServerConfigurator;
 import org.apache.axis2.jaxws.spi.Binding;
 import org.apache.axis2.jaxws.spi.BindingProvider;
 
 /**
  *
  */
-public class AddressingConfigurator implements WebServiceFeatureConfigurator {
+public class AddressingConfigurator implements ClientConfigurator, ServerConfigurator {
 
     /*
      *  (non-Javadoc)

Modified: webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/MTOMConfigurator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/MTOMConfigurator.java?view=diff&rev=558306&r1=558305&r2=558306
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/MTOMConfigurator.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/MTOMConfigurator.java Sat Jul 21 04:29:08 2007
@@ -23,7 +23,8 @@
 import org.apache.axis2.jaxws.ExceptionFactory;
 import org.apache.axis2.jaxws.core.MessageContext;
 import org.apache.axis2.jaxws.description.EndpointDescription;
-import org.apache.axis2.jaxws.feature.WebServiceFeatureConfigurator;
+import org.apache.axis2.jaxws.feature.ClientConfigurator;
+import org.apache.axis2.jaxws.feature.ServerConfigurator;
 import org.apache.axis2.jaxws.message.Message;
 import org.apache.axis2.jaxws.spi.Binding;
 import org.apache.axis2.jaxws.spi.BindingProvider;
@@ -31,7 +32,7 @@
 /**
  *
  */
-public class MTOMConfigurator implements WebServiceFeatureConfigurator {
+public class MTOMConfigurator implements ClientConfigurator, ServerConfigurator {
 
     /*
      *  (non-Javadoc)

Modified: webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/RespectBindingConfigurator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/RespectBindingConfigurator.java?view=diff&rev=558306&r1=558305&r2=558306
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/RespectBindingConfigurator.java (original)
+++ webservices/axis2/branches/java/jaxws21/modules/jaxws/src/org/apache/axis2/jaxws/feature/config/RespectBindingConfigurator.java Sat Jul 21 04:29:08 2007
@@ -23,14 +23,15 @@
 import org.apache.axis2.jaxws.ExceptionFactory;
 import org.apache.axis2.jaxws.core.MessageContext;
 import org.apache.axis2.jaxws.description.EndpointDescription;
-import org.apache.axis2.jaxws.feature.WebServiceFeatureConfigurator;
+import org.apache.axis2.jaxws.feature.ClientConfigurator;
+import org.apache.axis2.jaxws.feature.ServerConfigurator;
 import org.apache.axis2.jaxws.spi.Binding;
 import org.apache.axis2.jaxws.spi.BindingProvider;
 
 /**
  *
  */
-public class RespectBindingConfigurator implements WebServiceFeatureConfigurator {
+public class RespectBindingConfigurator implements ClientConfigurator, ServerConfigurator {
 
     /*
      *  (non-Javadoc)

Added: webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ConfigFramework.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ConfigFramework.java?view=auto&rev=558306
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ConfigFramework.java (added)
+++ webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ConfigFramework.java Sat Jul 21 04:29:08 2007
@@ -0,0 +1,54 @@
+/*
+ * 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.feature;
+
+import org.apache.axis2.jaxws.ExceptionFactory;
+
+import javax.xml.ws.WebServiceFeature;
+
+import java.util.IdentityHashMap;
+import java.util.Map;
+
+public abstract class ConfigFramework {
+    private static final WebServiceFeature[] ZERO_LENGTH_ARRAY = new WebServiceFeature[0];
+    
+    protected Map<String, WebServiceFeature> featureMap;
+    
+    public ConfigFramework() {
+        featureMap = new IdentityHashMap<String, WebServiceFeature>();
+    }
+    
+    public abstract boolean isValid(WebServiceFeature feature);
+    
+    public void addFeature(WebServiceFeature feature) {
+        //TODO NLS enable.
+        if (!isValid(feature))
+            throw ExceptionFactory.makeWebServiceException("Unrecognized WebServiceFeature " + feature.getID());
+        
+        featureMap.put(feature.getID(), feature);
+    }
+    
+    public WebServiceFeature getFeature(String id) {
+        return featureMap.get(id);
+    }
+    
+    public WebServiceFeature[] getAllFeatures() {
+        return featureMap.values().toArray(ZERO_LENGTH_ARRAY);
+    }
+}

Added: webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerConfigurator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerConfigurator.java?view=auto&rev=558306
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerConfigurator.java (added)
+++ webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerConfigurator.java Sat Jul 21 04:29:08 2007
@@ -0,0 +1,33 @@
+/*
+ * 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.feature;
+
+import org.apache.axis2.jaxws.description.EndpointDescription;
+
+/**
+ * 
+ */
+public interface ServerConfigurator {
+    /**
+     * Perform server-side configuration for a <code>WebServiceFeature</code>.
+     * 
+     * @param endpointDescription
+     */
+    public void configure(EndpointDescription endpointDescription);
+}

Added: webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java?view=auto&rev=558306
==============================================================================
--- webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java (added)
+++ webservices/axis2/branches/java/jaxws21/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java Sat Jul 21 04:29:08 2007
@@ -0,0 +1,53 @@
+/*
+ * 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.feature;
+
+import org.apache.axis2.jaxws.description.EndpointDescription;
+
+import javax.xml.ws.WebServiceFeature;
+
+import java.util.IdentityHashMap;
+import java.util.Map;
+
+public class ServerFramework extends ConfigFramework {
+    private Map<String, ServerConfigurator> configuratorMap;
+    
+    public ServerFramework() {
+    	super();
+        configuratorMap = new IdentityHashMap<String, ServerConfigurator>();
+    }
+    
+    public void addConfigurator(String id, ServerConfigurator configurator) {
+        configuratorMap.put(id, configurator);
+    }
+    
+    public boolean isValid(WebServiceFeature feature) {
+        if (feature == null)
+            return false;
+        
+        return configuratorMap.containsKey(feature.getID());
+    }
+    
+    public void configure(EndpointDescription endpointDescription) {
+        for (WebServiceFeature feature : getAllFeatures()) {
+            ServerConfigurator configurator = configuratorMap.get(feature.getID());
+            configurator.configure(endpointDescription);
+        }
+    }
+}



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