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 2007/02/27 21:44:51 UTC

svn commit: r512383 - in /incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo: helper/ util/ util/resource/

Author: frankb
Date: Tue Feb 27 12:44:50 2007
New Revision: 512383

URL: http://svn.apache.org/viewvc?view=rev&rev=512383
Log:
Fix for TUSCANY-1113

Modified:
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOExtendedMetaDataImpl.java
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOXMLResourceImpl.java

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java?view=diff&rev=512383&r1=512382&r2=512383
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java Tue Feb 27 12:44:50 2007
@@ -33,23 +33,22 @@
 import commonj.sdo.helper.XMLHelper;
 import commonj.sdo.helper.XSDHelper;
 
-public class HelperContextImpl implements HelperContext {
-		
+public class HelperContextImpl implements HelperContext
+{
 	private DataFactory dataFactory;
 	private TypeHelper typeHelper;
 	private XMLHelper xmlHelper;
 	private XSDHelper xsdHelper;
 
-	public HelperContextImpl(ExtendedMetaData extendedMetaData) {
+	public HelperContextImpl(ExtendedMetaData extendedMetaData, boolean extensibleNamespaces) {
         typeHelper = new TypeHelperImpl(extendedMetaData);
-
         dataFactory = new DataFactoryImpl(typeHelper);
         xmlHelper = new XMLHelperImpl(typeHelper);
-        xsdHelper = new XSDHelperImpl(typeHelper);
+        xsdHelper = new XSDHelperImpl(typeHelper, extensibleNamespaces);
     }
 
-    public HelperContextImpl() {
-        this(new SDOExtendedMetaDataImpl(new EPackageRegistryImpl(EPackage.Registry.INSTANCE))); //TODO create subclass that makes demand() methods synchronous
+    public HelperContextImpl(boolean extensibleNamespaces) {
+        this(new SDOExtendedMetaDataImpl(new EPackageRegistryImpl(EPackage.Registry.INSTANCE)), extensibleNamespaces);
     }
 
 	public CopyHelper getCopyHelper() {

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOExtendedMetaDataImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOExtendedMetaDataImpl.java?view=diff&rev=512383&r1=512382&r2=512383
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOExtendedMetaDataImpl.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOExtendedMetaDataImpl.java Tue Feb 27 12:44:50 2007
@@ -33,12 +33,14 @@
 import org.eclipse.emf.ecore.EPackage.Registry;
 import org.eclipse.emf.ecore.util.BasicExtendedMetaData;
 
+/**
+ * TODO make demand() methods synchronous?
+ */
 public class SDOExtendedMetaDataImpl 
   extends BasicExtendedMetaData 
-  implements SDOExtendedMetaData {
-
-  
-  
+  implements SDOExtendedMetaData
+{
+ 
   public SDOExtendedMetaDataImpl() {
     super();
   }
@@ -121,10 +123,12 @@
     return featureNamespaceMatchingLax;
   }
 
-  /* getLocalAttribute & getLocalElement are
-   * TEMPORARILY COPIED FROM BASE CLASS - DO NOT EDIT - WILL BE REMOVED WHEN WE MOVE TO EMF 2.3
-   */
   
+  /****************************************************************************************************** 
+   * getLocalAttribute & getLocalElement are
+   * TEMPORARILY COPIED FROM BASE CLASS - DO NOT EDIT - WILL BE REMOVED WHEN WE MOVE TO EMF 2.3
+   ******************************************************************************************************/
+ 
   public EStructuralFeature getLocalAttribute(EClass eClass, String namespace, String name)
   {
     EStructuralFeature result = null;

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java?view=diff&rev=512383&r1=512382&r2=512383
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/SDOXSDEcoreBuilder.java Tue Feb 27 12:44:50 2007
@@ -20,9 +20,11 @@
 package org.apache.tuscany.sdo.helper;
 
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map.Entry;
 
 import javax.xml.XMLConstants;
 
@@ -34,10 +36,12 @@
 import org.eclipse.emf.ecore.EClassifier;
 import org.eclipse.emf.ecore.EDataType;
 import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecore.util.ExtendedMetaData;
+import org.eclipse.emf.ecore.util.EcoreUtil.UsageCrossReferencer;
 import org.eclipse.xsd.XSDComplexTypeDefinition;
 import org.eclipse.xsd.XSDComponent;
 import org.eclipse.xsd.XSDConcreteComponent;
@@ -54,21 +58,24 @@
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 
-/**
- * TODO: 
- *  - Implement support for the SDO XSD Schema annotations
- *  - Override the default ecore type mappings
- *  
- * DONE:
- *  - Override the default XSDEcoreBuilder name mangling
- */
 public class SDOXSDEcoreBuilder extends XSDEcoreBuilder
 {
-  public SDOXSDEcoreBuilder(ExtendedMetaData extendedMetaData)
+  protected boolean replaceConflictingTypes = false;
+
+  public SDOXSDEcoreBuilder(ExtendedMetaData extendedMetaData, boolean replaceConflictingTypes)
   {
     super(extendedMetaData);
+    this.replaceConflictingTypes = replaceConflictingTypes;
     populateTypeToTypeObjectMap((EPackage)ModelFactory.INSTANCE);
   }
+  
+  /**
+   * @deprecated
+   */
+  public SDOXSDEcoreBuilder(ExtendedMetaData extendedMetaData)
+  {
+    this(extendedMetaData, false);
+  }
 
   /**
    * Overrides method in EMF. This will cause the SDO Properties to be in the
@@ -108,8 +115,7 @@
     XSDSchema containingXSDSchema = xsdNamedComponent.getSchema();
     String targetNamespace = containingXSDSchema == null ?
         xsdNamedComponent.getTargetNamespace() : containingXSDSchema.getTargetNamespace();
-    EPackage ePackage = (EPackage) targetNamespaceToEPackageMap
-        .get(targetNamespace);
+    EPackage ePackage = (EPackage) targetNamespaceToEPackageMap.get(targetNamespace);
     if (ePackage != null)
       return ePackage;
     ePackage = super.getEPackage(xsdNamedComponent);
@@ -119,8 +125,6 @@
     return ePackage;
   }
 
-
-
   public EClassifier getEClassifier(XSDTypeDefinition xsdTypeDefinition) {
     EClassifier eClassifier = null;
     if (rootSchema.getSchemaForSchemaNamespace().equals(xsdTypeDefinition.getTargetNamespace())) {
@@ -128,14 +132,15 @@
         getBuiltInEClassifier(
           xsdTypeDefinition.getURI(), 
           xsdTypeDefinition.getName());
-    } else {
-        EPackage pkg = extendedMetaData.getPackage(xsdTypeDefinition.getTargetNamespace());
-        if(pkg != null) {
-          eClassifier = pkg.getEClassifier(xsdTypeDefinition.getName());
-        }
-        if (eClassifier == null) {
-            eClassifier = super.getEClassifier(xsdTypeDefinition);
-        }
+    } 
+    else if (xsdTypeDefinition.getContainer() == null) { //FB ASK ED check if unresolved type?
+      EPackage pkg = extendedMetaData.getPackage(xsdTypeDefinition.getTargetNamespace());
+      if(pkg != null) {
+         eClassifier = pkg.getEClassifier(xsdTypeDefinition.getName());
+      }
+    }
+    if (eClassifier == null) {
+      eClassifier = super.getEClassifier(xsdTypeDefinition);
     }
     return eClassifier;
   }
@@ -162,18 +167,129 @@
     return eClassifier;
   }
   
+  private void updateReferences(EObject oldEObject, EObject newEObject)
+  {
+    Collection usages = UsageCrossReferencer.find(oldEObject, targetNamespaceToEPackageMap.values());
+    for (Iterator iter = usages.iterator(); iter.hasNext(); )
+    {
+      EStructuralFeature.Setting setting = (EStructuralFeature.Setting)iter.next();
+      EObject referencingEObject = setting.getEObject();
+      EStructuralFeature eStructuralFeature = setting.getEStructuralFeature();
+      if (!eStructuralFeature.isDerived() && eStructuralFeature.isChangeable()) //ASK ED
+      {
+        if (eStructuralFeature.isMany())
+        {
+          List refList = (List)referencingEObject.eGet(eStructuralFeature);
+          int refIndex = refList.indexOf(oldEObject);
+          refList.set(refIndex, newEObject);
+        }
+        else
+        {
+          referencingEObject.eSet(eStructuralFeature, newEObject);
+        }
+      }
+    }
+  }
+  
+  private XSDTypeDefinition getXSDTypeDefinition(EClassifier eClassifier)
+  {
+    XSDTypeDefinition xsdTypeDefinition = null;
+    for (Iterator i = xsdComponentToEModelElementMap.entrySet().iterator(); i.hasNext(); )
+    {
+      Entry e = (Entry) i.next();
+      if (eClassifier == e.getValue()) 
+      {
+        xsdTypeDefinition = (XSDTypeDefinition)e.getKey();
+        break;
+      }
+    }
+    return xsdTypeDefinition;
+  }
+  
+  private boolean sameType(XSDTypeDefinition t1, XSDTypeDefinition t2)
+  {
+    XSDConcreteComponent n1 = t1, n2 = t2;
+    while (n1 != null && n2 != null)
+    {
+      if (n1.eClass() != n2.eClass()) break;
+      if (n1 instanceof XSDNamedComponent /*&& n2 instanceof XSDNamedComponent*/)
+      {
+        String s1 = ((XSDNamedComponent)n1).getName();
+        String s2 = ((XSDNamedComponent)n2).getName();
+        if (s1 == null ? s1 != s2 : !s1.equals(s2)) break;
+      }
+      n1 = n1.getContainer();
+      n2 = n2.getContainer();
+    }
+    return n1 == null && n2 == null;
+  }
+  
+  protected void removeDuplicateEClassifier(EClassifier eClassifier, XSDTypeDefinition xsdTypeDefinition)
+  {
+    EPackage ePackage = eClassifier.getEPackage();
+    List eClassifiers = ePackage.getEClassifiers();
+    String name = eClassifier.getName();
+    int size = eClassifiers.size();
+    for (int index = eClassifiers.indexOf(eClassifier); ++index < size; )
+    {
+      EClassifier nextEClassifier = (EClassifier)eClassifiers.get(index);
+      if (!name.equals(nextEClassifier.getName())) break;
+      if (extendedMetaData.getName(eClassifier).equals(extendedMetaData.getName(nextEClassifier))) //FB ASK ED same type?
+      {
+        XSDTypeDefinition nextXSDTypeDefinition = getXSDTypeDefinition(nextEClassifier);
+        if (!sameType(nextXSDTypeDefinition, xsdTypeDefinition))
+        {
+          //System.out.println("###EClassifier mismatch: ");
+          //System.out.println("    old: " + extendedMetaData.getName(nextEClassifier));
+          //System.out.println("    new: " + extendedMetaData.getName(eClassifier));
+          continue;
+        }
+        eClassifiers.remove(index); 
+        //System.out.println("removed: " + nextEClassifier);
+        //UsageCrossReferencer.print(System.out, usages);
+        updateReferences(nextEClassifier, eClassifier);
+        break;
+      }
+    }
+  }
+  
+  protected void removeDuplicateDocumentRootFeature(EClass eClass, EStructuralFeature eStructuralFeature)
+  {
+    List eStructuralFeatures = eClass.getEStructuralFeatures();
+    int last = eStructuralFeatures.size() - 1;
+    String name = extendedMetaData.getName(eStructuralFeature);
+    for (int index = 0; index < last; index++)
+    {
+      EStructuralFeature otherEStructuralFeature = (EStructuralFeature)eStructuralFeatures.get(index);
+      if (name.equals(extendedMetaData.getName(otherEStructuralFeature))) //FB ASK ED same global feature?
+      {
+        if (otherEStructuralFeature.eClass() != eStructuralFeature.eClass())
+        {
+          //System.out.println("###EStructuralFeature mismatch: ");
+          //System.out.println("    old: " + extendedMetaData.getName(otherEStructuralFeature));
+          //System.out.println("    new: " + extendedMetaData.getName(eStructuralFeature));
+          continue;
+        }
+        eStructuralFeatures.remove(index);
+        updateReferences(otherEStructuralFeature, eStructuralFeature);
+        break;
+      }
+    }
+  }
+  
   public EClass computeEClass(XSDComplexTypeDefinition xsdComplexTypeDefinition) {
     EPackage ePackage = (EPackage)targetNamespaceToEPackageMap.get(xsdComplexTypeDefinition.getTargetNamespace());
     if (ePackage != null && TypeHelperImpl.getBuiltInModels().contains(ePackage)) {
       EClassifier eclassifier = ePackage.getEClassifier(xsdComplexTypeDefinition.getName());
       if (eclassifier != null) return (EClass)eclassifier;
     }
-    EClass eclass = super.computeEClass(xsdComplexTypeDefinition);
+    EClass eClass = super.computeEClass(xsdComplexTypeDefinition);
+    if (replaceConflictingTypes) removeDuplicateEClassifier(eClass, xsdComplexTypeDefinition);
     String aliasNames = getEcoreAttribute(xsdComplexTypeDefinition.getElement(), "aliasName");
     if (aliasNames != null) {
-      SDOExtendedMetaData.INSTANCE.setAliasNames(eclass, aliasNames);
+      SDOExtendedMetaData.INSTANCE.setAliasNames(eClass, aliasNames);
     }
-    return eclass;
+    return eClass;
   }
 
   protected EClassifier computeEClassifier(XSDTypeDefinition xsdTypeDefinition) {
@@ -200,12 +316,13 @@
       EClassifier eclassifier = ePackage.getEClassifier(xsdSimpleTypeDefinition.getName());
       if (eclassifier != null) return (EDataType)eclassifier;
     }
-    EDataType edatatype = super.computeEDataType(xsdSimpleTypeDefinition);
+    EDataType eDataType = super.computeEDataType(xsdSimpleTypeDefinition);
+    if (replaceConflictingTypes) removeDuplicateEClassifier(eDataType, xsdSimpleTypeDefinition);
     String aliasNames = getEcoreAttribute(xsdSimpleTypeDefinition.getElement(), "aliasName");
     if (aliasNames != null) {
-      SDOExtendedMetaData.INSTANCE.setAliasNames(edatatype, aliasNames);
+      SDOExtendedMetaData.INSTANCE.setAliasNames(eDataType, aliasNames);
     }
-    return edatatype;
+    return eDataType;
   }
 
   protected EEnum computeEEnum(XSDSimpleTypeDefinition xsdSimpleTypeDefinition) {
@@ -213,27 +330,37 @@
   }
     
   protected EStructuralFeature createFeature(EClass eClass, String name, EClassifier type, XSDComponent xsdComponent, int minOccurs, int maxOccurs) {
-    EStructuralFeature feature = 
-      super.createFeature(eClass, name, type, xsdComponent, minOccurs, maxOccurs);
+    EStructuralFeature feature = super.createFeature(eClass, name, type, xsdComponent, minOccurs, maxOccurs);
+    
+    //FB What is the following for?
+    if (feature instanceof EReference)
+    {
+      EReference eReference = (EReference)feature;
+      if (xsdComponent != null && xsdComponent instanceof XSDParticle)
+      {
+        XSDTerm xsdTerm = ((XSDParticle)xsdComponent).getTerm();
+        if (xsdTerm instanceof XSDElementDeclaration)
+        {
+          XSDTypeDefinition elementTypeDefinition = getEffectiveTypeDefinition(xsdComponent, (XSDElementDeclaration)xsdTerm);
+          EClassifier eClassifier = getEClassifier(elementTypeDefinition);
+          if (elementTypeDefinition instanceof XSDSimpleTypeDefinition && eClassifier instanceof EClass)
+          {
+            eReference.setContainment(true);
+          }
+        }
+      }
+    }
     
-    if (feature instanceof EReference) {
-        EReference eReference = (EReference)feature;
-            if (xsdComponent != null && xsdComponent instanceof XSDParticle) {
-                XSDTerm xsdTerm = ((XSDParticle)xsdComponent).getTerm();
-                if (xsdTerm instanceof XSDElementDeclaration) {
-                        XSDTypeDefinition elementTypeDefinition = getEffectiveTypeDefinition(xsdComponent, (XSDElementDeclaration)xsdTerm);
-                        EClassifier eClassifier = getEClassifier(elementTypeDefinition);
-                        if(elementTypeDefinition instanceof XSDSimpleTypeDefinition && eClassifier instanceof EClass) { 
-                                eReference.setContainment(true);
-                        }
-                }
-            }
-   }
-
     feature.setName(name); // this is needed because super.createFeature() does EMF name mangling (toLower)
-    if (xsdComponent != null) {
+    
+    if (replaceConflictingTypes && "".equals(extendedMetaData.getName(eClass)))
+      removeDuplicateDocumentRootFeature(eClass, feature);
+    
+    if (xsdComponent != null)
+    {
       String aliasNames = getEcoreAttribute(xsdComponent.getElement(), "aliasName");
-      if (aliasNames != null) {
+      if (aliasNames != null)
+      {
         SDOExtendedMetaData.INSTANCE.setAliasNames(feature, aliasNames);
       }
     }
@@ -541,5 +668,5 @@
     
     return qualifiedPackageName.toString().toLowerCase(); //make sure it's lower case .. we can't work with Axis if not.
   }
-
+  
 }

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/XSDHelperImpl.java?view=diff&rev=512383&r1=512382&r2=512383
==============================================================================
--- 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 Tue Feb 27 12:44:50 2007
@@ -69,14 +69,17 @@
  */
 public class XSDHelperImpl implements XSDHelper
 {
+  protected boolean extensibleNamespaces = false;
+  
   private XSDEcoreBuilder ecoreBuilder;
 
   private ExtendedMetaData extendedMetaData;
 
-  public XSDHelperImpl(ExtendedMetaData extendedMetaData, String redefineBuiltIn)
+  public XSDHelperImpl(ExtendedMetaData extendedMetaData, String redefineBuiltIn, boolean extensibleNamespaces)
   {
     this.extendedMetaData = extendedMetaData;
-    ecoreBuilder = new SDOXSDEcoreBuilder(extendedMetaData);
+    this.extensibleNamespaces = extensibleNamespaces;
+    ecoreBuilder = new SDOXSDEcoreBuilder(extendedMetaData, extensibleNamespaces);
     
     // Add the built-in models to the targetNamespaceToEPackageMap so they can't be (re)defined/overridden
     for (Iterator iter = TypeHelperImpl.getBuiltInModels().iterator(); iter.hasNext(); ) {
@@ -89,9 +92,14 @@
     }
   }
   
-  public XSDHelperImpl(TypeHelper typeHelper)
+  public XSDHelperImpl(ExtendedMetaData extendedMetaData, String redefineBuiltIn)
+  {
+    this(extendedMetaData, redefineBuiltIn, false);
+  }
+  
+  public XSDHelperImpl(TypeHelper typeHelper, boolean extensibleNamespaces)
   {
-    this(((TypeHelperImpl)typeHelper).extendedMetaData, null);
+    this(((TypeHelperImpl)typeHelper).extendedMetaData, null, extensibleNamespaces);
   }
   
   public String getLocalName(Type type)
@@ -196,7 +204,7 @@
         XSDSchema schema = (XSDSchema)schemaIter.next();    
 
         EPackage ePackage = extendedMetaData.getPackage(schema.getTargetNamespace());
-        if (ePackage == null || TypeHelperImpl.getBuiltInModels().contains(ePackage))
+        if (extensibleNamespaces || ePackage == null || TypeHelperImpl.getBuiltInModels().contains(ePackage))
         {
           Collection originalEPackages = new HashSet(ecoreBuilder.getTargetNamespaceToEPackageMap().values());
           ecoreBuilder.generate(schema);

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java?view=diff&rev=512383&r1=512382&r2=512383
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java Tue Feb 27 12:44:50 2007
@@ -381,13 +381,24 @@
    * Create a HelperContext to provide access to a consistent set of
    * Helpers which make use of a new TypeHelper instance to provide
    * scope for type definitions.
+   * @param extensibleNamespaces true if the contents of a namespaces should be incrementally modifiable
    * @return the new HelperContext
    */
+  public static HelperContext createHelperContext(boolean extensibleNamespaces)
+  {
+    return new HelperContextImpl(extensibleNamespaces);
+  }
+  
+  /**
+   * Create a HelperContext.
+   * @return the new HelperContext
+   * @see #createHelperContext(boolean)
+   */
   public static HelperContext createHelperContext()
   {
-    return new HelperContextImpl();
+    return createHelperContext(false);
   }
-
+  
   /**
    * Create a new TypeHelper instance. The returned type helper will have visibility of types registered
    *  directly by calling a define method on it or by calling define on an associated XSDHelper. It will
@@ -433,7 +444,7 @@
    */
   public static XSDHelper createXSDHelper(TypeHelper scope)
   {
-    return new XSDHelperImpl(scope);
+    return new XSDHelperImpl(scope, false);
   }
   
   /**

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOXMLResourceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOXMLResourceImpl.java?view=diff&rev=512383&r1=512382&r2=512383
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOXMLResourceImpl.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOXMLResourceImpl.java Tue Feb 27 12:44:50 2007
@@ -306,8 +306,10 @@
                         changeSummaryDeserializers = new ArrayList();
                     ChangeSummaryStreamDeserializer changeSummaryDeserializer = new ChangeSummaryStreamDeserializer();
                     try {
-                        changeSummaryDeserializer.begin((DataObject) objects.peekEObject(), new HelperContextImpl(extendedMetaData), tag
-                                .play(xmlResource));
+                        changeSummaryDeserializer.begin(
+                          (DataObject) objects.peekEObject(), 
+                          new HelperContextImpl(extendedMetaData, false), 
+                          tag.play(xmlResource));
                         changeSummaryDeserializers.add(changeSummaryDeserializer);
                     } catch (XMLStreamException e) {
                         xmlResource.getErrors().add(new XMIException(e));



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