[jbossws-commits] JBossWS SVN: r13376 - in spi/trunk: src/main/java/org/jboss/wsf/spi/metadata and 4 other directories.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Thu Dec 2 05:44:15 EST 2010


Author: alessio.soldano at jboss.com
Date: 2010-12-02 05:44:14 -0500 (Thu, 02 Dec 2010)
New Revision: 13376

Added:
   spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/DescriptorParser.java
   spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/jms/JMSDescriptorParser.java
   spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesDescriptorParser.java
Modified:
   spi/trunk/pom.xml
   spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/AbstractHandlerChainsMetaDataParser.java
   spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/DescriptorProcessor.java
   spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/ParserConstants.java
   spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainsMetaDataParser.java
   spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/jms/JMSDescriptorProcessor.java
   spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesDescriptorProcessor.java
   spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesFactory.java
   spi/trunk/src/main/java/org/jboss/wsf/spi/util/StAXUtils.java
Log:
[JBWS-3169]
- removed dependency on JBossXB
- added new DescriptorParser interfaces
- deprecated old DescriptorProcessor interfaces (this can't removed till we deploy against AS 6 though, they're not used anymore, hence the methods referencing XB are commented out)
- modified webservices.xml / handler StAX parsers to support JSR 109 v.1.1 (basically the J2EE namespaces instead of the JAVAEE ones)


Modified: spi/trunk/pom.xml
===================================================================
--- spi/trunk/pom.xml	2010-12-02 10:34:06 UTC (rev 13375)
+++ spi/trunk/pom.xml	2010-12-02 10:44:14 UTC (rev 13376)
@@ -61,18 +61,6 @@
       <version>${jboss-logging-spi.version}</version>
       <scope>provided</scope>
     </dependency>
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jbossxb</artifactId>
-      <version>${jbossxb.version}</version>
-      <scope>provided</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>sun-jaxb</groupId>
-          <artifactId>jaxb-api</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
 
     <!-- test dependencies -->
     <dependency>

