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;
+ }
}