Author: rmannibucau
Date: Sun Jan 13 17:08:15 2013
New Revision: 1432661

URL: http://svn.apache.org/viewvc?rev=1432661&view=rev
Log:
ability to use namespacecontext in HandlerChainsStringQNameAdapter

Modified:
    
openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/HandlerChain$JAXB.java
    
openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/HandlerChains$JAXB.java
    
openejb/trunk/openejb/container/openejb-jee/src/main/java/org/apache/openejb/jee/HandlerChainsStringQNameAdapter.java

Modified: 
openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/HandlerChain$JAXB.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/HandlerChain%24JAXB.java?rev=1432661&r1=1432660&r2=1432661&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/HandlerChain$JAXB.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/HandlerChain$JAXB.java
 Sun Jan 13 17:08:15 2013
@@ -70,6 +70,9 @@ public class HandlerChain$JAXB
             context = new RuntimeContext();
         }
 
+        final HandlerChainsStringQNameAdapter 
handlerChainsStringQNameAdapterAdapter = new HandlerChainsStringQNameAdapter();
+        
handlerChainsStringQNameAdapterAdapter.setNamespaceContext(reader.getNamespaceContext());
+
         HandlerChain handlerChain = new HandlerChain();
         context.beforeUnmarshal(handlerChain, LifecycleCallback.NONE);
 
