Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
jdk1.6.0_16
win xp SP2
trunk src #834610
Description
trunk/sample/src/main/resources/sports.xsd#834610
1. add in "<xsd:schema" -> xmlns:sdo="commonj.sdo"
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sdo="commonj.sdo"
xmlns:sdoJava="commonj.sdo/java"
xmlns:sdoXML="commonj.sdo/xml"
xmlns:spt="http://www.apache.org/tuscany/sports"
targetNamespace="http://www.apache.org/tuscany/sports">
2. put sdo:ChangeSummaryType:changes
<xsd:complexType name="SportingUnion">
<xsd:sequence>
<xsd:element name="member" type="spt:Player" maxOccurs="unbounded" />
<xsd:element name="team" type="spt:Team" maxOccurs="unbounded" />
<xsd:element name="changes" type="sdo:ChangeSummaryType"/>
</xsd:sequence>
</xsd:complexType>
trunk/sample/src/main/java/org/apache/tuscany/samples\sdo\intermediate\OppositeProperty.java#834610
3. start logging
DataObject union = unionDoc.getRootObject();
union.getChangeSummary().beginLogging();
RESULT:
<?xml version="1.0" encoding="ASCII"?>
<spt:union xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:spt="http://www.apache.org/tuscany/sports"
xsi:schemaLocation="http://www.apache.org/tuscany/sports sports.xsd">
<member ID="p0" captainFor="t0">
<name>p 0</name>
</member>
<member ID="p1" captainFor="t1">
<name>p 1</name>
</member>
<member ID="p2">
<name>p 2</name>
</member>
<member ID="p3">
<name>p 3</name>
</member>
<team ID="t0" captain="p0">
<name>t 0</name>
<player>p0</player>
<player>p3</player>
</team>
<team ID="t1" captain="p1">
<name>t 1</name>
<player>p1</player>
<player>p2</player>
</team>
<changes logging="false" />
</spt:union>
Exception in thread "main" java.lang.ClassCastException: org.apache.tuscany.sdo.impl.ClassImpl cannot be cast to org.eclipse.emf.ecore.EDataType
at org.apache.tuscany.sdo.util.resource.ChangeSummaryStreamSerializer.convertToString(ChangeSummaryStreamSerializer.java:363)
at org.apache.tuscany.sdo.util.resource.ChangeSummaryStreamSerializer.saveChangeSummary(ChangeSummaryStreamSerializer.java:644)
at org.apache.tuscany.sdo.util.resource.SDOXMLResourceImpl$SDOXMLSaveImpl.saveChangeSummary(SDOXMLResourceImpl.java:857)
at org.apache.tuscany.sdo.util.resource.SDOXMLResourceImpl$SDOXMLSaveImpl.saveDataTypeElementSingle(SDOXMLResourceImpl.java:867)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1370)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XMLSaveImpl.java:2462)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1036)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:922)
at org.apache.tuscany.sdo.util.resource.SDOXMLResourceImpl$SDOXMLSaveImpl.saveElementFeatureMap(SDOXMLResourceImpl.java:895)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1355)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.writeTopObject(XMLSaveImpl.java:627)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.traverse(XMLSaveImpl.java:552)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.save(XMLSaveImpl.java:233)
at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doSave(XMLResourceImpl.java:203)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:993)
at org.apache.tuscany.sdo.helper.XMLDocumentImpl.save(XMLDocumentImpl.java:209)
at org.apache.tuscany.sdo.helper.XMLDocumentImpl.save(XMLDocumentImpl.java:160)
at org.apache.tuscany.sdo.helper.XMLDocumentImpl.save(XMLDocumentImpl.java:167)
at org.apache.tuscany.sdo.helper.XMLHelperImpl.save(XMLHelperImpl.java:168)
at org.apache.tuscany.samples.sdo.intermediate.OppositeProperty.run(OppositeProperty.java:83)
at org.apache.tuscany.samples.sdo.intermediate.OppositeProperty.main(OppositeProperty.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
Process finished with exit code 1