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 aj...@apache.org on 2005/07/26 09:09:47 UTC
svn commit: r225244 - in
/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl:
codegen/CodeGenerationEngine.java codegen/extension/PackageFinder.java
codegen/extension/XMLBeansExtension.java
template/java/XMLBeansSupporterTemplate.xsl
Author: ajith
Date: Tue Jul 26 00:04:26 2005
New Revision: 225244
URL: http://svn.apache.org/viewcvs?rev=225244&view=rev
Log:
1. The use of OMXMLBuilderFactory has been removed from the template
2. Some minor refactoring to make the code efficient and introduced a new constructor to the code generation engine
3. Slightly modified the XMLBeans extension.
Modified:
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/CodeGenerationEngine.java
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/PackageFinder.java
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/XMLBeansExtension.java
webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/template/java/XMLBeansSupporterTemplate.xsl
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/CodeGenerationEngine.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/CodeGenerationEngine.java?rev=225244&r1=225243&r2=225244&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/CodeGenerationEngine.java (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/CodeGenerationEngine.java Tue Jul 26 00:04:26 2005
@@ -45,7 +45,10 @@
private CodeGenConfiguration configuration;
-
+ public CodeGenerationEngine(CodeGenConfiguration config) throws CodeGenerationException{
+ this.configuration = config;
+ loadExtensions();
+ }
public CodeGenerationEngine(CommandLineOptionParser parser) throws CodeGenerationException {
WSDLDescription wom;
try {
@@ -57,6 +60,12 @@
}
this.configuration = new CodeGenConfiguration(wom, parser);
+ loadExtensions();
+
+
+ }
+
+ private void loadExtensions() {
AxisBindingBuilder axisBindingBuilder = new AxisBindingBuilder();
axisBindingBuilder.init(this.configuration);
axisBindingBuilder.engage();
@@ -78,31 +87,37 @@
public void generate() throws CodeGenerationException {
- for (int i = 0; i < this.moduleEndpoints.size(); i++) {
- ((CodeGenExtension) this.moduleEndpoints.get(i)).engage();
- }
-
- Emitter emitter = null;
- TypeMapper mapper = configuration.getTypeMapper();
-
- switch (configuration.getOutputLanguage()) {
- case XSLTConstants.LanguageTypes.JAVA:
- emitter = new JavaEmitter(this.configuration, mapper);
- break;
- case XSLTConstants.LanguageTypes.C_SHARP:
- emitter = new CSharpEmitter(this.configuration, mapper);
- break;
- case XSLTConstants.LanguageTypes.C_PLUS_PLUS:
- case XSLTConstants.LanguageTypes.VB_DOT_NET:
-
- default:
- throw new UnsupportedOperationException();
-
+ try {
+ for (int i = 0; i < this.moduleEndpoints.size(); i++) {
+ ((CodeGenExtension) this.moduleEndpoints.get(i)).engage();
+ }
+
+ Emitter emitter = null;
+ TypeMapper mapper = configuration.getTypeMapper();
+
+ switch (configuration.getOutputLanguage()) {
+ case XSLTConstants.LanguageTypes.JAVA:
+ emitter = new JavaEmitter(this.configuration, mapper);
+ break;
+ case XSLTConstants.LanguageTypes.C_SHARP:
+ emitter = new CSharpEmitter(this.configuration, mapper);
+ break;
+ case XSLTConstants.LanguageTypes.C_PLUS_PLUS:
+ case XSLTConstants.LanguageTypes.VB_DOT_NET:
+
+ default:
+ throw new UnsupportedOperationException();
+
+ }
+ if (this.configuration.isServerSide())
+ emitter.emitSkeleton();
+ else
+ emitter.emitStub();
+ } catch (Exception e) {
+ //System.out.println("Thrown here %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%");
+ e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ throw new CodeGenerationException(e);
}
- if (this.configuration.isServerSide())
- emitter.emitSkeleton();
- else
- emitter.emitStub();
}
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/PackageFinder.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/PackageFinder.java?rev=225244&r1=225243&r2=225244&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/PackageFinder.java (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/PackageFinder.java Tue Jul 26 00:04:26 2005
@@ -35,12 +35,7 @@
}
public void engage() {
- Map allOptions = this.configuration.getParser().getAllOptions();
- CommandLineOption packageOption = (CommandLineOption) (allOptions.get(
- CommandLineOptionConstants.PACKAGE_OPTION));
- String packageName = packageOption == null ?
- null : packageOption.getOptionValue();
-
+ String packageName = this.configuration.getPackageName();
if (packageName == null) {
WSDLBinding binding = configuration.getWom().getBinding(
AxisBindingBuilder.AXIS_BINDING_QNAME);
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/XMLBeansExtension.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/XMLBeansExtension.java?rev=225244&r1=225243&r2=225244&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/XMLBeansExtension.java (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/codegen/extension/XMLBeansExtension.java Tue Jul 26 00:04:26 2005
@@ -43,7 +43,7 @@
*/
public class XMLBeansExtension extends AbstractCodeGenerationExtension {
- private static final String DEFUALT_STS_NAME = "foo";
+ private static final String DEFAULT_STS_NAME = "foo";
public void init(CodeGenConfiguration configuration) {
@@ -51,75 +51,81 @@
}
public void engage() {
- WSDLTypes typesList = configuration.getWom().getTypes();
- if (typesList == null) {
- //there are no types to be code generated
- return;
- }
- List typesArray = typesList.getExtensibilityElements();
- WSDLExtensibilityElement extensiblityElt = null;
- XmlObject[] xmlObjects = new XmlObject[typesArray.size()];
-
- for (int i = 0; i < typesArray.size(); i++) {
- extensiblityElt = (WSDLExtensibilityElement) typesArray.get(i);
- if (ExtensionConstants.SCHEMA.equals(extensiblityElt.getType())) {
- try {
- Element schemaElement = ((Schema) extensiblityElt).getElelment();
+ try {
+ WSDLTypes typesList = configuration.getWom().getTypes();
+ if (typesList == null) {
+ //there are no types to be code generated
+ return;
+ }
+ List typesArray = typesList.getExtensibilityElements();
+ WSDLExtensibilityElement extensiblityElt = null;
+ XmlObject[] xmlObjects = new XmlObject[typesArray.size()];
+
+ for (int i = 0; i < typesArray.size(); i++) {
+ extensiblityElt = (WSDLExtensibilityElement) typesArray.get(i);
+
+ if (ExtensionConstants.SCHEMA.equals(extensiblityElt.getType())) {
+
+ try {
+ Element schemaElement = ((Schema) extensiblityElt).getElelment();
+ System.out.println("schemaElement = " + schemaElement);
// //add the namespaces
- XmlOptions options = new XmlOptions();
- options.setCompileDownloadUrls();
- options.setLoadAdditionalNamespaces(
- configuration.getWom().getNamespaces());
- //options.
- xmlObjects[i] =
- XmlObject.Factory.parse(schemaElement, options);
- } catch (XmlException e) {
- throw new RuntimeException(e);
+ XmlOptions options = new XmlOptions();
+ options.setCompileDownloadUrls();
+ options.setLoadAdditionalNamespaces(
+ configuration.getWom().getNamespaces());
+ //options.
+ xmlObjects[i] =
+ XmlObject.Factory.parse(schemaElement, options);
+ } catch (Exception e) {
+
+ throw new RuntimeException(e);
+ }
}
}
- }
- final File outputFolder = configuration.getOutputLocation();
+ final File outputFolder = configuration.getOutputLocation();
- try {
+ try {
+ SchemaTypeSystem sts = XmlBeans.compileXmlBeans(DEFAULT_STS_NAME, null,
+ xmlObjects,
+ new BindingConfig(), XmlBeans.getContextTypeLoader(),
+ new Filer() {
+ public OutputStream createBinaryFile(String typename)
+ throws IOException {
+ File file = new File(outputFolder, typename);
+ file.getParentFile().mkdirs();
+ file.createNewFile();
+ return new FileOutputStream(file);
+ }
+
+ public Writer createSourceFile(String typename)
+ throws IOException {
+ typename =
+ typename.replace('.', File.separatorChar);
+ File file = new File(outputFolder,
+ typename + ".java");
+ file.getParentFile().mkdirs();
+ file.createNewFile();
+ return new FileWriter(file);
+ }
+ }, null);
+
+ //create the type mapper
+ JavaTypeMapper mapper = new JavaTypeMapper();
+ SchemaType[] types = sts.documentTypes();
+
+ for (int i = 0; i < types.length; i++) {
+ mapper.addTypeMapping(types[i].getDocumentElementName(),
+ types[i].getFullJavaName());
+ }
+ //set the type mapper to the config
+ configuration.setTypeMapper(mapper);
- SchemaTypeSystem sts = XmlBeans.compileXmlBeans(DEFUALT_STS_NAME, null,
- xmlObjects,
- new BindingConfig(), XmlBeans.getContextTypeLoader(),
- new Filer() {
- public OutputStream createBinaryFile(String typename)
- throws IOException {
- File file = new File(outputFolder, typename);
- file.getParentFile().mkdirs();
- file.createNewFile();
- return new FileOutputStream(file);
- }
-
- public Writer createSourceFile(String typename)
- throws IOException {
- typename =
- typename.replace('.', File.separatorChar);
- File file = new File(outputFolder,
- typename + ".java");
- file.getParentFile().mkdirs();
- file.createNewFile();
- return new FileWriter(file);
- }
- }, null);
-
- //create the type mapper
- JavaTypeMapper mapper = new JavaTypeMapper();
- SchemaType[] types = sts.documentTypes();
-
- for (int i = 0; i < types.length; i++) {
- //System.out.println("type name = " + types[i].getFullJavaImplName()+" "+types[i].getDocumentElementName());
- mapper.addTypeMapping(types[i].getDocumentElementName(),
- types[i].getFullJavaName());
+ } catch (XmlException e) {
+ throw new RuntimeException(e);
}
- //set the type mapper to the config
- configuration.setTypeMapper(mapper);
-
- } catch (XmlException e) {
+ } catch (Exception e) {
throw new RuntimeException(e);
}
}
Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/template/java/XMLBeansSupporterTemplate.xsl
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/template/java/XMLBeansSupporterTemplate.xsl?rev=225244&r1=225243&r2=225244&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/template/java/XMLBeansSupporterTemplate.xsl (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/template/java/XMLBeansSupporterTemplate.xsl Tue Jul 26 00:04:26 2005
@@ -53,8 +53,8 @@
<xsl:template match="param">
<xsl:if test="@type!=''">
public static org.apache.axis2.om.OMElement toOM(<xsl:value-of select="@type"/> param){
- org.apache.axis2.om.impl.llom.builder.StAXOMBuilder builder = org.apache.axis2.om.impl.llom.factory.OMXMLBuilderFactory.createStAXOMBuilder
- (org.apache.axis2.om.OMAbstractFactory.getOMFactory(),new org.apache.axis2.clientapi.StreamWrapper(param.newXMLStreamReader())) ;
+ org.apache.axis2.om.impl.llom.builder.StAXOMBuilder builder = new org.apache.axis2.om.impl.llom.builder.StAXOMBuilder
+ (org.apache.axis2.om.OMAbstractFactory.getOMFactory(),new org.apache.axis2.clientapi.StreamWrapper(param.newXMLStreamReader()) ;
org.apache.axis2.om.OMElement documentElement = builder.getDocumentElement();
//Building the element is needed to avoid certain stream errors!
documentElement.build();