You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/10/26 20:41:38 UTC

svn commit: r588740 - /incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java

Author: rfeng
Date: Fri Oct 26 11:41:38 2007
New Revision: 588740

URL: http://svn.apache.org/viewvc?rev=588740&view=rev
Log:
Commit the fix for TUSCANY-1870

Modified:
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java?rev=588740&r1=588739&r2=588740&view=diff
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java Fri Oct 26 11:41:38 2007
@@ -274,18 +274,17 @@
         List elementList = new ArrayList();
         List attributeList = new ArrayList();
         Type type = dataObject.getType();
-        if (rootElement != null) {
-            Type modelType = rootElement.getType();
-            if (type != modelType) {
-                // FIXME: XSDHelper.getLocalName() for annoymous type returns null?
-                String typeName = xsdHelper.getLocalName(type);
-                if (typeName != null) {
-                    QName realTypeName = namespaceContext.createQName(type.getURI(), typeName);
-                    String typeQName = realTypeName.getPrefix() + ":" + realTypeName.getLocalPart();
-                    registerNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
-                    registerNamespace(realTypeName.getPrefix(), realTypeName.getNamespaceURI());
-                    attributeList.add(new NameValuePair(XSI_TYPE_QNAME, typeQName));
-                }
+        
+        // Add xsi:type if rootElement doesn't exist or the type is different
+        if (rootElement == null || (rootElement != null && rootElement.getType() != type)) {
+            // FIXME: XSDHelper.getLocalName() for annoymous type returns null?
+            String typeName = xsdHelper.getLocalName(type);
+            if (typeName != null) {
+                QName realTypeName = namespaceContext.createQName(type.getURI(), typeName);
+                String typeQName = realTypeName.getPrefix() + ":" + realTypeName.getLocalPart();
+                registerNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
+                registerNamespace(realTypeName.getPrefix(), realTypeName.getNamespaceURI());
+                attributeList.add(new NameValuePair(XSI_TYPE_QNAME, typeQName));
             }
         }
         



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