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)