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();
}
}