You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by am...@apache.org on 2007/08/27 08:11:26 UTC
svn commit: r570012 - in /webservices/axis2/trunk/java/modules:
codegen/src/org/apache/axis2/wsdl/codegen/extension/
codegen/src/org/apache/axis2/wsdl/codegen/schema/
kernel/src/org/apache/axis2/util/
xmlbeans/src/org/apache/axis2/xmlbeans/template/
Author: amilas
Date: Sun Aug 26 23:11:25 2007
New Revision: 570012
URL: http://svn.apache.org/viewvc?rev=570012&view=rev
Log:
Added a new option to xmlbeans wdc (without data binding) to generate code without xmlbeans databindig code.
and used the direct serailization instead of getReader method.
Modified:
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/XMLBeansExtension.java
webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/schema/AxisServiceTopElementSchemaGenerator.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CommandLineOptionConstants.java
webservices/axis2/trunk/java/modules/xmlbeans/src/org/apache/axis2/xmlbeans/template/XmlbeansDatabindingTemplate.xsl
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/XMLBeansExtension.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/XMLBeansExtension.java?rev=570012&r1=570011&r2=570012&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/XMLBeansExtension.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/extension/XMLBeansExtension.java Sun Aug 26 23:11:25 2007
@@ -20,7 +20,9 @@
package org.apache.axis2.wsdl.codegen.extension;
import org.apache.axis2.description.AxisService;
+import org.apache.axis2.util.CommandLineOptionConstants;
import org.apache.axis2.wsdl.codegen.CodeGenConfiguration;
+import org.apache.axis2.wsdl.codegen.schema.AxisServiceTopElementSchemaGenerator;
import org.apache.axis2.wsdl.databinding.TypeMapper;
import org.apache.axis2.wsdl.i18n.CodegenMessages;
import org.apache.axis2.wsdl.util.ConfigPropertyFileLoader;
@@ -36,13 +38,14 @@
import java.util.Iterator;
import java.util.List;
+
public class XMLBeansExtension extends AbstractDBProcessingExtension {
/** Name of "extra" option used to supply package name for xsb files. */
public static final String TYPESYSTEMNAME_OPTION = "typesystemname";
public static final String SCHEMA_FOLDER = "schemas";
public static final String XSDCONFIG_OPTION = "xc";
public static final String XSDCONFIG_OPTION_LONG = "xsdconfig";
-
+
public static String MAPPINGS = "mappings";
public static String MAPPING = "mapping";
@@ -94,9 +97,18 @@
List schemas = new ArrayList();
List axisServices = configuration.getAxisServices();
AxisService axisService = null;
+ AxisServiceTopElementSchemaGenerator schemaGenerator = null;
for (Iterator iter = axisServices.iterator(); iter.hasNext();) {
axisService = (AxisService)iter.next();
- schemas.addAll(axisService.getSchema());
+ if (configuration.getProperties().containsKey(
+ CommandLineOptionConstants.ExtensionArguments.WITHOUT_DATABIND_CODE)){
+ // use the dummy code
+ schemaGenerator = new AxisServiceTopElementSchemaGenerator(axisService);
+ schemas.addAll(schemaGenerator.getDummySchemaList());
+ } else {
+ schemas.addAll(axisService.getSchema());
+ }
+
}
Element[] additionalSchemas = loadAdditionalSchemas();
Modified: webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/schema/AxisServiceTopElementSchemaGenerator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/schema/AxisServiceTopElementSchemaGenerator.java?rev=570012&r1=570011&r2=570012&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/schema/AxisServiceTopElementSchemaGenerator.java (original)
+++ webservices/axis2/trunk/java/modules/codegen/src/org/apache/axis2/wsdl/codegen/schema/AxisServiceTopElementSchemaGenerator.java Sun Aug 26 23:11:25 2007
@@ -146,11 +146,12 @@
for (Iterator operationIter = axisService.getOperations(); operationIter.hasNext();) {
axisOperation = (AxisOperation) operationIter.next();
- for (Iterator messageIter = axisOperation.getMessages(); operationIter.hasNext();) {
+ for (Iterator messageIter = axisOperation.getMessages(); messageIter.hasNext();) {
axisMessage = (AxisMessage) messageIter.next();
topElement = new TopElement(axisMessage.getElementQName());
xmlSchemaElement = axisMessage.getSchemaElement();
topElement.setTypeQName(xmlSchemaElement.getSchemaTypeName());
+ topSchemaElements.add(topElement);
}
}
return topSchemaElements;
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CommandLineOptionConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CommandLineOptionConstants.java?rev=570012&r1=570011&r2=570012&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CommandLineOptionConstants.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/util/CommandLineOptionConstants.java Sun Aug 26 23:11:25 2007
@@ -87,5 +87,9 @@
String WSDL_VERSION_1 = "1.1";
}
+ interface ExtensionArguments {
+ String WITHOUT_DATABIND_CODE = "wdc";
+ }
+
public static final String SOLE_INPUT = "SOLE_INPUT";
}
Modified: webservices/axis2/trunk/java/modules/xmlbeans/src/org/apache/axis2/xmlbeans/template/XmlbeansDatabindingTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/xmlbeans/src/org/apache/axis2/xmlbeans/template/XmlbeansDatabindingTemplate.xsl?rev=570012&r1=570011&r2=570012&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xmlbeans/src/org/apache/axis2/xmlbeans/template/XmlbeansDatabindingTemplate.xsl (original)
+++ webservices/axis2/trunk/java/modules/xmlbeans/src/org/apache/axis2/xmlbeans/template/XmlbeansDatabindingTemplate.xsl Sun Aug 26 23:11:25 2007
@@ -40,18 +40,80 @@
private org.apache.axiom.om.OMElement toOM(<xsl:value-of select="@type"/> param, boolean optimizeContent)
throws org.apache.axis2.AxisFault{
- org.apache.axiom.om.impl.builder.StAXOMBuilder builder = new org.apache.axiom.om.impl.builder.StAXOMBuilder
- (org.apache.axiom.om.OMAbstractFactory.getOMFactory(),new org.apache.axis2.util.StreamWrapper(param.newXMLStreamReader())) ;
- org.apache.axiom.om.OMElement documentElement = builder.getDocumentElement();
-
- <xsl:if test="$base64">
- if (optimizeContent) {
- optimizeContent(documentElement,qNameArray);
+
+ <xsl:choose>
+ <xsl:when test="$base64">
+ if (optimizeContent) {
+ org.apache.axiom.om.impl.builder.StAXOMBuilder builder = new org.apache.axiom.om.impl.builder.StAXOMBuilder
+ (org.apache.axiom.om.OMAbstractFactory.getOMFactory(),new org.apache.axis2.util.StreamWrapper(param.newXMLStreamReader())) ;
+ org.apache.axiom.om.OMElement documentElement = builder.getDocumentElement();
+ optimizeContent(documentElement,qNameArray);
+ ((org.apache.axiom.om.impl.OMNodeEx)documentElement).setParent(null);
+ return documentElement;
+ } else {
+ return toOM(param);
+ }
+ </xsl:when>
+ <xsl:otherwise>
+ return toOM(param);
+ </xsl:otherwise>
+ </xsl:choose>
+
+ }
+
+ private org.apache.axiom.om.OMElement toOM(final <xsl:value-of select="@type"/> param)
+ throws org.apache.axis2.AxisFault {
+
+ final javax.xml.stream.XMLStreamReader xmlReader = param.newXMLStreamReader();
+ while (!xmlReader.isEndElement()) {
+ try {
+ xmlReader.next();
+ } catch (javax.xml.stream.XMLStreamException e) {
+ throw org.apache.axis2.AxisFault.makeFault(e);
+ }
}
- </xsl:if>
- ((org.apache.axiom.om.impl.OMNodeEx)documentElement).setParent(null);
- return documentElement;
+ org.apache.axiom.om.OMDataSource omDataSource = new org.apache.axiom.om.OMDataSource() {
+
+ public void serialize(java.io.OutputStream outputStream, org.apache.axiom.om.OMOutputFormat omOutputFormat)
+ throws javax.xml.stream.XMLStreamException {
+ try {
+ param.save(outputStream);
+ } catch (java.io.IOException e) {
+ throw new javax.xml.stream.XMLStreamException("Problem with saving document",e);
+ }
+ }
+
+ public void serialize(java.io.Writer writer, org.apache.axiom.om.OMOutputFormat omOutputFormat)
+ throws javax.xml.stream.XMLStreamException {
+ try {
+ param.save(writer);
+ } catch (java.io.IOException e) {
+ throw new javax.xml.stream.XMLStreamException("Problem with saving document",e);
+ }
+ }
+
+ public void serialize(javax.xml.stream.XMLStreamWriter xmlStreamWriter)
+ throws javax.xml.stream.XMLStreamException {
+ org.apache.axiom.om.impl.MTOMXMLStreamWriter mtomxmlStreamWriter =
+ (org.apache.axiom.om.impl.MTOMXMLStreamWriter) xmlStreamWriter;
+ try {
+ param.save(mtomxmlStreamWriter.getOutputStream());
+ mtomxmlStreamWriter.getOutputStream().flush();
+ } catch (java.io.IOException e) {
+ throw new javax.xml.stream.XMLStreamException("Problem with saving document", e);
+ }
+ }
+
+ public javax.xml.stream.XMLStreamReader getReader()
+ throws javax.xml.stream.XMLStreamException {
+ return param.newXMLStreamReader();
+ }
+ };
+
+ return new org.apache.axiom.om.impl.llom.OMSourcedElementImpl(xmlReader.getName(),
+ org.apache.axiom.om.OMAbstractFactory.getOMFactory(),
+ omDataSource);
}
</xsl:for-each>
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org