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