Author: veithen
Date: Tue Dec 17 16:43:37 2013
New Revision: 1551614

URL: http://svn.apache.org/r1551614
Log:
Overhaul of the databinding sample:
* Use the latest APIs available in Axiom.
* Some cleanup.

Modified:
    axis/axis2/java/core/trunk/modules/distribution/pom.xml
    axis/axis2/java/core/trunk/modules/samples/databinding/README.txt
    axis/axis2/java/core/trunk/modules/samples/databinding/build.xml
    
axis/axis2/java/core/trunk/modules/samples/databinding/client/src/samples/databinding/StockClient.java
    
axis/axis2/java/core/trunk/modules/samples/databinding/client/src/samples/databinding/StockClient2.java
    
axis/axis2/java/core/trunk/modules/samples/databinding/service/src/samples/databinding/StockQuoteServiceSkeleton.java

Modified: axis/axis2/java/core/trunk/modules/distribution/pom.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/distribution/pom.xml?rev=1551614&r1=1551613&r2=1551614&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/distribution/pom.xml (original)
+++ axis/axis2/java/core/trunk/modules/distribution/pom.xml Tue Dec 17 16:43:37 
2013
@@ -393,11 +393,6 @@
                                     <version>1.0.4</version>
                                 </artifactItem>
                                 <artifactItem>
-                                    <groupId>net.java.dev.stax-utils</groupId>
-                                    <artifactId>stax-utils</artifactId>
-                                    <version>20060502</version>
-                                </artifactItem>
-                                <artifactItem>
                                     <groupId>xerces</groupId>
                                     <artifactId>xercesImpl</artifactId>
                                     <version>2.9.1</version>

Modified: axis/axis2/java/core/trunk/modules/samples/databinding/README.txt
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/samples/databinding/README.txt?rev=1551614&r1=1551613&r2=1551614&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/samples/databinding/README.txt (original)
+++ axis/axis2/java/core/trunk/modules/samples/databinding/README.txt Tue Dec 
17 16:43:37 2013
@@ -14,7 +14,6 @@ Pre-Requisites
  * Install Apache Ant 1.6.2 or later.
  * Please create a directory named lib under the directory that contains this 
file.
  * Download the following libraries and drop them into the new lib directory:
-   * Latest stax-utils jar from 
https://stax-utils.dev.java.net/servlets/ProjectDocumentList?folderID=1106
    * Version 1.0.4 of Castor jar from 
http://dist.codehaus.org/castor/1.0.4/castor-1.0.4.jar.
      (The latest releases of castor are available at 
http://www.castor.org/download.html, but this example may not run         
      with versions later than 1.0.4)

Modified: axis/axis2/java/core/trunk/modules/samples/databinding/build.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/samples/databinding/build.xml?rev=1551614&r1=1551613&r2=1551614&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/samples/databinding/build.xml (original)
+++ axis/axis2/java/core/trunk/modules/samples/databinding/build.xml Tue Dec 17 
16:43:37 2013
@@ -173,13 +173,11 @@
         </jar>
     </target>
 
-    <!--We are not shipping castor and stax-utils jars with the release. This 
target can be used to
+    <!--We are not shipping castor and Xerces jars with the release. This 
target can be used to
     download those jars that are required to run this sample.-->
     <target name="download.jars">
        <mkdir dir="lib"/>
 
-        <get 
src="http://ws.zones.apache.org/repository/stax-utils/jars/stax-utils-20060915.jar";
-             dest="lib/stax-utils-20060915.jar" verbose="true"/>
         <get src="http://dist.codehaus.org/castor/1.0.4/castor-1.0.4.jar"; 
dest="lib/castor-1.0.4.jar"
              verbose="true"/>
         <get 
src="http://repo2.maven.org/maven2/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar";

Modified: 
axis/axis2/java/core/trunk/modules/samples/databinding/client/src/samples/databinding/StockClient.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/samples/databinding/client/src/samples/databinding/StockClient.java?rev=1551614&r1=1551613&r2=1551614&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/samples/databinding/client/src/samples/databinding/StockClient.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/samples/databinding/client/src/samples/databinding/StockClient.java
 Tue Dec 17 16:43:37 2013
@@ -17,13 +17,16 @@
  * under the License.
  */
 package samples.databinding;
