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