You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by fu...@apache.org on 2007/09/07 00:06:46 UTC

svn commit: r573394 - in /incubator/tuscany/java/sdo: plugin/src/main/java/org/apache/tuscany/sdo/plugin/ tools/src/main/java/org/apache/tuscany/sdo/generate/ toolsTest/ toolsTest/src/main/resources/

Author: fuhwei
Date: Thu Sep  6 15:06:45 2007
New Revision: 573394

URL: http://svn.apache.org/viewvc?rev=573394&view=rev
Log:
Add schemaNamespace parameter support for SDO Mojo Plugin project

Added:
    incubator/tuscany/java/sdo/toolsTest/src/main/resources/xsdImportOnly.wsdl
    incubator/tuscany/java/sdo/toolsTest/src/main/resources/xsdImportOnly_1.xsd
Modified:
    incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/GeneratorMojo.java
    incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/SchemaFileOption.java
    incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/XSD2JavaGenerator.java
    incubator/tuscany/java/sdo/toolsTest/pom.xml

Modified: incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/GeneratorMojo.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/GeneratorMojo.java?rev=573394&r1=573393&r2=573394&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/GeneratorMojo.java (original)
+++ incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/GeneratorMojo.java Thu Sep  6 15:06:45 2007
@@ -152,6 +152,14 @@
      * @parameter
      */
     private SchemaFileOption[] schemaFiles;
+    
+    /**
+     * The namespace to generate Java codes from.
+     * Setting to "all" will generate all namespaces.
+     * 
+     * @parameter
+     */
+    private String schemaNamespace;
 
     public void execute() throws MojoExecutionException {
 
@@ -167,6 +175,9 @@
                 if (null == sf.getJavaPackage()) {
                     sf.setJavaPackage(javaPackage);
                 }
+                if (null == sf.getSchemaNamespace()) {
+                	sf.setSchemaNamespace(schemaNamespace);
+                }
                 if (null == sf.isNoInterfaces()) {
                     sf.setNoInterfaces(noInterfaces);
                 }
@@ -218,6 +229,7 @@
                     schemaFiles[i].setNoUnsettable(noUnsettable);
                     schemaFiles[i].setPrefix(prefix);
                     schemaFiles[i].setTargetDirectory(targetDirectory);
+                    schemaFiles[i].setSchemaNamespace(schemaNamespace);
                 }
             } else {
                 schemaFiles = new SchemaFileOption[] {new SchemaFileOption()};
@@ -233,6 +245,7 @@
                 schemaFiles[0].setNoUnsettable(noUnsettable);
                 schemaFiles[0].setPrefix(prefix);
                 schemaFiles[0].setTargetDirectory(targetDirectory);
+                schemaFiles[0].setSchemaNamespace(schemaNamespace);
             }
         }
 
@@ -268,7 +281,7 @@
                 }
 
                 XSD2JavaGenerator.generateFromXMLSchema(file.toString(),
-                                                        null,
+                                                        schemaFiles[i].getSchemaNamespace(),
                                                         schemaFiles[i].getTargetDirectory(),
                                                         schemaFiles[i].getJavaPackage(),
                                                         schemaFiles[i].getPrefix(),

Modified: incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/SchemaFileOption.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/SchemaFileOption.java?rev=573394&r1=573393&r2=573394&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/SchemaFileOption.java (original)
+++ incubator/tuscany/java/sdo/plugin/src/main/java/org/apache/tuscany/sdo/plugin/SchemaFileOption.java Thu Sep  6 15:06:45 2007
@@ -100,6 +100,12 @@
      */
     private Boolean interfaceDataObject;
 
+    /**
+     * The namespace to generate Java codes from.
+     * Setting to "all" will generate all namespaces.
+     */
+    private String schemaNamespace;
+
     public SchemaFileOption() {
     }
 
@@ -189,6 +195,14 @@
 
 	public void setInterfaceDataObject(Boolean interfaceDataObject) {
 		this.interfaceDataObject = interfaceDataObject;
+	}
+	
+	public String getSchemaNamespace() {
+    	return schemaNamespace;
+    }
+	
+	public void setSchemaNamespace(String schemaNamespace) {
+		this.schemaNamespace = schemaNamespace;
 	}
 
 }

Modified: incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/XSD2JavaGenerator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/XSD2JavaGenerator.java?rev=573394&r1=573393&r2=573394&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/XSD2JavaGenerator.java (original)
+++ incubator/tuscany/java/sdo/tools/src/main/java/org/apache/tuscany/sdo/generate/XSD2JavaGenerator.java Thu Sep  6 15:06:45 2007
@@ -147,13 +147,32 @@
     generateFromXMLSchema(xsdFileName, packageRegistry, extendedMetaData, targetDirectory, packageInfoTable, genOptions, generateBuiltIn, allNamespaces);
   }
 
