You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ke...@apache.org on 2007/07/20 22:42:54 UTC

svn commit: r558126 - in /incubator/tuscany/branches/sdo-1.0-incubating/tools/src: main/java/org/apache/tuscany/sdo/generate/XSD2JavaGenerator.java test/java/org/apache/tuscany/sdo/test/AllTests.java

Author: kelvingoodson
Date: Fri Jul 20 13:42:53 2007
New Revision: 558126

URL: http://svn.apache.org/viewvc?view=rev&rev=558126
Log:
fix for TUSCANY-1428

Modified:
    incubator/tuscany/branches/sdo-1.0-incubating/tools/src/main/java/org/apache/tuscany/sdo/generate/XSD2JavaGenerator.java
    incubator/tuscany/branches/sdo-1.0-incubating/tools/src/test/java/org/apache/tuscany/sdo/test/AllTests.java

Modified: incubator/tuscany/branches/sdo-1.0-incubating/tools/src/main/java/org/apache/tuscany/sdo/generate/XSD2JavaGenerator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sdo-1.0-incubating/tools/src/main/java/org/apache/tuscany/sdo/generate/XSD2JavaGenerator.java?view=diff&rev=558126&r1=558125&r2=558126
==============================================================================
--- incubator/tuscany/branches/sdo-1.0-incubating/tools/src/main/java/org/apache/tuscany/sdo/generate/XSD2JavaGenerator.java (original)
+++ incubator/tuscany/branches/sdo-1.0-incubating/tools/src/main/java/org/apache/tuscany/sdo/generate/XSD2JavaGenerator.java Fri Jul 20 13:42:53 2007
@@ -34,6 +34,7 @@
 import org.apache.tuscany.sdo.helper.XSDHelperImpl;
 import org.apache.tuscany.sdo.util.DataObjectUtil;
 import org.eclipse.emf.codegen.ecore.genmodel.GenClass;
+import org.eclipse.emf.codegen.ecore.genmodel.GenFeature;
 import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
 import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
 import org.eclipse.emf.common.util.URI;
@@ -167,7 +168,6 @@
   {
     GenModel genModel = null;  
       
-    DataObjectUtil.initRuntime();
     HelperContext hc = new HelperContextImpl(extendedMetaData, false);
     XSDHelper xsdHelper = hc.getXSDHelper();
     ((XSDHelperImpl)xsdHelper).setRedefineBuiltIn(regenerateBuiltIn);
@@ -384,36 +384,34 @@
       for (Iterator iterClass = genClasses.iterator(); iterClass.hasNext();)
       {
         GenClass genClass = (GenClass)iterClass.next();
-        if( !("DocumentRoot".equals(genClass.getInterfaceName())))
-        {
           String name  = extendedMetaData.getName(genClass.getEcoreClass());
           String className = genPackage.getInterfacePackageName() + "." + genClass.getInterfaceName();
           classes.add( new PackageClassInfo( name, className, false, null ) );
-          EClass documentRoot = extendedMetaData.getDocumentRoot(ePackage);
-          if( documentRoot != null )
+        List features = genClass.getGenFeatures();
+        for (Iterator iterFeatures = features.iterator(); iterFeatures.hasNext();)
           {
-            List rootElements = extendedMetaData.getElements(documentRoot);
-            for (Iterator iterRoot = rootElements.iterator(); iterRoot.hasNext();)
-            {
-              EStructuralFeature element = (EStructuralFeature)iterRoot.next();
+          GenFeature feature = (GenFeature)iterFeatures.next();
+          EStructuralFeature element = feature.getEcoreFeature();
               EClassifier elementType = element.getEType();
               if( elementType instanceof EClass )
               {
                 // complex type
                 EClass eClass = (EClass)elementType;
                 GenClass genEClass = (GenClass)eclassGenClassMap.get(elementType);
+            if( genEClass != null )
+            {    
                 name = extendedMetaData.getName(element);
                 String interfaceName = genEClass.getGenPackage().getInterfacePackageName()
                        + '.' + genEClass.getInterfaceName();
                 boolean anonymous = extendedMetaData.isAnonymous(eClass);
                             
-                // Build list of property class names
+              // Build list of property names
                 List propertyClassNames = new ArrayList();
                 List properties = eClass.getEStructuralFeatures(); 
                 for (Iterator iterProperties = properties.iterator(); iterProperties.hasNext();)
                 {
-                  EStructuralFeature feature = (EStructuralFeature)iterProperties.next();
-                  EClassifier propertyType = feature.getEType();
+                EStructuralFeature property = (EStructuralFeature)iterProperties.next();
+                EClassifier propertyType = property.getEType();
                   if (propertyType instanceof EClass) 
                   {
                     GenClass propertyGenClass = (GenClass)eclassGenClassMap.get(propertyType);
@@ -432,6 +430,7 @@
                 }
                 classes.add( new PackageClassInfo( name, interfaceName, anonymous, propertyClassNames ) );
               }
+          }    
               else
               {
                 // simple type
@@ -442,8 +441,6 @@
             }    
           }
         }
-      }   
-    }
       
     public class PackageClassInfo
     {

Modified: incubator/tuscany/branches/sdo-1.0-incubating/tools/src/test/java/org/apache/tuscany/sdo/test/AllTests.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sdo-1.0-incubating/tools/src/test/java/org/apache/tuscany/sdo/test/AllTests.java?view=diff&rev=558126&r1=558125&r2=558126
==============================================================================
--- incubator/tuscany/branches/sdo-1.0-incubating/tools/src/test/java/org/apache/tuscany/sdo/test/AllTests.java (original)
+++ incubator/tuscany/branches/sdo-1.0-incubating/tools/src/test/java/org/apache/tuscany/sdo/test/AllTests.java Fri Jul 20 13:42:53 2007
@@ -35,6 +35,7 @@
         suite.addTestSuite(InheritanceTestCase.class);
         suite.addTestSuite(OpenContentTestCase.class);
         suite.addTestSuite(SimpleStaticTestCase.class);
+        suite.addTestSuite(GeneratedPackagesTestCase.class);
 
         return suite;
     }



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