+
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.SAXOMBuilder;
 import org.exolab.castor.xml.Marshaller;
 import org.exolab.castor.xml.UnmarshalHandler;
 import org.exolab.castor.xml.Unmarshaller;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.SAXException;
+
 import samples.databinding.data.GetStockQuote;
 import samples.databinding.data.GetStockQuoteResponse;
 
@@ -31,7 +34,6 @@ import javax.xml.transform.TransformerEx
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.sax.SAXResult;
 
-import javanet.staxutils.StAXSource;
 public final class StockClient {
     public static void main(String[] args) throws Exception {
         if (args.length != 2) {
@@ -49,20 +51,18 @@ public final class StockClient {
         stub._getServiceClient().getOptions().setAction("getStockQuote");
         GetStockQuote stockQuote = new GetStockQuote();
         stockQuote.setSymbol(symbol);
-        SAXOMBuilder builder = new SAXOMBuilder();
-        Marshaller.marshal(stockQuote, builder);
+        OMDocument document = 
OMAbstractFactory.getOMFactory().createOMDocument();
+        Marshaller.marshal(stockQuote, document.getSAXResult().getHandler());
         OMElement response = stub.getStockQuote(
-                builder.getRootElement());
+                document.getOMDocumentElement());
 
 
-        StAXSource staxSource =
-                new StAXSource(response.getXMLStreamReader());
         Unmarshaller unmarshaller = new 
Unmarshaller(GetStockQuoteResponse.class);
         UnmarshalHandler unmarshalHandler = unmarshaller.createHandler();
         GetStockQuoteResponse stockQuoteResponse;
         try {
             ContentHandler contentHandler = 
Unmarshaller.getContentHandler(unmarshalHandler);
-            
TransformerFactory.newInstance().newTransformer().transform(staxSource, new 
SAXResult(contentHandler));
+            
TransformerFactory.newInstance().newTransformer().transform(response.getSAXSource(false),
 new SAXResult(contentHandler));
             stockQuoteResponse = (GetStockQuoteResponse) 
unmarshalHandler.getObject();
         } catch (SAXException e) {
             throw new RuntimeException(e);

Modified: 
axis/axis2/java/core/trunk/modules/samples/databinding/client/src/samples/databinding/StockClient2.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/samples/databinding/client/src/samples/databinding/StockClient2.java?rev=1551614&r1=1551613&r2=1551614&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/samples/databinding/client/src/samples/databinding/StockClient2.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/samples/databinding/client/src/samples/databinding/StockClient2.java
 Tue Dec 17 16:43:37 2013
@@ -17,27 +17,28 @@
  * under the License.
  */
 package samples.databinding;
+
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMDataSource;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMOutputFormat;
-import org.apache.axiom.om.impl.builder.SAXOMBuilder;
+import org.apache.axiom.om.ds.AbstractPushOMDataSource;
 import org.jdom.Document;
 import org.jdom.Element;
 import org.jdom.JDOMException;
 import org.jdom.input.StAXBuilder;
-import org.jdom.output.SAXOutputter;
 import org.jdom.output.StAXOutputter;
-import org.jdom.output.XMLOutputter;
 import org.jdom.xpath.XPath;
 
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamWriter;
+
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.Writer;
+
 public final class StockClient2 {
     public static void main(String[] args) throws Exception {
         if (args.length != 2) {
@@ -74,31 +75,13 @@ public final class StockClient2 {
         System.out.println("Price = " + price.getText());
     }
 
-    private static class JDOMDataSource implements OMDataSource {
+    private static class JDOMDataSource extends AbstractPushOMDataSource {
         private final Element data;
 
         private JDOMDataSource(Element data) {
             this.data = data;
         }
 
-        public void serialize(OutputStream output, OMOutputFormat format) 
throws XMLStreamException {
-            try {
-                XMLOutputter outputter = new XMLOutputter();
-                outputter.output(data, output);
-            } catch (IOException e) {
-                throw new XMLStreamException(e);
-            }
-        }
-
-        public void serialize(Writer writer, OMOutputFormat format) throws 
XMLStreamException {
-            try {
-                XMLOutputter outputter = new XMLOutputter();
-                outputter.output(data, writer);
-            } catch (IOException e) {
-                throw new XMLStreamException(e);
-            }
-        }
-
         public void serialize(XMLStreamWriter xmlWriter) throws 
XMLStreamException {
             StAXOutputter outputter = new StAXOutputter(xmlWriter);
             try {
@@ -107,15 +90,5 @@ public final class StockClient2 {
                 throw new XMLStreamException(e);
             }
         }
-
-        public XMLStreamReader getReader() throws XMLStreamException {
-            SAXOMBuilder builder = new SAXOMBuilder();
-            SAXOutputter outputter = new SAXOutputter();
-            outputter.setContentHandler(builder);
-            outputter.setEntityResolver(builder);
-            outputter.setDTDHandler(builder);
-            outputter.setEntityResolver(builder);
-            return builder.getRootElement().getXMLStreamReader();
-        }
     }
 }

Modified: 
axis/axis2/java/core/trunk/modules/samples/databinding/service/src/samples/databinding/StockQuoteServiceSkeleton.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/samples/databinding/service/src/samples/databinding/StockQuoteServiceSkeleton.java?rev=1551614&r1=1551613&r2=1551614&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/samples/databinding/service/src/samples/databinding/StockQuoteServiceSkeleton.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/samples/databinding/service/src/samples/databinding/StockQuoteServiceSkeleton.java
 Tue Dec 17 16:43:37 2013
@@ -16,16 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-/**
- * StockQuoteServiceSkeleton.java
- *
- * This file was auto-generated from WSDL
- * by the Apache Axis2 version: 1.1-SNAPSHOT Nov 03, 2006 (06:54:07 EST)
- */
 package samples.databinding;
-import javanet.staxutils.StAXSource;
-import org.apache.axiom.om.impl.builder.SAXOMBuilder;
+
+import org.apache.axiom.om.OMDocument;
+import org.apache.axiom.om.OMElement;
 import org.apache.axis2.AxisFault;
 import org.exolab.castor.xml.MarshalException;
 import org.exolab.castor.xml.Marshaller;
@@ -34,6 +28,7 @@ import org.exolab.castor.xml.Unmarshalle
 import org.exolab.castor.xml.ValidationException;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.SAXException;
+
 import samples.databinding.data.Change;
 import samples.databinding.data.GetStockQuote;
 import samples.databinding.data.GetStockQuoteResponse;
@@ -43,6 +38,7 @@ import samples.databinding.data.Quote;
 import javax.xml.transform.TransformerException;
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.sax.SAXResult;
+
 import java.io.IOException;
 import java.util.Calendar;
 /**
@@ -54,15 +50,13 @@ public class StockQuoteServiceSkeleton {
      *
      * @param param0
      */
-    public org.apache.axiom.om.OMElement 
getStockQuote(org.apache.axiom.om.OMElement param0) throws AxisFault {
-        StAXSource staxSource =
-                new StAXSource(param0.getXMLStreamReader());
+    public OMElement getStockQuote(OMElement param0) throws AxisFault {
         Unmarshaller unmarshaller = new Unmarshaller(GetStockQuote.class);
         UnmarshalHandler unmarshalHandler = unmarshaller.createHandler();
         GetStockQuote stockQuote;
         try {
             ContentHandler contentHandler = 
Unmarshaller.getContentHandler(unmarshalHandler);
-            
TransformerFactory.newInstance().newTransformer().transform(staxSource, new 
SAXResult(contentHandler));
+            
TransformerFactory.newInstance().newTransformer().transform(param0.getSAXSource(false),
 new SAXResult(contentHandler));
             stockQuote = (GetStockQuote) unmarshalHandler.getObject();
         } catch (SAXException e) {
             throw new RuntimeException(e);
@@ -90,9 +84,10 @@ public class StockQuoteServiceSkeleton {
         quote.setChange(change);
 
         stockQuoteResponse.setQuote(quote);
-        SAXOMBuilder builder = new SAXOMBuilder();
+        
+        OMDocument document = param0.getOMFactory().createOMDocument();
         try {
-            Marshaller.marshal(stockQuoteResponse, builder);
+            Marshaller.marshal(stockQuoteResponse, 
document.getSAXResult().getHandler());
         } catch (MarshalException e) {
             throw new RuntimeException(e);
         } catch (ValidationException e) {
@@ -100,7 +95,7 @@ public class StockQuoteServiceSkeleton {
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
-        return builder.getRootElement();
+        return document.getOMDocumentElement();
     }
 }
     


Reply via email to