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 2010/05/18 04:26:18 UTC

svn commit: r945468 - in /cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb: JAXBDataBinding.java W3CEPRJaxbBinding.xml W3CEPRJaxbBinding_jaxb22.xml

Author: dkulp
Date: Tue May 18 02:26:17 2010
New Revision: 945468

URL: http://svn.apache.org/viewvc?rev=945468&view=rev
Log:
Fix previous commit that broke usage with JAXB 2.1

Added:
    cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding_jaxb22.xml
      - copied, changed from r945467, cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding.xml
Modified:
    cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
    cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding.xml

Modified: cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java?rev=945468&r1=945467&r2=945468&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java (original)
+++ cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java Tue May 18 02:26:17 2010
@@ -23,6 +23,8 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.Writer;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Target;
 import java.lang.reflect.Field;
 import java.net.URI;
 import java.net.URL;
@@ -38,6 +40,7 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 
 import javax.xml.XMLConstants;
+import javax.xml.bind.annotation.XmlElement;
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
@@ -305,7 +308,11 @@ public class JAXBDataBinding implements 
         if (context.get(ToolConstants.CFG_NO_ADDRESS_BINDING) == null) {
             //hard code to enable jaxb extensions
             args.add("-extension");
-            URL bindingFileUrl = getClass().getResource("W3CEPRJaxbBinding.xml");
+            String name = "W3CEPRJaxbBinding.xml";
+            if (isJAXB22()) {
+                name = "W3CEPRJaxbBinding_jaxb22.xml";
+            }
+            URL bindingFileUrl = getClass().getResource(name);
             InputSource ins = new InputSource(bindingFileUrl.toString());
             opts.addBindFile(ins);
         }
@@ -394,6 +401,17 @@ public class JAXBDataBinding implements 
         initialized = true;
     }
     
+    private boolean isJAXB22() {
+        Target t = XmlElement.class.getAnnotation(Target.class);
+        //JAXB 2.2 allows XmlElement on params.
+        for (ElementType et : t.value()) {
+            if (et == ElementType.PARAMETER) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     private static final class ReferenceFinder extends AbstractReferenceFinderImpl {
         private Locator locator;
         private OASISCatalogManager catalog;

Modified: cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding.xml?rev=945468&r1=945467&r2=945468&view=diff
==============================================================================
--- cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding.xml (original)
+++ cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding.xml Tue May 18 02:26:17 2010
@@ -19,29 +19,23 @@ under the License.
 -->
 <bindings xmlns="http://java.sun.com/xml/ns/jaxb" 
 	xmlns:wsa="http://www.w3.org/2005/08/addressing"
-	version="2.1"
-	xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+	version="2.1">
 	<bindings scd="x-schema::wsa" if-exists="true">
 		<schemaBindings map="false" />
 		<bindings scd="wsa:EndpointReference">
-			<class ref="javax.xml.ws.wsaddressing.W3CEndpointReference"
-				xjc:recursive="true" />
+			<class ref="javax.xml.ws.wsaddressing.W3CEndpointReference"/>
 		</bindings>
 		<bindings scd="wsa:ReplyTo">
-			<class ref="javax.xml.ws.wsaddressing.W3CEndpointReference"
-				xjc:recursive="true" />
+			<class ref="javax.xml.ws.wsaddressing.W3CEndpointReference"/>
 		</bindings>
 		<bindings scd="wsa:FaultTo">
-			<class ref="javax.xml.ws.wsaddressing.W3CEndpointReference"
-				xjc:recursive="true" />
+			<class ref="javax.xml.ws.wsaddressing.W3CEndpointReference"/>
 		</bindings>
 		<bindings scd="wsa:From">
-			<class ref="javax.xml.ws.wsaddressing.W3CEndpointReference"
-				xjc:recursive="true" />
+			<class ref="javax.xml.ws.wsaddressing.W3CEndpointReference"/>
 		</bindings>
 		<bindings scd="~wsa:EndpointReferenceType">
-			<class ref="javax.xml.ws.wsaddressing.W3CEndpointReference"
-				xjc:recursive="true" />
+			<class ref="javax.xml.ws.wsaddressing.W3CEndpointReference"/>
 		</bindings>
 	</bindings>
 </bindings>
\ No newline at end of file

Copied: cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding_jaxb22.xml (from r945467, cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding.xml)
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding_jaxb22.xml?p2=cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding_jaxb22.xml&p1=cxf/trunk/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding.xml&r1=945467&r2=945468&rev=945468&view=diff
==============================================================================
    (empty)