You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2013/07/13 23:29:33 UTC
svn commit: r1502886 - in /cxf/trunk/rt/wsdl/src:
main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java
test/java/org/apache/cxf/wsdl/JAXBExtensionHelperTest.java
Author: dkulp
Date: Sat Jul 13 21:29:32 2013
New Revision: 1502886
URL: http://svn.apache.org/r1502886
Log:
Use the output transformer to map the namespaces as other jaxb impls may not use the namespace context the same way.
Modified:
cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java
cxf/trunk/rt/wsdl/src/test/java/org/apache/cxf/wsdl/JAXBExtensionHelperTest.java
Modified: cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java?rev=1502886&r1=1502885&r2=1502886&view=diff
==============================================================================
--- cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java (original)
+++ cxf/trunk/rt/wsdl/src/main/java/org/apache/cxf/wsdl/JAXBExtensionHelper.java Sat Jul 13 21:29:32 2013
@@ -21,6 +21,7 @@ package org.apache.cxf.wsdl;
import java.io.PrintWriter;
import java.lang.reflect.Method;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -76,6 +77,7 @@ import org.apache.cxf.common.util.String
import org.apache.cxf.helpers.CastUtils;
import org.apache.cxf.staxutils.PrettyPrintXMLStreamWriter;
import org.apache.cxf.staxutils.StaxUtils;
+import org.apache.cxf.staxutils.transform.OutTransformWriter;
/**
@@ -327,6 +329,16 @@ public class JAXBExtensionHelper impleme
return ret;
}
});
+ if (namespace != null && !namespace.equals(jaxbNamespace)) {
+ Map<String, String> outMap = new HashMap<String, String>();
+ outMap.put("{" + jaxbNamespace + "}*", "{" + namespace + "}*");
+ writer = new OutTransformWriter(writer,
+ outMap,
+ Collections.<String, String>emptyMap(),
+ Collections.<String>emptyList(),
+ false,
+ "");
+ }
u.marshal(mObj, writer);
writer.flush();
Modified: cxf/trunk/rt/wsdl/src/test/java/org/apache/cxf/wsdl/JAXBExtensionHelperTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/wsdl/src/test/java/org/apache/cxf/wsdl/JAXBExtensionHelperTest.java?rev=1502886&r1=1502885&r2=1502886&view=diff
==============================================================================
--- cxf/trunk/rt/wsdl/src/test/java/org/apache/cxf/wsdl/JAXBExtensionHelperTest.java (original)
+++ cxf/trunk/rt/wsdl/src/test/java/org/apache/cxf/wsdl/JAXBExtensionHelperTest.java Sat Jul 13 21:29:32 2013
@@ -30,6 +30,7 @@ import javax.wsdl.Definition;
import javax.wsdl.Port;
import javax.wsdl.Service;
import javax.wsdl.extensions.ExtensionRegistry;
+import javax.wsdl.extensions.UnknownExtensibilityElement;
import javax.wsdl.factory.WSDLFactory;
import javax.wsdl.xml.WSDLReader;
import javax.xml.namespace.QName;
@@ -39,6 +40,7 @@ import org.xml.sax.InputSource;
import org.apache.cxf.abc.test.AnotherPolicyType;
import org.apache.cxf.abc.test.NewServiceType;
import org.apache.cxf.abc.test.TestPolicyType;
+
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -134,16 +136,16 @@ public class JAXBExtensionHelperTest ext
@Test
public void testMappedNamespace() throws Exception {
- JAXBExtensionHelper.addExtensions(registry, "javax.wsdl.Port",
- "org.apache.cxf.abc.test.TestPolicyType",
+ JAXBExtensionHelper.addExtensions(registry, javax.wsdl.Port.class,
+ org.apache.cxf.abc.test.TestPolicyType.class,
"http://cxf.apache.org/abc/test/remapped");
- JAXBExtensionHelper.addExtensions(registry, "javax.wsdl.Port",
- "org.apache.cxf.abc.test.AnotherPolicyType",
+ JAXBExtensionHelper.addExtensions(registry, javax.wsdl.Port.class,
+ org.apache.cxf.abc.test.AnotherPolicyType.class,
"http://cxf.apache.org/abc/test/remapped");
- JAXBExtensionHelper.addExtensions(registry, "javax.wsdl.Definition",
- "org.apache.cxf.abc.test.NewServiceType",
+ JAXBExtensionHelper.addExtensions(registry, javax.wsdl.Definition.class,
+ org.apache.cxf.abc.test.NewServiceType.class,
"http://cxf.apache.org/abc/test/remapped");
String file = this.getClass().getResource("/wsdl/test_ext_remapped.wsdl").toURI().toString();
@@ -169,9 +171,11 @@ public class JAXBExtensionHelperTest ext
for (Object ext : extPortList) {
if (ext instanceof TestPolicyType) {
tp = (TestPolicyType) ext;
- }
- if (ext instanceof AnotherPolicyType) {
+ } else if (ext instanceof AnotherPolicyType) {
ap = (AnotherPolicyType) ext;
+ } else if (ext instanceof UnknownExtensibilityElement) {
+ UnknownExtensibilityElement e = (UnknownExtensibilityElement)ext;
+ System.out.println(e.getElementType());
}
}
assertNotNull("Could not find extension element TestPolicyType", tp);