Modified: spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/AbstractHandlerChainsMetaDataParser.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/AbstractHandlerChainsMetaDataParser.java	2010-12-02 10:34:06 UTC (rev 13375)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/AbstractHandlerChainsMetaDataParser.java	2010-12-02 10:44:14 UTC (rev 13376)
@@ -42,7 +42,7 @@
  */
 public abstract class AbstractHandlerChainsMetaDataParser
 {
-   protected UnifiedHandlerChainsMetaData parseHandlerChains(XMLStreamReader reader) throws XMLStreamException
+   protected UnifiedHandlerChainsMetaData parseHandlerChains(XMLStreamReader reader, String nsUri) throws XMLStreamException
    {
       UnifiedHandlerChainsMetaData handlerChains = new UnifiedHandlerChainsMetaData();
       while (reader.hasNext())
@@ -50,7 +50,7 @@
          switch (reader.nextTag())
          {
             case XMLStreamConstants.END_ELEMENT : {
-               if (match(reader, QNAME_HANDLER_CHAINS))
+               if (match(reader, nsUri, HANDLER_CHAINS))
                {
                   return handlerChains;
                }
@@ -60,8 +60,8 @@
                }
             }
             case XMLStreamConstants.START_ELEMENT : {
-               if (match(reader, QNAME_HANDLER_CHAIN)) {
-                  handlerChains.addHandlerChain(parseHandlerChain(reader, handlerChains));
+               if (match(reader, nsUri, HANDLER_CHAIN)) {
+                  handlerChains.addHandlerChain(parseHandlerChain(reader, nsUri, handlerChains));
                }
                else
                {
@@ -73,7 +73,7 @@
       throw new IllegalStateException("Reached end of xml document unexpectedly");
    }
    
-   private UnifiedHandlerChainMetaData parseHandlerChain(XMLStreamReader reader, UnifiedHandlerChainsMetaData handlerChains) throws XMLStreamException
+   private UnifiedHandlerChainMetaData parseHandlerChain(XMLStreamReader reader, String nsUri, UnifiedHandlerChainsMetaData handlerChains) throws XMLStreamException
    {
       UnifiedHandlerChainMetaData handlerChain = new UnifiedHandlerChainMetaData(handlerChains);
       while (reader.hasNext())
@@ -81,7 +81,7 @@
          switch (reader.nextTag())
          {
             case XMLStreamConstants.END_ELEMENT : {
-               if (match(reader, QNAME_HANDLER_CHAIN))
+               if (match(reader, nsUri, HANDLER_CHAIN))
                {
                   return handlerChain;
                }
@@ -91,20 +91,20 @@
                }
             }
             case XMLStreamConstants.START_ELEMENT : {
-               if (match(reader, QNAME_CHAIN_PORT_PATTERN))
+               if (match(reader, nsUri, CHAIN_PORT_PATTERN))
                {
                   handlerChain.setPortNamePattern(elementAsQName(reader));
                }
-               else if (match(reader, QNAME_CHAIN_SERVICE_PATTERN))
+               else if (match(reader, nsUri, CHAIN_SERVICE_PATTERN))
                {
                   handlerChain.setServiceNamePattern(elementAsQName(reader));
                }
-               else if(match(reader, QNAME_CHAIN_PROTOCOL_BINDING))
+               else if(match(reader, nsUri, CHAIN_PROTOCOL_BINDING))
                {
                   handlerChain.setProtocolBindings(elementAsString(reader));
                }
-               else if (match(reader, QNAME_HANDLER)) {
-                  handlerChain.addHandler(parseHandler(reader, handlerChain));
+               else if (match(reader, nsUri, HANDLER)) {
+                  handlerChain.addHandler(parseHandler(reader, nsUri, handlerChain));
                }
                else
                {
@@ -116,15 +116,20 @@
       throw new IllegalStateException("Reached end of xml document unexpectedly");
    }
    
-   private UnifiedHandlerMetaData parseHandler(XMLStreamReader reader, UnifiedHandlerChainMetaData handlerChain) throws XMLStreamException
+   protected UnifiedHandlerMetaData parseHandler(XMLStreamReader reader, String nsUri) throws XMLStreamException
    {
+      return parseHandler(reader, nsUri, null);
+   }
+   
+   private UnifiedHandlerMetaData parseHandler(XMLStreamReader reader, String nsUri, UnifiedHandlerChainMetaData handlerChain) throws XMLStreamException
+   {
       UnifiedHandlerMetaData handler = new UnifiedHandlerMetaData(handlerChain);
       while (reader.hasNext())
       {
          switch (reader.nextTag())
          {
             case XMLStreamConstants.END_ELEMENT : {
-               if (match(reader, QNAME_HANDLER))
+               if (match(reader, nsUri, HANDLER))
                {
                   return handler;
                }
@@ -134,21 +139,21 @@
                }
             }
             case XMLStreamConstants.START_ELEMENT : {
-               if (match(reader, QNAME_HANDLER_NAME))
+               if (match(reader, nsUri, HANDLER_NAME))
                {
                   handler.setHandlerName(elementAsString(reader));
                }
-               else if (match(reader, QNAME_HANDLER_CLASS))
+               else if (match(reader, nsUri, HANDLER_CLASS))
                {
                   handler.setHandlerClass(elementAsString(reader));
                }
-               else if (match(reader, QNAME_HANDLER_PARAM)) {
-                  handler.addInitParam(parseInitParam(reader));
+               else if (match(reader, nsUri, HANDLER_PARAM)) {
+                  handler.addInitParam(parseInitParam(reader, nsUri));
                }
-               else if (match(reader, QNAME_HANDLER_SOAP_ROLE)) {
+               else if (match(reader, nsUri, HANDLER_SOAP_ROLE)) {
                   handler.addSoapRole(elementAsString(reader));
                }
-               else if (match(reader, QNAME_HANDLER_SOAP_HEADER)) {
+               else if (match(reader, nsUri, HANDLER_SOAP_HEADER)) {
                   handler.addSoapHeader(elementAsQName(reader));
                }
                else
@@ -161,7 +166,7 @@
       throw new IllegalStateException("Reached end of xml document unexpectedly");
    }
 
-   private UnifiedInitParamMetaData parseInitParam(XMLStreamReader reader) throws XMLStreamException
+   private UnifiedInitParamMetaData parseInitParam(XMLStreamReader reader, String nsUri) throws XMLStreamException
    {
       UnifiedInitParamMetaData initParam = new UnifiedInitParamMetaData();
       while (reader.hasNext())
@@ -169,7 +174,7 @@
          switch (reader.nextTag())
          {
             case XMLStreamConstants.END_ELEMENT : {
-               if (match(reader, QNAME_HANDLER_PARAM))
+               if (match(reader, nsUri, HANDLER_PARAM))
                {
                   return initParam;
                }
@@ -179,11 +184,11 @@
                }
             }
             case XMLStreamConstants.START_ELEMENT : {
-               if (match(reader, QNAME_HANDLER_PARAM_NAME))
+               if (match(reader, nsUri, HANDLER_PARAM_NAME))
                {
                   initParam.setParamName(elementAsString(reader));
                }
-               else if (match(reader, QNAME_HANDLER_PARAM_VALUE))
+               else if (match(reader, nsUri, HANDLER_PARAM_VALUE))
                {
                   initParam.setParamValue(elementAsString(reader));
                }

Added: spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/DescriptorParser.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/DescriptorParser.java	                        (rev 0)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/DescriptorParser.java	2010-12-02 10:44:14 UTC (rev 13376)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.metadata;
+
+import java.net.URL;
+
+/**
+ * 
+ *
+ * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
+ * @author alessio.soldano at jboss.com
+ */
+public interface DescriptorParser<T>
+{
+   /**
+    * Descriptor name to parse and process.
+    * @return descriptor name to consume.
+    */
+   String getDescriptorName();
+   
+   /**
+    * Parses the descriptor at the provided URL and returns
+    * the corresponding object (metadata)
+    * 
+    * @param url
+    * @return
+    */
+   T parse(final URL url);
+}

Modified: spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/DescriptorProcessor.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/DescriptorProcessor.java	2010-12-02 10:34:06 UTC (rev 13375)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/DescriptorProcessor.java	2010-12-02 10:44:14 UTC (rev 13376)
@@ -21,15 +21,14 @@
  */
 package org.jboss.wsf.spi.metadata;
 
-import java.net.URL;
 
-import org.jboss.xb.binding.ObjectModelFactory;
-
 /**
  * Descriptor processor is abstraction over configuration procesing.
+ * @deprecated This will be replaced by {@link org.jboss.wsf.spi.metadata.DescriptorParser} interface.
  *
  * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
  */
+ at Deprecated
 public interface DescriptorProcessor<T>
 {
    /**
@@ -41,10 +40,10 @@
     * Descriptor name to parse and process.
     * @return descriptor name to consume.
     */
-   String getDescriptorName();
-   /**
-    * OM factory building object tree from the configuration file.
-    * @return OM factory
-    */
-   ObjectModelFactory getFactory(final URL url);
+   String getDescriptorName();   
+//   /**
+//    * OM factory building object tree from the configuration file.
+//    * @return OM factory
+//    */
+//   ObjectModelFactory getFactory(final URL url);
 }

Modified: spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/ParserConstants.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/ParserConstants.java	2010-12-02 10:34:06 UTC (rev 13375)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/ParserConstants.java	2010-12-02 10:44:14 UTC (rev 13376)
@@ -21,8 +21,6 @@
  */
 package org.jboss.wsf.spi.metadata;
 
-import javax.xml.namespace.QName;
-
 /**
  * Constants for parsing descriptors
  * 
@@ -33,72 +31,74 @@
 public abstract class ParserConstants
 {
    public static final String JAVAEE_NS = "http://java.sun.com/xml/ns/javaee";
+   
+   public static final String J2EE_NS = "http://java.sun.com/xml/ns/j2ee";
 
-   public static final QName QNAME_CHAIN_PORT_PATTERN = new QName(JAVAEE_NS, "port-name-pattern");
+   public static final String CHAIN_PORT_PATTERN = "port-name-pattern";
 
-   public static final QName QNAME_CHAIN_PROTOCOL_BINDING = new QName(JAVAEE_NS, "protocol-bindings");
+   public static final String CHAIN_PROTOCOL_BINDING = "protocol-bindings";
 
-   public static final QName QNAME_CHAIN_SERVICE_PATTERN = new QName(JAVAEE_NS, "service-name-pattern");
+   public static final String CHAIN_SERVICE_PATTERN = "service-name-pattern";
 
-   public static final QName QNAME_HANDLER_CHAIN = new QName(JAVAEE_NS, "handler-chain");
+   public static final String HANDLER_CHAIN = "handler-chain";
 
-   public static final QName QNAME_HANDLER_CHAINS = new QName(JAVAEE_NS, "handler-chains");
+   public static final String HANDLER_CHAINS = "handler-chains";
 
-   public static final QName QNAME_HANDLER = new QName(JAVAEE_NS, "handler");
+   public static final String HANDLER = "handler";
 
-   public static final QName QNAME_HANDLER_NAME = new QName(JAVAEE_NS, "handler-name");
+   public static final String HANDLER_NAME = "handler-name";
 
-   public static final QName QNAME_HANDLER_CLASS = new QName(JAVAEE_NS, "handler-class");
+   public static final String HANDLER_CLASS = "handler-class";
 
-   public static final QName QNAME_HANDLER_SOAP_ROLE = new QName(JAVAEE_NS, "soap-role");
+   public static final String HANDLER_SOAP_ROLE = "soap-role";
 
-   public static final QName QNAME_HANDLER_SOAP_HEADER = new QName(JAVAEE_NS, "soap-header");
+   public static final String HANDLER_SOAP_HEADER = "soap-header";
 
-   public static final QName QNAME_HANDLER_PARAM = new QName(JAVAEE_NS, "init-param");
+   public static final String HANDLER_PARAM = "init-param";
 
-   public static final QName QNAME_HANDLER_PARAM_NAME = new QName(JAVAEE_NS, "param-name");
+   public static final String HANDLER_PARAM_NAME = "param-name";
 
-   public static final QName QNAME_HANDLER_PARAM_VALUE = new QName(JAVAEE_NS, "param-value");
+   public static final String HANDLER_PARAM_VALUE = "param-value";
 
-   public static final QName QNAME_WEBSERVICES = new QName(JAVAEE_NS, "webservices");
+   public static final String WEBSERVICES = "webservices";
 
-   public static final QName QNAME_WEBSERVICE_DESCRIPTION = new QName(JAVAEE_NS, "webservice-description");
+   public static final String WEBSERVICE_DESCRIPTION = "webservice-description";
 
-   public static final QName QNAME_WEBSERVICE_DESCRIPTION_NAME = new QName(JAVAEE_NS, "webservice-description-name");
+   public static final String WEBSERVICE_DESCRIPTION_NAME = "webservice-description-name";
 
-   public static final QName QNAME_JAXRPC_MAPPING_FILE = new QName(JAVAEE_NS, "jaxrpc-mapping-file");
+   public static final String JAXRPC_MAPPING_FILE = "jaxrpc-mapping-file";
 
-   public static final QName QNAME_WSDL_FILE = new QName(JAVAEE_NS, "wsdl-file");
+   public static final String WSDL_FILE = "wsdl-file";
 
-   public static final QName QNAME_PORT_COMPONENT = new QName(JAVAEE_NS, "port-component");
+   public static final String PORT_COMPONENT = "port-component";
 
-   public static final QName QNAME_PORT_COMPONENT_NAME = new QName(JAVAEE_NS, "port-component-name");
+   public static final String PORT_COMPONENT_NAME = "port-component-name";
 
-   public static final QName QNAME_WSDL_SERVICE = new QName(JAVAEE_NS, "wsdl-service");
+   public static final String WSDL_SERVICE = "wsdl-service";
 
-   public static final QName QNAME_WSDL_PORT = new QName(JAVAEE_NS, "wsdl-port");
+   public static final String WSDL_PORT = "wsdl-port";
 
-   public static final QName QNAME_ENABLE_MTOM = new QName(JAVAEE_NS, "enable-mtom");
+   public static final String ENABLE_MTOM = "enable-mtom";
 
-   public static final QName QNAME_MTOM_THRESHOLD = new QName(JAVAEE_NS, "mtom-threshold");
+   public static final String MTOM_THRESHOLD = "mtom-threshold";
 
-   public static final QName QNAME_ADDRESSING = new QName(JAVAEE_NS, "addressing");
+   public static final String ADDRESSING = "addressing";
 
-   public static final QName QNAME_ADDRESSING_RESPONSES = new QName(JAVAEE_NS, "responses");
+   public static final String ADDRESSING_RESPONSES = "responses";
 
-   public static final QName QNAME_RESPECT_BINDING = new QName(JAVAEE_NS, "respect-binding");
+   public static final String RESPECT_BINDING = "respect-binding";
 
-   public static final QName QNAME_PROTOCOL_BINDING = new QName(JAVAEE_NS, "protocol-binding");
+   public static final String PROTOCOL_BINDING = "protocol-binding";
 
-   public static final QName QNAME_SERVICE_ENDPOINT_INTERFACE = new QName(JAVAEE_NS, "service-endpoint-interface");
+   public static final String SERVICE_ENDPOINT_INTERFACE = "service-endpoint-interface";
 
-   public static final QName QNAME_SERVICE_IMPL_BEAN = new QName(JAVAEE_NS, "service-impl-bean");
+   public static final String SERVICE_IMPL_BEAN = "service-impl-bean";
 
-   public static final QName QNAME_EJB_LINK = new QName(JAVAEE_NS, "ejb-link");
+   public static final String EJB_LINK = "ejb-link";
 
-   public static final QName QNAME_SERVLET_LINK = new QName(JAVAEE_NS, "servlet-link");
+   public static final String SERVLET_LINK = "servlet-link";
 
-   public static final QName QNAME_ENABLED = new QName(JAVAEE_NS, "enabled");
+   public static final String ENABLED = "enabled";
 
-   public static final QName QNAME_REQUIRED = new QName(JAVAEE_NS, "required");
+   public static final String REQUIRED = "required";
 }

Modified: spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainsMetaDataParser.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainsMetaDataParser.java	2010-12-02 10:34:06 UTC (rev 13375)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainsMetaDataParser.java	2010-12-02 10:44:14 UTC (rev 13376)
@@ -82,10 +82,10 @@
          }
          case START_ELEMENT : {
 
-            if (match(reader, QNAME_HANDLER_CHAINS))
+            if (match(reader, JAVAEE_NS, HANDLER_CHAINS) || match(reader, J2EE_NS, HANDLER_CHAINS))
             {
                UnifiedHandlerChainsMetaDataParser parser = new UnifiedHandlerChainsMetaDataParser();
-               handlerChains = parser.parseHandlerChains(reader);
+               handlerChains = parser.parseHandlerChains(reader, reader.getNamespaceURI());
             }
             else
             {

Added: spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/jms/JMSDescriptorParser.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/jms/JMSDescriptorParser.java	                        (rev 0)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/jms/JMSDescriptorParser.java	2010-12-02 10:44:14 UTC (rev 13376)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.metadata.jms;
+
+import org.jboss.wsf.spi.metadata.DescriptorParser;
+
+/**
+ * Parser for JMS UMDM.
+ * 
+ * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
+ * @author <a href="mailto:alessio.soldano at jboss.com">Alessio Soldano</a>
+ */
+public interface JMSDescriptorParser extends DescriptorParser<JMSEndpointsMetaData>
+{
+}

Modified: spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/jms/JMSDescriptorProcessor.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/jms/JMSDescriptorProcessor.java	2010-12-02 10:34:06 UTC (rev 13375)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/jms/JMSDescriptorProcessor.java	2010-12-02 10:44:14 UTC (rev 13376)
@@ -25,9 +25,11 @@
 
 /**
  * Processor for JMS UMDM.
+ * @deprecated To be replaced by {@link org.jboss.wsf.spi.metadata.jms.JMSDescriptorParser}
  * 
  * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
  */
+ at Deprecated
 public interface JMSDescriptorProcessor extends DescriptorProcessor<JMSEndpointsMetaData>
 {
 }

Added: spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesDescriptorParser.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesDescriptorParser.java	                        (rev 0)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesDescriptorParser.java	2010-12-02 10:44:14 UTC (rev 13376)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.metadata.webservices;
+
+import org.jboss.wsf.spi.metadata.DescriptorParser;
+
+/**
+ * Parser for WS UMDM.
+ * 
+ * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
+ * @author <a href="mailto:alessio.soldano at jboss.com">Alessio Soldano</a>
+ */
+public interface WebservicesDescriptorParser extends DescriptorParser<WebservicesMetaData>
+{
+}

Modified: spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesDescriptorProcessor.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesDescriptorProcessor.java	2010-12-02 10:34:06 UTC (rev 13375)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesDescriptorProcessor.java	2010-12-02 10:44:14 UTC (rev 13376)
@@ -27,7 +27,9 @@
  * Processor for WS UMDM.
  * 
  * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
+ * @deprecated To be replaced by {@link org.jboss.wsf.spi.metadata.webservices.DescriptorParser}
  */
+ at Deprecated
 public interface WebservicesDescriptorProcessor extends DescriptorProcessor<WebservicesMetaData>
 {
 }

Modified: spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesFactory.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesFactory.java	2010-12-02 10:34:06 UTC (rev 13375)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesFactory.java	2010-12-02 10:44:14 UTC (rev 13376)
@@ -23,7 +23,31 @@
 
 import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
 import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-import static org.jboss.wsf.spi.metadata.ParserConstants.*;
+import static org.jboss.wsf.spi.metadata.ParserConstants.ADDRESSING;
+import static org.jboss.wsf.spi.metadata.ParserConstants.ADDRESSING_RESPONSES;
+import static org.jboss.wsf.spi.metadata.ParserConstants.EJB_LINK;
+import static org.jboss.wsf.spi.metadata.ParserConstants.ENABLED;
+import static org.jboss.wsf.spi.metadata.ParserConstants.ENABLE_MTOM;
+import static org.jboss.wsf.spi.metadata.ParserConstants.HANDLER;
+import static org.jboss.wsf.spi.metadata.ParserConstants.HANDLER_CHAINS;
+import static org.jboss.wsf.spi.metadata.ParserConstants.J2EE_NS;
+import static org.jboss.wsf.spi.metadata.ParserConstants.JAVAEE_NS;
+import static org.jboss.wsf.spi.metadata.ParserConstants.JAXRPC_MAPPING_FILE;
+import static org.jboss.wsf.spi.metadata.ParserConstants.MTOM_THRESHOLD;
+import static org.jboss.wsf.spi.metadata.ParserConstants.PORT_COMPONENT;
+import static org.jboss.wsf.spi.metadata.ParserConstants.PORT_COMPONENT_NAME;
+import static org.jboss.wsf.spi.metadata.ParserConstants.PROTOCOL_BINDING;
+import static org.jboss.wsf.spi.metadata.ParserConstants.REQUIRED;
+import static org.jboss.wsf.spi.metadata.ParserConstants.RESPECT_BINDING;
+import static org.jboss.wsf.spi.metadata.ParserConstants.SERVICE_ENDPOINT_INTERFACE;
+import static org.jboss.wsf.spi.metadata.ParserConstants.SERVICE_IMPL_BEAN;
+import static org.jboss.wsf.spi.metadata.ParserConstants.SERVLET_LINK;
+import static org.jboss.wsf.spi.metadata.ParserConstants.WEBSERVICES;
+import static org.jboss.wsf.spi.metadata.ParserConstants.WEBSERVICE_DESCRIPTION;
+import static org.jboss.wsf.spi.metadata.ParserConstants.WEBSERVICE_DESCRIPTION_NAME;
+import static org.jboss.wsf.spi.metadata.ParserConstants.WSDL_FILE;
+import static org.jboss.wsf.spi.metadata.ParserConstants.WSDL_PORT;
+import static org.jboss.wsf.spi.metadata.ParserConstants.WSDL_SERVICE;
 import static org.jboss.wsf.spi.util.StAXUtils.elementAsBoolean;
 import static org.jboss.wsf.spi.util.StAXUtils.elementAsInt;
 import static org.jboss.wsf.spi.util.StAXUtils.elementAsQName;
@@ -42,14 +66,7 @@
 import org.jboss.logging.Logger;
 import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
 import org.jboss.wsf.spi.metadata.AbstractHandlerChainsMetaDataParser;
-import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainsMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedInitParamMetaData;
 import org.jboss.wsf.spi.util.StAXUtils;
-import org.jboss.xb.binding.ObjectModelFactory;
-import org.jboss.xb.binding.UnmarshallingContext;
-import org.xml.sax.Attributes;
 
 /**
  * A JBossXB factory for {@link WebservicesMetaData}
@@ -57,7 +74,7 @@
  * @author Thomas.Diesler at jboss.org
  * @since 16-Apr-2004
  */
-public class WebservicesFactory extends AbstractHandlerChainsMetaDataParser implements ObjectModelFactory
+public class WebservicesFactory extends AbstractHandlerChainsMetaDataParser
 {
    // provide logging
    private static final Logger log = Logger.getLogger(WebservicesFactory.class);
@@ -110,30 +127,33 @@
       // the descriptor is optional
       if (wsdd != null)
       {
+         return load(wsdd.toURL());
+      }
 
-         URL wsddUrl = wsdd.toURL();
-         InputStream is = null;
+      return webservices;
+   }
+   
+   public static WebservicesMetaData load(URL wsddUrl)
+   {
+      InputStream is = null;
+      try
+      {
+         is = wsddUrl.openStream();
+         XMLStreamReader xmlr = StAXUtils.createXMLStreamReader(is);
+         return parse(xmlr, wsddUrl);
+      }
+      catch (Exception e)
+      {
+         throw new WebServiceException("Failed to unmarshall " + wsddUrl + ":" + e.getMessage(), e);
+      }
+      finally
+      {
          try
          {
-            is = wsddUrl.openStream();
-            XMLStreamReader xmlr = StAXUtils.createXMLStreamReader(is);
-            webservices = parse(xmlr, wsddUrl);
+            if (is != null) is.close();
          }
-         catch (Exception e)
-         {
-            throw new WebServiceException("Failed to unmarshall " + wsddUrl + ":" + e.getMessage());
-         }
-         finally
-         {
-            try
-            {
-               if (is != null) is.close();
-            }
-            catch (IOException e) {} //ignore
-         }
+         catch (IOException e) {} //ignore
       }
-
-      return webservices;
    }
    
    public static WebservicesMetaData parse(InputStream is)
@@ -180,10 +200,11 @@
          }
          case START_ELEMENT : {
 
-            if (match(reader, QNAME_WEBSERVICES))
+            if (match(reader, JAVAEE_NS, WEBSERVICES) || match(reader, J2EE_NS, WEBSERVICES))
             {
+               String nsUri = reader.getNamespaceURI();
                WebservicesFactory factory = new WebservicesFactory(descriptorURL);
-               metadata = factory.parseWebservices(reader, descriptorURL);
+               metadata = factory.parseWebservices(reader, nsUri, descriptorURL);
             }
             else
             {
@@ -194,7 +215,7 @@
       return metadata;
    }
    
-   private WebservicesMetaData parseWebservices(XMLStreamReader reader, URL descriptorURL) throws XMLStreamException
+   private WebservicesMetaData parseWebservices(XMLStreamReader reader, String nsUri, URL descriptorURL) throws XMLStreamException
    {
       WebservicesMetaData metadata = new WebservicesMetaData(descriptorURL);
       while (reader.hasNext())
@@ -202,7 +223,7 @@
          switch (reader.nextTag())
          {
             case XMLStreamConstants.END_ELEMENT : {
-               if (match(reader, QNAME_WEBSERVICES))
+               if (match(reader, nsUri, WEBSERVICES))
                {
                   return metadata;
                }
@@ -212,8 +233,8 @@
                }
             }
             case XMLStreamConstants.START_ELEMENT : {
-               if (match(reader, QNAME_WEBSERVICE_DESCRIPTION)) {
-                  metadata.addWebserviceDescription(parseWebserviceDescription(reader, metadata));
+               if (match(reader, nsUri, WEBSERVICE_DESCRIPTION)) {
+                  metadata.addWebserviceDescription(parseWebserviceDescription(reader, nsUri, metadata));
                }
                else
                {
@@ -225,7 +246,7 @@
       throw new IllegalStateException("Reached end of xml document unexpectedly");
    }
    
-   private WebserviceDescriptionMetaData parseWebserviceDescription(XMLStreamReader reader, WebservicesMetaData wsMetaData) throws XMLStreamException
+   private WebserviceDescriptionMetaData parseWebserviceDescription(XMLStreamReader reader, String nsUri, WebservicesMetaData wsMetaData) throws XMLStreamException
    {
       WebserviceDescriptionMetaData description = new WebserviceDescriptionMetaData(wsMetaData);
       while (reader.hasNext())
@@ -233,7 +254,7 @@
          switch (reader.nextTag())
          {
             case XMLStreamConstants.END_ELEMENT : {
-               if (match(reader, QNAME_WEBSERVICE_DESCRIPTION))
+               if (match(reader, nsUri, WEBSERVICE_DESCRIPTION))
                {
                   return description;
                }
@@ -243,17 +264,17 @@
                }
             }
             case XMLStreamConstants.START_ELEMENT : {
-               if (match(reader, QNAME_WEBSERVICE_DESCRIPTION_NAME)) {
+               if (match(reader, nsUri, WEBSERVICE_DESCRIPTION_NAME)) {
                   description.setWebserviceDescriptionName(elementAsString(reader));
                }
-               else if (match(reader, QNAME_WSDL_FILE)) {
+               else if (match(reader, nsUri, WSDL_FILE)) {
                   description.setWsdlFile(elementAsString(reader));
                }
-               else if (match(reader, QNAME_JAXRPC_MAPPING_FILE)) {
+               else if (match(reader, nsUri, JAXRPC_MAPPING_FILE)) {
                   description.setJaxrpcMappingFile(elementAsString(reader));
                }
-               else if (match(reader, QNAME_PORT_COMPONENT)) {
-                  description.addPortComponent(parsePortComponent(reader, description));
+               else if (match(reader, nsUri, PORT_COMPONENT)) {
+                  description.addPortComponent(parsePortComponent(reader, nsUri, description));
                }
                else
                {
@@ -265,7 +286,7 @@
       throw new IllegalStateException("Reached end of xml document unexpectedly");
    }
    
-   private PortComponentMetaData parsePortComponent(XMLStreamReader reader, WebserviceDescriptionMetaData desc) throws XMLStreamException
+   private PortComponentMetaData parsePortComponent(XMLStreamReader reader, String nsUri, WebserviceDescriptionMetaData desc) throws XMLStreamException
    {
       PortComponentMetaData pc = new PortComponentMetaData(desc);
       while (reader.hasNext())
@@ -273,7 +294,7 @@
          switch (reader.nextTag())
          {
             case XMLStreamConstants.END_ELEMENT : {
-               if (match(reader, QNAME_PORT_COMPONENT))
+               if (match(reader, nsUri, PORT_COMPONENT))
                {
                   return pc;
                }
@@ -283,39 +304,42 @@
                }
             }
             case XMLStreamConstants.START_ELEMENT : {
-               if (match(reader, QNAME_PORT_COMPONENT_NAME)) {
+               if (match(reader, nsUri, PORT_COMPONENT_NAME)) {
                   pc.setPortComponentName(elementAsString(reader));
                }
-               else if (match(reader, QNAME_WSDL_SERVICE)) {
+               else if (match(reader, nsUri, WSDL_SERVICE)) {
                   pc.setWsdlService(elementAsQName(reader));
                }
-               else if (match(reader, QNAME_WSDL_PORT)) {
+               else if (match(reader, nsUri, WSDL_PORT)) {
                   pc.setWsdlPort(elementAsQName(reader));
                }
-               else if (match(reader, QNAME_ENABLE_MTOM)) {
+               else if (match(reader, nsUri, ENABLE_MTOM)) {
                   pc.setMtomEnabled(elementAsBoolean(reader));
                }
-               else if (match(reader, QNAME_MTOM_THRESHOLD)) {
+               else if (match(reader, nsUri, MTOM_THRESHOLD)) {
                   pc.setMtomThreshold(elementAsInt(reader));
                }
-               else if (match(reader, QNAME_ADDRESSING)) {
-                  parseAddressing(reader, pc);
+               else if (match(reader, nsUri, ADDRESSING)) {
+                  parseAddressing(reader, nsUri, pc);
                }
-               else if (match(reader, QNAME_RESPECT_BINDING)) {
-                  parseRespectBinding(reader, pc);
+               else if (match(reader, nsUri, RESPECT_BINDING)) {
+                  parseRespectBinding(reader, nsUri, pc);
                }
-               else if (match(reader, QNAME_PROTOCOL_BINDING)) {
+               else if (match(reader, nsUri, PROTOCOL_BINDING)) {
                   pc.setProtocolBinding(elementAsString(reader));
                }
-               else if (match(reader, QNAME_SERVICE_ENDPOINT_INTERFACE)) {
+               else if (match(reader, nsUri, SERVICE_ENDPOINT_INTERFACE)) {
                   pc.setServiceEndpointInterface(elementAsString(reader));
                }
-               else if (match(reader, QNAME_SERVICE_IMPL_BEAN)) {
-                  parseServiceImplBean(reader, pc);
+               else if (match(reader, nsUri, SERVICE_IMPL_BEAN)) {
+                  parseServiceImplBean(reader, nsUri, pc);
                }
-               else if (match(reader, QNAME_HANDLER_CHAINS)) {
-                  pc.setHandlerChains(parseHandlerChains(reader));
+               else if (match(reader, nsUri, HANDLER_CHAINS)) {
+                  pc.setHandlerChains(parseHandlerChains(reader, nsUri));
                }
+               else if (match(reader, nsUri, HANDLER)) {
+                  pc.addHandler(parseHandler(reader, nsUri));
+               }
                else
                {
                   throw new IllegalStateException("Unexpected element: " + reader.getLocalName());
@@ -326,14 +350,14 @@
       throw new IllegalStateException("Reached end of xml document unexpectedly");
    }
    
-   private void parseAddressing(XMLStreamReader reader, PortComponentMetaData pc) throws XMLStreamException
+   private void parseAddressing(XMLStreamReader reader, String nsUri, PortComponentMetaData pc) throws XMLStreamException
    {
       while (reader.hasNext())
       {
          switch (reader.nextTag())
          {
             case XMLStreamConstants.END_ELEMENT : {
-               if (match(reader, QNAME_ADDRESSING))
+               if (match(reader, nsUri, ADDRESSING))
                {
                   return;
                }
@@ -343,13 +367,13 @@
                }
             }
             case XMLStreamConstants.START_ELEMENT : {
-               if (match(reader, QNAME_ENABLED)) {
+               if (match(reader, nsUri, ENABLED)) {
                   pc.setAddressingEnabled(elementAsBoolean(reader));
                }
-               else if (match(reader, QNAME_REQUIRED)) {
+               else if (match(reader, nsUri, REQUIRED)) {
                   pc.setAddressingRequired(elementAsBoolean(reader));
                }
-               else if (match(reader, QNAME_ADDRESSING_RESPONSES)) {
+               else if (match(reader, nsUri, ADDRESSING_RESPONSES)) {
                   pc.setAddressingResponses(elementAsString(reader));
                }
                else
@@ -362,14 +386,14 @@
       throw new IllegalStateException("Reached end of xml document unexpectedly");
    }
    
-   private void parseRespectBinding(XMLStreamReader reader, PortComponentMetaData pc) throws XMLStreamException
+   private void parseRespectBinding(XMLStreamReader reader, String nsUri, PortComponentMetaData pc) throws XMLStreamException
    {
       while (reader.hasNext())
       {
          switch (reader.nextTag())
          {
             case XMLStreamConstants.END_ELEMENT : {
-               if (match(reader, QNAME_RESPECT_BINDING))
+               if (match(reader, nsUri, RESPECT_BINDING))
                {
                   return;
                }
@@ -379,7 +403,7 @@
                }
             }
             case XMLStreamConstants.START_ELEMENT : {
-               if (match(reader, QNAME_ENABLED)) {
+               if (match(reader, nsUri, ENABLED)) {
                   pc.setRespectBindingEnabled(elementAsBoolean(reader));
                }
                else
@@ -392,14 +416,14 @@
       throw new IllegalStateException("Reached end of xml document unexpectedly");
    }
    
-   private void parseServiceImplBean(XMLStreamReader reader, PortComponentMetaData pc) throws XMLStreamException
+   private void parseServiceImplBean(XMLStreamReader reader, String nsUri, PortComponentMetaData pc) throws XMLStreamException
    {
       while (reader.hasNext())
       {
          switch (reader.nextTag())
          {
             case XMLStreamConstants.END_ELEMENT : {
-               if (match(reader, QNAME_SERVICE_IMPL_BEAN))
+               if (match(reader, nsUri, SERVICE_IMPL_BEAN))
                {
                   return;
                }
@@ -409,10 +433,10 @@
                }
             }
             case XMLStreamConstants.START_ELEMENT : {
-               if (match(reader, QNAME_SERVLET_LINK)) {
+               if (match(reader, nsUri, SERVLET_LINK)) {
                   pc.setServletLink(elementAsString(reader));
                }
-               else if (match(reader, QNAME_EJB_LINK)) {
+               else if (match(reader, nsUri, EJB_LINK)) {
                   pc.setEjbLink(elementAsString(reader));
                }
                else
@@ -424,248 +448,4 @@
       }
       throw new IllegalStateException("Reached end of xml document unexpectedly");
    }
-   
-   //-----------------------------------------
-   //TODO Below are methods to be removed....
-   //-----------------------------------------
-
-   /**
-    * This method is called on the factory by the object model builder when the parsing starts.
-    *
-    * @return the root of the object model.
-    */
-   public Object newRoot(Object root, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
-   {
-      WebservicesMetaData webservicesMetaData = new WebservicesMetaData(descriptorURL);
-      return webservicesMetaData;
-   }
-
-   public Object completeRoot(Object root, UnmarshallingContext ctx, String uri, String name)
-   {
-      return root;
-   }
-
-   /**
-    * Called when parsing of a new element started.
-    */
-   public Object newChild(WebservicesMetaData webservices, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
-   {
-      if ("webservice-description".equals(localName))
-         return new WebserviceDescriptionMetaData(webservices);
-      else return null;
-   }
-
-   /**
-    * Called when parsing character is complete.
-    */
-   public void addChild(WebservicesMetaData webservices, WebserviceDescriptionMetaData webserviceDescription, UnmarshallingContext navigator, String namespaceURI,
-         String localName)
-   {
-      webservices.addWebserviceDescription(webserviceDescription);
-   }
-
-   /**
-    * Called when parsing of a new element started.
-    */
-   public Object newChild(WebserviceDescriptionMetaData webserviceDescription, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
-   {
-      if ("port-component".equals(localName))
-         return new PortComponentMetaData(webserviceDescription);
-      else return null;
-   }
-
-   /**
-    * Called when parsing character is complete.
-    */
-   public void addChild(WebserviceDescriptionMetaData webserviceDescription, PortComponentMetaData portComponent, UnmarshallingContext navigator, String namespaceURI,
-         String localName)
-   {
-      webserviceDescription.addPortComponent(portComponent);
-   }
-
-   /**
-    * Called when parsing of a new element started.
-    */
-   public Object newChild(PortComponentMetaData portComponent, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
-   {
-      if ("handler".equals(localName))
-         return new UnifiedHandlerMetaData(null);
-      else if ("handler-chains".equals(localName))
-         return new UnifiedHandlerChainsMetaData();
-      // @Addressing related elements
-      else if ("addressing".equals(localName)) {
-         processingAddressingElement = true;
-         processingRespectBindingElement = false;
-      }
-      // @RespectBinding related elements
-      else if ("respect-binding".equals(localName)) {
-         processingAddressingElement = false;
-         processingRespectBindingElement = true;
-      }
-      
-      return null;
-   }
-
-   /**
-    * Called when parsing of a new element started.
-    */
-   public Object newChild(UnifiedHandlerChainsMetaData handlerChains, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
-   {
-      if ("handler-chain".equals(localName))
-         return new UnifiedHandlerChainMetaData();
-      else return null;
-   }
-
-   /**
-    * Called when parsing of a new element started.
-    */
-   public Object newChild(UnifiedHandlerChainMetaData handlerChains, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
-   {
-      if ("handler".equals(localName))
-         return new UnifiedHandlerMetaData();
-      else return null;
-   }
-
-   /**
-    * Called when parsing character is complete.
-    */
-   public void addChild(PortComponentMetaData portComponent, UnifiedHandlerMetaData handler, UnmarshallingContext navigator, String namespaceURI, String localName)
-   {
-      portComponent.addHandler(handler);
-   }
-
-   /**
-    * Called when parsing character is complete.
-    */
-   public void addChild(PortComponentMetaData portComponent, UnifiedHandlerChainsMetaData handlerChains, UnmarshallingContext navigator, String namespaceURI,
-         String localName)
-   {
-      portComponent.setHandlerChains(handlerChains);
-   }
-
-   /**
-    * Called when parsing character is complete.
-    */
-   public void addChild(UnifiedHandlerChainsMetaData chains, UnifiedHandlerChainMetaData handlerChain, UnmarshallingContext navigator, String namespaceURI,
-         String localName)
-   {
-      chains.addHandlerChain(handlerChain);
-   }
-
-   /**
-    * Called when parsing character is complete.
-    */
-   public void addChild(UnifiedHandlerChainMetaData chain, UnifiedHandlerMetaData handler, UnmarshallingContext navigator, String namespaceURI, String localName)
-   {
-      chain.addHandler(handler);
-   }
-
-   /**
-    * Called when parsing of a new element started.
-    */
-   public Object newChild(UnifiedHandlerMetaData handler, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
-   {
-      if ("init-param".equals(localName))
-         return new UnifiedInitParamMetaData();
-      else return null;
-   }
-
-   /**
-    * Called when parsing character is complete.
-    */
-   public void addChild(UnifiedHandlerMetaData handler, UnifiedInitParamMetaData param, UnmarshallingContext navigator, String namespaceURI, String localName)
-   {
-      handler.addInitParam(param);
-   }
-
-   /**
-    * Called when a new simple child element with text value was read from the XML content.
-    */
-   public void setValue(WebserviceDescriptionMetaData webserviceDescription, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (log.isTraceEnabled())
-         log.trace("WebserviceDescriptionMetaData setValue: nuri=" + namespaceURI + " localName=" + localName + " value=" + value);
-
-      if (localName.equals("webservice-description-name"))
-         webserviceDescription.setWebserviceDescriptionName(value);
-      else if (localName.equals("wsdl-file"))
-         webserviceDescription.setWsdlFile(value);
-      else if (localName.equals("jaxrpc-mapping-file"))
-         webserviceDescription.setJaxrpcMappingFile(value);
-   }
-
-   /**
-    * Called when a new simple child element with text value was read from the XML content.
-    */
-   public void setValue(PortComponentMetaData portComponent, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (log.isTraceEnabled())
-         log.trace("PortComponentMetaData setValue: nuri=" + namespaceURI + " localName=" + localName + " value=" + value);
-
-      if (localName.equals("port-component-name"))
-         portComponent.setPortComponentName(value);
-      else if (localName.equals("wsdl-port"))
-         portComponent.setWsdlPort(navigator.resolveQName(value));
-      else if (localName.equals("service-endpoint-interface"))
-         portComponent.setServiceEndpointInterface(value);
-      else if (localName.equals("ejb-link"))
-         portComponent.setEjbLink(value);
-      else if (localName.equals("servlet-link"))
-         portComponent.setServletLink(value);
-      else if (localName.equals("wsdl-service"))
-         portComponent.setWsdlService(navigator.resolveQName(value));
-      else if (localName.equals("protocol-binding"))
-         portComponent.setProtocolBinding(value);
-      // @Addressing related elements
-      else if (localName.equals("enabled"))
-      {
-         if (processingAddressingElement)
-            portComponent.setAddressingEnabled(Boolean.valueOf(value));
-         if (processingRespectBindingElement)
-            portComponent.setRespectBindingEnabled(Boolean.valueOf(value));
-      }
-      else if (localName.equals("required") && processingAddressingElement)
-         portComponent.setAddressingRequired(Boolean.valueOf(value));
-      else if (localName.equals("responses") && processingAddressingElement)
-         portComponent.setAddressingResponses(value);
-      // @MTOM related elements
-      else if (localName.equals("enable-mtom"))
-         portComponent.setMtomEnabled(Boolean.valueOf(value));
-      else if (localName.equals("mtom-threshold"))
-         portComponent.setMtomThreshold(Integer.valueOf(value));
-   }
-
-   /**
-    * Called when a new simple child element with text value was read from the XML content.
-    */
-   public void setValue(UnifiedHandlerMetaData handler, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (log.isTraceEnabled())
-         log.trace("UnifiedHandlerMetaData setValue: nuri=" + namespaceURI + " localName=" + localName + " value=" + value);
-
-      if (localName.equals("handler-name"))
-         handler.setHandlerName(value);
-      else if (localName.equals("handler-class"))
-         handler.setHandlerClass(value);
-      else if (localName.equals("soap-header"))
-         handler.addSoapHeader(navigator.resolveQName(value));
-      else if (localName.equals("soap-role"))
-         handler.addSoapRole(value);
-      else if (localName.equals("port-name"))
-         handler.addPortName(value);
-   }
-
-   /**
-    * Called when a new simple child element with text value was read from the XML content.
-    */
-   public void setValue(UnifiedInitParamMetaData param, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (log.isTraceEnabled())
-         log.trace("UnifiedInitParamMetaData setValue: nuri=" + namespaceURI + " localName=" + localName + " value=" + value);
-
-      if (localName.equals("param-name"))
-         param.setParamName(value);
-      else if (localName.equals("param-value"))
-         param.setParamValue(value);
-   }
 }

Modified: spi/trunk/src/main/java/org/jboss/wsf/spi/util/StAXUtils.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/util/StAXUtils.java	2010-12-02 10:34:06 UTC (rev 13375)
+++ spi/trunk/src/main/java/org/jboss/wsf/spi/util/StAXUtils.java	2010-12-02 10:44:14 UTC (rev 13376)
@@ -119,6 +119,12 @@
    {
       return reader.getName().equals(name);
    }
+   
+   public static boolean match(XMLStreamReader reader, String namespace, String localName)
+   {
+      QName name = reader.getName();
+      return localName.equals(name.getLocalPart()) && namespace.equals(name.getNamespaceURI());
+   }
 
    public static String elementAsString(XMLStreamReader reader) throws XMLStreamException
    {



More information about the jbossws-commits mailing list