You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2008/05/24 02:55:17 UTC

svn commit: r659734 - in /incubator/tuscany/java/sca/modules: ./ binding-ws-axis2/ databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/ databinding-jaxb-axiom/ databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding...

Author: rfeng
Date: Fri May 23 17:55:14 2008
New Revision: 659734

URL: http://svn.apache.org/viewvc?rev=659734&view=rev
Log:
Add databinding-jaxb-axiom to the main build and activate it with binding-ws-axis2 to take advantage of the SOAP payload lazy serialization

Modified:
    incubator/tuscany/java/sca/modules/binding-ws-axis2/pom.xml
    incubator/tuscany/java/sca/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomHelper.java
    incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/pom.xml
    incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/AxiomHelper.java
    incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXB2OMElement.java
    incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/OMElement2JAXB.java
    incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBCustomBuilder.java
    incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDataSourceExt.java
    incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/SourceDataSource.java
    incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStringDataSource.java
    incubator/tuscany/java/sca/modules/pom.xml

Modified: incubator/tuscany/java/sca/modules/binding-ws-axis2/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-axis2/pom.xml?rev=659734&r1=659733&r2=659734&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-axis2/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/binding-ws-axis2/pom.xml Fri May 23 17:55:14 2008
@@ -73,6 +73,7 @@
             <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-core-databinding</artifactId>
             <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
         </dependency>
 
         <dependency>
@@ -80,6 +81,13 @@
             <artifactId>tuscany-databinding-axiom</artifactId>
             <version>2.0-incubating-SNAPSHOT</version>
         </dependency>
+        
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-databinding-jaxb-axiom</artifactId>
+            <version>2.0-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
+        </dependency>        
 
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>

Modified: incubator/tuscany/java/sca/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomHelper.java?rev=659734&r1=659733&r2=659734&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomHelper.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomHelper.java Fri May 23 17:55:14 2008
@@ -129,14 +129,14 @@
         String prefix = name.getPrefix();
 
         OMNamespace ns = null;
-        if (namespaceURI.length() != 0) {
-            // Qualified Element: we need an OMNamespace         
-            if (prefix.length() == 0) {
-                // The prefix does not appear to be specified, let's create one
-                prefix = DEFAULT_PREFIX;
-            }
-            ns = factory.createOMNamespace(namespaceURI, prefix);
+
+        // Qualified Element: we need an OMNamespace         
+        if (prefix.length() == 0) {
+            // The prefix does not appear to be specified, let's create one
+            prefix = DEFAULT_PREFIX;
         }
+        ns = factory.createOMNamespace(namespaceURI, prefix);
+ 
         return ns;
     }
 }

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/pom.xml?rev=659734&r1=659733&r2=659734&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/pom.xml Fri May 23 17:55:14 2008
@@ -42,7 +42,7 @@
         <dependency>
             <groupId>org.apache.ws.commons.axiom</groupId>
             <artifactId>axiom-api</artifactId>
-            <version>1.2.7</version>
+            <version>1.2.5</version>
             <exclusions>
                 <exclusion>
                     <groupId>xerces</groupId>
@@ -62,7 +62,7 @@
         <dependency>
             <groupId>org.apache.ws.commons.axiom</groupId>
             <artifactId>axiom-impl</artifactId>
-            <version>1.2.7</version>
+            <version>1.2.5</version>
             <scope>runtime</scope>
         </dependency>
     </dependencies>

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/AxiomHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/AxiomHelper.java?rev=659734&r1=659733&r2=659734&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/AxiomHelper.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/AxiomHelper.java Fri May 23 17:55:14 2008
@@ -129,14 +129,12 @@
         String prefix = name.getPrefix();
 
         OMNamespace ns = null;
