XMLHelper.save() throws exception when the serialized dataobject is not the
root object and its container is of AnyTypeDataObject
---------------------------------------------------------------------------------------------------------------------------------
Key: TUSCANY-1131
URL: https://issues.apache.org/jira/browse/TUSCANY-1131
Project: Tuscany
Issue Type: Bug
Affects Versions: Java-SDO-M3
Reporter: Fuhwei Lwo
Fix For: Java-SDO-M3
To reproduce this problem, I modified the existing quote.xml content to be
contained by SOAP elements that don't have XSD registered with SDO runtime so
the container of stockQuote will be of AnyTypeDataObject. Below is the XML
content. When I invoked XMLHelper.save() on stockQuote data object, I got the
following exception. I assume this scenario should be supported.
java.lang.ClassCastException: org.apache.tuscany.sdo.impl.DynamicDataObjectImpl
incompatible with java.util.Collection
at
org.eclipse.emf.ecore.util.BasicFeatureMap.set(BasicFeatureMap.java:1026)
at
org.eclipse.emf.ecore.util.FeatureMapUtil$FeatureFeatureMap.set(FeatureMapUtil.java:1093)
at
org.eclipse.emf.ecore.impl.BasicEObjectImpl.eOpenSet(BasicEObjectImpl.java:723)
at
org.eclipse.emf.ecore.impl.BasicEObjectImpl.eSet(BasicEObjectImpl.java:658)
at
org.apache.tuscany.sdo.helper.XMLDocumentImpl.save(XMLDocumentImpl.java:205)
at
org.apache.tuscany.sdo.helper.XMLHelperImpl.save(XMLHelperImpl.java:115)
at
org.apache.tuscany.sdo.helper.XMLHelperImpl.save(XMLHelperImpl.java:110)
at
org.apache.tuscany.sdo.test.XMLHelperTestCase.testAnyTypeContainer(XMLHelperTestCase.java:175)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
<?xml version="1.0" encoding="ASCII"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:simple="http://www.example.com/simple">
<soapenv:Header/>
<soapenv:Body>
<simple:stockQuote>
<symbol>fbnt</symbol>
<companyName>FlyByNightTechnology</companyName>
<price>1000.0</price>
<open1>1000.0</open1>
<high>1000.0</high>
<low>1000.0</low>
<volume>1000.0</volume>
<change1>1000.0</change1>
<quotes>
<price>2000.0</price>
</quotes>
</simple:stockQuote>
</soapenv:Body>
</soapenv:Envelope>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]