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/04/11 12:10:52 UTC

svn commit: r527442 - /incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java

Author: kelvingoodson
Date: Wed Apr 11 03:10:47 2007
New Revision: 527442

URL: http://svn.apache.org/viewvc?view=rev&rev=527442
Log:
Port fix for TUSCANY-1196 to M3 tag

Modified:
    incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java

Modified: incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java?view=diff&rev=527442&r1=527441&r2=527442
==============================================================================
--- incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java (original)
+++ incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java Wed Apr 11 03:10:47 2007
@@ -120,16 +120,17 @@
 
   public EClassifier getEClassifier(XSDTypeDefinition xsdTypeDefinition) {
     EClassifier eClassifier = null;
-    if (rootSchema.getSchemaForSchemaNamespace().equals(xsdTypeDefinition.getTargetNamespace())) {
-      eClassifier = 
-        getBuiltInEClassifier(
-          xsdTypeDefinition.getURI(), 
-          xsdTypeDefinition.getName());
-    } 
-    else if (xsdTypeDefinition.getContainer() == null) {
-      EPackage pkg = extendedMetaData.getPackage(xsdTypeDefinition.getTargetNamespace());
-      if(pkg != null) {
-         eClassifier = pkg.getEClassifier(xsdTypeDefinition.getName());
+    if (xsdTypeDefinition != null)
+    {
+      if (rootSchema.getSchemaForSchemaNamespace().equals(xsdTypeDefinition.getTargetNamespace())) {
+        eClassifier = 
+          getBuiltInEClassifier(xsdTypeDefinition.getURI(), xsdTypeDefinition.getName());
+      } 
+      else if (xsdTypeDefinition.getContainer() == null) {
+        EPackage pkg = extendedMetaData.getPackage(xsdTypeDefinition.getTargetNamespace());
+        if(pkg != null) {
+          eClassifier = pkg.getEClassifier(xsdTypeDefinition.getName());
+        }
       }
     }
     if (eClassifier == null) {
@@ -140,7 +141,7 @@
   
   public EDataType getEDataType(XSDSimpleTypeDefinition xsdSimpleTypeDefinition) {
     EDataType eClassifier = null;
-    if (rootSchema.getSchemaForSchemaNamespace().equals(xsdSimpleTypeDefinition.getTargetNamespace())) {
+    if (xsdSimpleTypeDefinition != null && rootSchema.getSchemaForSchemaNamespace().equals(xsdSimpleTypeDefinition.getTargetNamespace())) {
       eClassifier =
         (EDataType)getBuiltInEClassifier(
           xsdSimpleTypeDefinition.getURI(),
@@ -272,6 +273,7 @@
   }
   
   public EClass computeEClass(XSDComplexTypeDefinition xsdComplexTypeDefinition) {
+    if (xsdComplexTypeDefinition == null) return super.computeEClass(xsdComplexTypeDefinition);
     EPackage ePackage = (EPackage)targetNamespaceToEPackageMap.get(xsdComplexTypeDefinition.getTargetNamespace());
     if (ePackage != null && TypeHelperImpl.getBuiltInModels().contains(ePackage)) {
       EClassifier eclassifier = ePackage.getEClassifier(xsdComplexTypeDefinition.getName());
@@ -287,6 +289,7 @@
   }
 
   protected EClassifier computeEClassifier(XSDTypeDefinition xsdTypeDefinition) {
+    if (xsdTypeDefinition == null) return super.computeEClassifier(xsdTypeDefinition);
     EPackage ePackage = (EPackage)targetNamespaceToEPackageMap.get(xsdTypeDefinition.getTargetNamespace());
     if (ePackage != null && TypeHelperImpl.getBuiltInModels().contains(ePackage)) {
       EClassifier eclassifier = ePackage.getEClassifier(xsdTypeDefinition.getName());
@@ -305,6 +308,7 @@
   }
 
   protected EDataType computeEDataType(XSDSimpleTypeDefinition xsdSimpleTypeDefinition) {
+    if (xsdSimpleTypeDefinition == null) return super.computeEDataType(xsdSimpleTypeDefinition);
     EPackage ePackage = (EPackage)targetNamespaceToEPackageMap.get(xsdSimpleTypeDefinition.getTargetNamespace());
     if (ePackage != null && TypeHelperImpl.getBuiltInModels().contains(ePackage)) {
       EClassifier eclassifier = ePackage.getEClassifier(xsdSimpleTypeDefinition.getName());



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