@@ -104,7 +107,7 @@ public class HandlerChain$JAXB
 
                 QName serviceNamePattern;
                 try {
-                    serviceNamePattern = 
Adapters.handlerChainsStringQNameAdapterAdapter.unmarshal(serviceNamePatternRaw);
+                    serviceNamePattern = 
handlerChainsStringQNameAdapterAdapter.unmarshal(serviceNamePatternRaw);
                 } catch (Exception e) {
                     context.xmlAdapterError(elementReader, 
HandlerChainsStringQNameAdapter.class, QName.class, QName.class, e);
                     continue;
@@ -117,7 +120,7 @@ public class HandlerChain$JAXB
 
                 QName portNamePattern;
                 try {
-                    portNamePattern = 
Adapters.handlerChainsStringQNameAdapterAdapter.unmarshal(portNamePatternRaw);
+                    portNamePattern = 
handlerChainsStringQNameAdapterAdapter.unmarshal(portNamePatternRaw);
                 } catch (Exception e) {
                     context.xmlAdapterError(elementReader, 
HandlerChainsStringQNameAdapter.class, QName.class, QName.class, e);
                     continue;
@@ -190,6 +193,9 @@ public class HandlerChain$JAXB
             context = new RuntimeContext();
         }
 
+        final HandlerChainsStringQNameAdapter 
handlerChainsStringQNameAdapterAdapter = new HandlerChainsStringQNameAdapter();
+        
handlerChainsStringQNameAdapterAdapter.setNamespaceContext(writer.getNamespaceContext());
+
         String prefix = 
writer.getUniquePrefix("http://java.sun.com/xml/ns/javaee";);
         if (HandlerChain.class != handlerChain.getClass()) {
             context.unexpectedSubclass(writer, handlerChain, 
HandlerChain.class);
@@ -215,7 +221,7 @@ public class HandlerChain$JAXB
         QName serviceNamePatternRaw = handlerChain.serviceNamePattern;
         String serviceNamePattern = null;
         try {
-            serviceNamePattern = 
Adapters.handlerChainsStringQNameAdapterAdapter.marshal(serviceNamePatternRaw);
+            serviceNamePattern = 
handlerChainsStringQNameAdapterAdapter.marshal(serviceNamePatternRaw);
         } catch (Exception e) {
             context.xmlAdapterError(handlerChain, "serviceNamePattern", 
HandlerChainsStringQNameAdapter.class, QName.class, QName.class, e);
         }
@@ -229,7 +235,7 @@ public class HandlerChain$JAXB
         QName portNamePatternRaw = handlerChain.portNamePattern;
         String portNamePattern = null;
         try {
-            portNamePattern = 
Adapters.handlerChainsStringQNameAdapterAdapter.marshal(portNamePatternRaw);
+            portNamePattern = 
handlerChainsStringQNameAdapterAdapter.marshal(portNamePatternRaw);
         } catch (Exception e) {
             context.xmlAdapterError(handlerChain, "portNamePattern", 
HandlerChainsStringQNameAdapter.class, QName.class, QName.class, e);
         }

Modified: 
openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/HandlerChains$JAXB.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/HandlerChains%24JAXB.java?rev=1432661&r1=1432660&r2=1432661&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/HandlerChains$JAXB.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/HandlerChains$JAXB.java
 Sun Jan 13 17:08:15 2013
@@ -38,7 +38,6 @@ import static org.apache.openejb.jee.Han
 public class HandlerChains$JAXB
         extends JAXBObject<HandlerChains> {
 
-
     public HandlerChains$JAXB() {
         super(HandlerChains.class, new 
QName("http://java.sun.com/xml/ns/javaee".intern(), "handler-chains".intern()), 
new QName("http://java.sun.com/xml/ns/javaee".intern(), 
"handler-chainsType".intern()), HandlerChain$JAXB.class);
     }
@@ -172,5 +171,4 @@ public class HandlerChains$JAXB
 
         context.afterMarshal(handlerChains, LifecycleCallback.NONE);
     }
-
 }

Modified: 
openejb/trunk/openejb/container/openejb-jee/src/main/java/org/apache/openejb/jee/HandlerChainsStringQNameAdapter.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-jee/src/main/java/org/apache/openejb/jee/HandlerChainsStringQNameAdapter.java?rev=1432661&r1=1432660&r2=1432661&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-jee/src/main/java/org/apache/openejb/jee/HandlerChainsStringQNameAdapter.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-jee/src/main/java/org/apache/openejb/jee/HandlerChainsStringQNameAdapter.java
 Sun Jan 13 17:08:15 2013
@@ -17,18 +17,20 @@
 
 package org.apache.openejb.jee;
 
+import org.apache.openejb.jee.JaxbJavaee.HandlerChainsNamespaceFilter;
+
 import javax.xml.XMLConstants;
 import javax.xml.bind.annotation.adapters.XmlAdapter;
+import javax.xml.namespace.NamespaceContext;
 import javax.xml.namespace.QName;
 
-import org.apache.openejb.jee.JaxbJavaee.HandlerChainsNamespaceFilter;
-
 /**
  * @version $Rev$ $Date$
  */
 public class HandlerChainsStringQNameAdapter extends XmlAdapter<String, QName> 
{
 
     private HandlerChainsNamespaceFilter xmlFilter;
+    private NamespaceContext namespaceContext;
 
     @Override
     public QName unmarshal(String value) throws Exception {
@@ -41,7 +43,14 @@ public class HandlerChainsStringQNameAda
         }
         String prefix = value.substring(0, colonIndex);
         String localPart = (colonIndex == (value.length() - 1)) ? "" : 
value.substring(colonIndex + 1);
-        String nameSpaceURI = xmlFilter.lookupNamespaceURI(prefix);
+
+        String nameSpaceURI = "";
+        if (xmlFilter != null) {
+            nameSpaceURI = xmlFilter.lookupNamespaceURI(prefix);
+        } else if (namespaceContext != null) {
+            nameSpaceURI = namespaceContext.getNamespaceURI(prefix);
+        }
+
         if (nameSpaceURI == null) {
             nameSpaceURI = XMLConstants.NULL_NS_URI;
         }
@@ -64,7 +73,11 @@ public class HandlerChainsStringQNameAda
         return prefix + ":" + localPart;
     }
 
-    public void setHandlerChainsNamespaceFilter(HandlerChainsNamespaceFilter 
xmlFilter) {
+    public void setHandlerChainsNamespaceFilter(final 
HandlerChainsNamespaceFilter xmlFilter) {
         this.xmlFilter = xmlFilter;
     }
+
+    public void setNamespaceContext(NamespaceContext namespaceContext) {
+        this.namespaceContext = namespaceContext;
+    }
 }


Reply via email to