+  /**
+   * This method was invoked by the SDO Mojo plugin
+   * 
+   * @param xsdFileName
+   * @param namespace
+   * @param targetDirectory
+   * @param javaPackage
+   * @param prefix
+   * @param genOptions
+   */
   public static void generateFromXMLSchema(String xsdFileName, String namespace, String targetDirectory, String javaPackage, String prefix, int genOptions)
   {
+	  boolean allNamespaces = false;
+	  
+	  // Need to process the passed-in schemaNamespace value from Mojo plugin the same as the command line
+	  if( "all".equalsIgnoreCase(namespace))
+      {
+        namespace = null;
+        allNamespaces = true;
+      }
+	  
     EPackage.Registry packageRegistry = new EPackageRegistryImpl(EPackage.Registry.INSTANCE);
     ExtendedMetaData extendedMetaData = new BasicExtendedMetaData(packageRegistry);
     String packageURI = getSchemaNamespace(xsdFileName);
     Hashtable packageInfoTable = createPackageInfoTable(packageURI, namespace, javaPackage, prefix, null );
-    generateFromXMLSchema(xsdFileName, packageRegistry, extendedMetaData, targetDirectory, packageInfoTable, genOptions, null, false );
+    generateFromXMLSchema(xsdFileName, packageRegistry, extendedMetaData, targetDirectory, packageInfoTable, genOptions, null, allNamespaces);
   }
 
   

Modified: incubator/tuscany/java/sdo/toolsTest/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/toolsTest/pom.xml?rev=573394&r1=573393&r2=573394&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/toolsTest/pom.xml (original)
+++ incubator/tuscany/java/sdo/toolsTest/pom.xml Thu Sep  6 15:06:45 2007
@@ -146,6 +146,16 @@
                             <goal>generate</goal>
                         </goals>
                     </execution>
+                    <execution>
+                        <id>XSDImportOnly</id>
+                        <configuration>
+                            <schemaFile>${basedir}/src/main/resources/xsdImportOnly.wsdl</schemaFile>
+                            <schemaNamespace>all</schemaNamespace>
+                        </configuration>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                    </execution>
                 </executions>
             </plugin>
         </plugins>

Added: incubator/tuscany/java/sdo/toolsTest/src/main/resources/xsdImportOnly.wsdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/toolsTest/src/main/resources/xsdImportOnly.wsdl?rev=573394&view=auto
==============================================================================
--- incubator/tuscany/java/sdo/toolsTest/src/main/resources/xsdImportOnly.wsdl (added)
+++ incubator/tuscany/java/sdo/toolsTest/src/main/resources/xsdImportOnly.wsdl Thu Sep  6 15:06:45 2007
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://xsdImportOnly/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="EchoService" targetNamespace="http://xsdImportOnly/">
+  <types>
+    <xsd:schema>
+      <xsd:import namespace="http://xsdImportOnly/" schemaLocation="xsdImportOnly_1.xsd"/>
+    </xsd:schema>
+  </types>
+  <message name="echo">
+    <part element="tns:echo" name="parameters"/>
+  </message>
+  <message name="echoResponse">
+    <part element="tns:echoResponse" name="parameters"/>
+  </message>
+  <portType name="Echo">
+    <operation name="echo">
+      <input message="tns:echo"/>
+      <output message="tns:echoResponse"/>
+    </operation>
+  </portType>
+  <binding name="EchoPortBinding" type="tns:Echo">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <operation name="echo">
+      <soap:operation soapAction=""/>
+      <input>
+        <soap:body use="literal"/>
+      </input>
+      <output>
+        <soap:body use="literal"/>
+      </output>
+    </operation>
+  </binding>
+  <service name="EchoService">
+    <port binding="tns:EchoPortBinding" name="EchoPort">
+      <soap:address location="http://localhost:9080/w1/EchoService"/>
+    </port>
+  </service>
+</definitions> 
\ No newline at end of file

Added: incubator/tuscany/java/sdo/toolsTest/src/main/resources/xsdImportOnly_1.xsd
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/toolsTest/src/main/resources/xsdImportOnly_1.xsd?rev=573394&view=auto
==============================================================================
--- incubator/tuscany/java/sdo/toolsTest/src/main/resources/xsdImportOnly_1.xsd (added)
+++ incubator/tuscany/java/sdo/toolsTest/src/main/resources/xsdImportOnly_1.xsd Thu Sep  6 15:06:45 2007
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://xsdImportOnly/" targetNamespace="http://xsdImportOnly/" version="1.0">
+
+  <xs:element name="echo" type="tns:echo"/>
+
+  <xs:element name="echoResponse" type="tns:echoResponse"/>
+
+  <xs:complexType name="echo">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="arg0" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="echoResponse">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="return" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+</xs:schema> 
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org