You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2007/03/09 19:42:21 UTC

svn commit: r516502 - in /incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/tools/wsdl2java/src: main/java/org/apache/tuscany/tools/wsdl2java/generate/ test/java/org/apache/tuscany/tools/wsdl2java/generate/

Author: lresende
Date: Fri Mar  9 10:42:21 2007
New Revision: 516502

URL: http://svn.apache.org/viewvc?view=rev&rev=516502
Log:
[sca-integration-branch] tuscany-1064

Modified:
    incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGenerator.java
    incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/tools/wsdl2java/src/test/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGeneratorTestCase.java

Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGenerator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGenerator.java?view=diff&rev=516502&r1=516501&r2=516502
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGenerator.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGenerator.java Fri Mar  9 10:42:21 2007
@@ -54,6 +54,7 @@
 import commonj.sdo.helper.XSDHelper;
 
 public class WSDL2JavaGenerator {
+    static protected final int DYNAMIC_SDO = 1;
 
     /**
      * Generate Java interfaces from WSDL Usage arguments: [ -targetDirectory
@@ -77,6 +78,7 @@
         String targetDirectory = null;
         String wsdlJavaPackage = null;
         String xsdJavaPackage = null;
+        int dynamicSDO = 0;
 
         int index = 0;
         for (; index < args.length && args[index].startsWith("-"); ++index) {
@@ -86,6 +88,8 @@
                 targetDirectory = args[++index];
             } else if (args[index].equalsIgnoreCase("-javaPackage")) {
                 wsdlJavaPackage = args[++index];
+            } else if (args[index].equalsIgnoreCase("-dynamicSDO")) {
+                dynamicSDO = DYNAMIC_SDO;
             }
             // else if (...)
             else {
@@ -100,7 +104,7 @@
             return;
         }
 
-        generateFromWSDL(wsdlFileName, portName!=null? new String[]{portName}:null, targetDirectory, wsdlJavaPackage, xsdJavaPackage, 0);
+        generateFromWSDL(wsdlFileName, portName!=null? new String[]{portName}:null, targetDirectory, wsdlJavaPackage, xsdJavaPackage, dynamicSDO);
 
     }
 
@@ -174,8 +178,9 @@
                     for (GenClass genClass : (List<GenClass>)currentGenPackage.getGenClasses()) {
                         QName qname = new QName(extendedMetaData.getNamespace(currentEPackage),
                                                 extendedMetaData.getName(genClass.getEcoreClass()));
-                        String interfaceName = currentGenPackage.getInterfacePackageName() + '.'
-                                               + genClass.getInterfaceName();
+                        String interfaceName = (DYNAMIC_SDO & genOptions) == DYNAMIC_SDO ? "commonj.sdo.DataObject" : currentGenPackage
+                                .getInterfacePackageName()
+                                + '.' + genClass.getInterfaceName();
                         SDODataBindingTypeMappingEntry typeMappingEntry =
                                 new SDODataBindingTypeMappingEntry(interfaceName, false, null);
                         typeMapping.put(qname, typeMappingEntry);
@@ -195,8 +200,9 @@
                                 GenClass genClass = genClasses.get(elementType);
                                 QName qname = new QName(extendedMetaData.getNamespace(currentEPackage),
                                         extendedMetaData.getName(element));
-                                String interfaceName = genClass.getGenPackage().getInterfacePackageName()
-                                + '.' + genClass.getInterfaceName();
+                                String interfaceName = (DYNAMIC_SDO & genOptions) == DYNAMIC_SDO ? "commonj.sdo.DataObject" : genClass
+                                        .getGenPackage().getInterfacePackageName()
+                                        + '.' + genClass.getInterfaceName();
                                 boolean anonymous = extendedMetaData.isAnonymous(eClass);
                                 
                                 // Build list of property class names
@@ -205,8 +211,9 @@
                                     EClassifier propertyType = feature.getEType();
                                     if (propertyType instanceof EClass) {
                                         GenClass propertyGenClass = genClasses.get(propertyType);
-                                        String propertyClassName = propertyGenClass.getGenPackage().getInterfacePackageName()
-                                                               + '.' + propertyGenClass.getInterfaceName();
+                                        String propertyClassName = (DYNAMIC_SDO & genOptions) == DYNAMIC_SDO ? "commonj.sdo.DataObject"
+                                                : propertyGenClass.getGenPackage().getInterfacePackageName() + '.'
+                                                        + propertyGenClass.getInterfaceName();
                                         propertyClassNames.add(propertyClassName);
                                     } else if (propertyType instanceof EClassifier) {
                                         String propertyClassName = propertyType.getInstanceClass().getName();
@@ -338,6 +345,7 @@
         System.out.println("Usage arguments:");
         System.out.println("  [ -targetDirectory <target-root-directory> ]");
         System.out.println("  [ -javaPackage <java-package-name> ]");
+        System.out.println("  [ -dynamicSDO ]");
         System.out.println("  <wsdl-file>");
         System.out.println("");
         System.out.println("For example:");

Modified: incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/tools/wsdl2java/src/test/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGeneratorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/tools/wsdl2java/src/test/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGeneratorTestCase.java?view=diff&rev=516502&r1=516501&r2=516502
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/tools/wsdl2java/src/test/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGeneratorTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/tools/wsdl2java/src/test/java/org/apache/tuscany/tools/wsdl2java/generate/WSDL2JavaGeneratorTestCase.java Fri Mar  9 10:42:21 2007
@@ -18,6 +18,10 @@
  */
 package org.apache.tuscany.tools.wsdl2java.generate;
 
+import java.io.IOException;
+import java.io.FileReader;
+import java.io.Reader;
+
 import junit.framework.TestCase;
 
 /**
@@ -39,6 +43,23 @@
         WSDL2JavaGenerator.main(args);
         
     }
-    
-    
+
+    public void testDynamicSDO() throws IOException {
+        String basedir = System.getProperty("basedir");
+        if (basedir == null)
+            basedir =".";
+
+        String[] args=new String[] { "-targetDirectory", basedir + "/target/wsdl2java-source",
+                "-javaPackage", "org.apache.tuscany.tools.wsdl2java.generate.account",
+                "-dynamicSDO",
+                basedir + "/src/test/resources/AccountService.wsdl"};
+
+        WSDL2JavaGenerator.main(args);
+
+        char buffer[] = new char[1024];
+        Reader file = new FileReader("target/wsdl2java-source/org/apache/tuscany/tools/wsdl2java/generate/account/AccountService.java");
+        file.read(buffer);
+        file.close();
+        assertTrue(new String(buffer).indexOf("commonj.sdo.DataObject") != -1);
+    }
 }



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