-        if (namespaceURI.length() != 0) {
-            // Qualified Element: we need an OMNamespace         
-            if (prefix.length() == 0) {
-                // The prefix does not appear to be specified, let's create one
-                prefix = DEFAULT_PREFIX;
-            }
-            ns = factory.createOMNamespace(namespaceURI, prefix);
+        // Qualified Element: we need an OMNamespace         
+        if (prefix.length() == 0) {
+            // The prefix does not appear to be specified, let's create one
+            prefix = DEFAULT_PREFIX;
         }
+        ns = factory.createOMNamespace(namespaceURI, prefix);
         return ns;
     }
 }

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXB2OMElement.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXB2OMElement.java?rev=659734&r1=659733&r2=659734&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXB2OMElement.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXB2OMElement.java Fri May 23 17:55:14 2008
@@ -73,19 +73,18 @@
         JAXBIntrospector introspector = jaxbContext.createJAXBIntrospector();
         Object element = null;
         Class<?> type = null;
-        if (introspector.isElement(source)) {
+        if (source != null && introspector.isElement(source)) {
             if (name == JAXBDataBinding.ROOT_ELEMENT) {
                 element = source;
             } else {
                 source = JAXBIntrospector.getValue(source);
             }
-        } else {
-            type = source.getClass();
+        } 
+        if (element == null) {
+            type = source == null ? Object.class : source.getClass();
             if (context != null) {
                 type = context.getSourceDataType().getPhysical();
             }
-        }
-        if (element == null) {
             element = new JAXBElement(name, type, source);
         }
         JAXBDataSource dataSource = new JAXBDataSource(element, jaxbContext);

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/OMElement2JAXB.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/OMElement2JAXB.java?rev=659734&r1=659733&r2=659734&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/OMElement2JAXB.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/OMElement2JAXB.java Fri May 23 17:55:14 2008
@@ -54,7 +54,7 @@
                     // Marshalling directly to the output stream is faster than marshalling through the
                     // XMLStreamWriter. 
                     // Take advantage of this optimization if there is an output stream.
-                    JAXBContext jaxbContext = JAXBContextHelper.createJAXBContext(context, true);
+                    JAXBContext jaxbContext = JAXBContextHelper.createJAXBContext(context, false);
                     Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
                     XMLStreamReader reader = source.getXMLStreamReaderWithoutCaching();
                     Object result =

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBCustomBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBCustomBuilder.java?rev=659734&r1=659733&r2=659734&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBCustomBuilder.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBCustomBuilder.java Fri May 23 17:55:14 2008
@@ -19,23 +19,15 @@
 
 package org.apache.tuscany.sca.databinding.jaxb.axiom.ext;
 
-import javax.xml.bind.JAXBException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.apache.axiom.om.OMContainer;
-import org.apache.axiom.om.OMDataSource;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMException;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.OMSourcedElement;
-import org.apache.axiom.om.impl.builder.CustomBuilder;
 
 /**
  * JAXBCustomBuilder creates an OMSourcedElement backed by a JAXBDataSource
  * for the specified namespace and localPart.
  */
-public class JAXBCustomBuilder implements CustomBuilder {
+public class JAXBCustomBuilder 
+//FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7
+// implements CustomBuilder 
+{
 
     private JAXBDSContext jdsContext;
 
@@ -48,6 +40,8 @@
         this.jdsContext = context;
     }
 
+ // FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7
+    /*
     public OMElement create(String namespace,
                             String localPart,
                             OMContainer parent,
@@ -67,7 +61,7 @@
             Object jaxb = jdsContext.unmarshal(reader);
 
             OMDataSource ds = new JAXBDataSourceExt(jaxb, jdsContext);
-            OMSourcedElement omse = factory.createOMElement(ds, localPart, ns);
+            OMElement omse = factory.createOMElement(ds, localPart, ns);
 
             parent.addChild(omse);
             // JAXBCustomBuilderMonitor.updateTotalCreates();
@@ -77,6 +71,7 @@
             throw new OMException(e);
         }
     }
+    */
 
     /**
      * The namespace identifier for the SOAP 1.1 envelope.

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDataSourceExt.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDataSourceExt.java?rev=659734&r1=659733&r2=659734&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDataSourceExt.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDataSourceExt.java Fri May 23 17:55:14 2008
@@ -33,17 +33,19 @@
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
 
-import org.apache.axiom.om.OMDataSourceExt;
 import org.apache.axiom.om.OMException;
 import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axiom.om.ds.OMDataSourceExtBase;
 import org.apache.axiom.om.impl.MTOMXMLStreamWriter;
 import org.apache.axiom.om.util.StAXUtils;
 
 /**
  * OMDataSource backed by a jaxb object
  */
-public class JAXBDataSourceExt extends OMDataSourceExtBase {
+public class JAXBDataSourceExt
+
+//FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7
+// extends OMDataSourceExtBase  
+{
 
     private static final Logger log = Logger.getLogger(JAXBDataSourceExt.class.getName());
 
@@ -59,9 +61,10 @@
     public void close() {
     }
 
-    public OMDataSourceExt copy() {
-        return new JAXBDataSourceExt(jaxb, context);
-    }
+    // FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7
+    //    public OMDataSourceExt copy() {
+    //        return new JAXBDataSourceExt(jaxb, context);
+    //    }
 
     public Object getObject() {
         return jaxb;

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/SourceDataSource.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/SourceDataSource.java?rev=659734&r1=659733&r2=659734&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/SourceDataSource.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/SourceDataSource.java Fri May 23 17:55:14 2008
@@ -34,15 +34,16 @@
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 
-import org.apache.axiom.om.OMDataSourceExt;
 import org.apache.axiom.om.OMException;
-import org.apache.axiom.om.ds.OMDataSourceExtBase;
 import org.apache.axiom.om.util.StAXUtils;
 
 /**
  * OMDataSource backed by a source
  */
-public class SourceDataSource extends OMDataSourceExtBase {
+public class SourceDataSource
+// FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7
+// extends OMDataSourceExtBase 
+{
     private Source data;
 
     public SourceDataSource(Source data) {
@@ -53,9 +54,10 @@
     public void close() {
     }
 
-    public OMDataSourceExt copy() {
-        return null;
-    }
+    // FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7
+    //    public OMDataSourceExt copy() {
+    //        return new SourceDataSource(data);
+    //    }
 
     public Object getObject() {
         return data;

Modified: incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStringDataSource.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStringDataSource.java?rev=659734&r1=659733&r2=659734&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStringDataSource.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStringDataSource.java Fri May 23 17:55:14 2008
@@ -27,16 +27,18 @@
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 
-import org.apache.axiom.om.OMDataSourceExt;
 import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axiom.om.ds.OMDataSourceExtBase;
 import org.apache.axiom.om.util.StAXUtils;
 
 /**
  * OMDataSource backed by a string containing xml data
  */
 // FIXME: To be refectored into databinding-axiom
-public class XMLStringDataSource extends OMDataSourceExtBase {
+public class XMLStringDataSource
+
+//FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7
+// extends OMDataSourceExtBase 
+{
     private String data;
 
     public XMLStringDataSource(String data) {
@@ -47,9 +49,10 @@
     public void close() {
     }
 
-    public OMDataSourceExt copy() {
-        return new XMLStringDataSource(data);
-    }
+    // FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7
+    //    public OMDataSourceExt copy() {
+    //        return new XMLStringDataSource(data);
+    //    }
 
     public Object getObject() {
         return data;
@@ -70,7 +73,6 @@
         }
     }
 
-
     public byte[] getXMLBytes(String encoding) throws UnsupportedEncodingException {
         return data.getBytes(encoding);
     }

Modified: incubator/tuscany/java/sca/modules/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/pom.xml?rev=659734&r1=659733&r2=659734&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/pom.xml Fri May 23 17:55:14 2008
@@ -83,6 +83,7 @@
                 <module>databinding</module>
                 <module>databinding-axiom</module>
                 <module>databinding-jaxb</module>
+                <module>databinding-jaxb-axiom</module>
                 <module>databinding-sdo</module>
                 <module>databinding-sdo-axiom</module>
                 <module>databinding-json</module>