I need a little help interpreting an exception I'm getting from an SDO test
I have. I'm porting some interop tests to HEAD so that I can create a patch
and (having updated to use the new DAS) the relational SDO no longer works
with date fields . All other types I'm testing are OK. The test basically
creates a new data object by copying all the properties from an existing
data object one by one.
The offending line is
newRow.setDate("ADATE", row.getDate("ADATE") );
The exception that is thrown is below. When I comment this line out
everything works fine. I'm not sure where to start looking as there is lots
of emf stuff here that I'm not familiar with. I took a look at the JIRAs for
SDO and it doesn't appear that this is happening for anyone else so there
may be something wrong with my setup. If this exception means anything to
anyone who knows emf let me know.
java.lang.ClassCastException: The value of type 'class
org.eclipse.emf.ecore.xml
.type.internal.XMLCalendar' must be of type 'class java.util.Date'
at
org.eclipse.emf.ecore.impl.EStructuralFeatureImpl$InternalSettingDele
gateSingleDataStatic.validate(EStructuralFeatureImpl.java:2046)
at
org.eclipse.emf.ecore.impl.EStructuralFeatureImpl$InternalSettingDele
gateSingleData.dynamicSet(EStructuralFeatureImpl.java:1942)
at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eDynamicSet
(BasicEObjectI
mpl.java:686)
at org.apache.tuscany.sdo.impl.DynamicDataObjectImpl.eDynamicSet
(Dynamic
DataObjectImpl.java:147)
at org.apache.tuscany.sdo.impl.DataObjectImpl.eSet(
DataObjectImpl.java:1
439)
at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eSet(
BasicEObjectImpl.jav
a:642)
at org.apache.tuscany.sdo.impl.DataObjectImpl.set(
DataObjectImpl.java:14
0)
at org.apache.tuscany.sdo.util.DataObjectUtil.setDate(
DataObjectUtil.jav
a:570)
at org.apache.tuscany.sdo.impl.DataObjectImpl.setDate(
DataObjectImpl.jav
a:493)
at
org.apache.tuscany.test.interop.sdo.rdb.InteropTestReadWriteRDB.test5
ReadAndWriteRDB(InteropTestReadWriteRDB.java:178)
at org.apache.tuscany.sdo.test.xml.InteropTestCase.testReadWriteRDB
(Inte
ropTestCase.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.
java:64)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAcces
sorImpl.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 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.
java:64)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at org.apache.maven.surefire.junit.JUnitTestSet.execute(
JUnitTestSet.jav
a:210)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTes
tSet(AbstractDirectoryTestSuite.java:135)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(Ab
stractDirectoryTestSuite.java:122)
at org.apache.maven.surefire.Surefire.run(Surefire.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.
java:64)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(Su
refireBooter.java:225)
at org.apache.maven.surefire.booter.SurefireBooter.main(
SurefireBooter.j
ava:747)
Thanks
Simon