You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by fr...@apache.org on 2006/03/03 22:03:46 UTC

svn commit: r382929 - /incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java

Author: frankb
Date: Fri Mar  3 13:03:44 2006
New Revision: 382929

URL: http://svn.apache.org/viewcvs?rev=382929&view=rev
Log:
change XSDHelper.define() to return existing types (including
generated classes registered with SDOUtil.registerStaticTypes)
if the namespace already defined.

Modified:
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java?rev=382929&r1=382928&r2=382929&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java Fri Mar  3 13:03:44 2006
@@ -176,7 +176,11 @@
       XSDSchema schema = (XSDSchema)model.getContents().get(0);
       
       // If define() is called more than once for the same XMLSchema, return the existing defined types
-      if (!ecoreBuilder.getTargetNamespaceToEPackageMap().containsKey(schema.getTargetNamespace()))
+      //FIXME ... need to rethink this design
+      //if (!ecoreBuilder.getTargetNamespaceToEPackageMap().containsKey(schema.getTargetNamespace()))
+      // also return generated types registered via SDOUtil.registerStaticTypes()
+      EPackage ePackage = extendedMetaData.getPackage(schema.getTargetNamespace());
+      if (ePackage == null)
       {
         ecoreBuilder.generate(schema);
         Collection newEPackages = ecoreBuilder.getTargetNamespaceToEPackageMap().values();
@@ -188,8 +192,7 @@
           EcoreUtil.freeze(currentPackage);
         }
       }
-      
-      EPackage ePackage = extendedMetaData.getPackage(schema.getTargetNamespace());
+      ePackage = extendedMetaData.getPackage(schema.getTargetNamespace());
       return ePackage.getEClassifiers();
     }
     catch (Exception e)