ClassCastException when adding elements to list-valued property when 
ChangeSummary is switched on
-------------------------------------------------------------------------------------------------

                 Key: TUSCANY-3403
                 URL: https://issues.apache.org/jira/browse/TUSCANY-3403
             Project: Tuscany
          Issue Type: Bug
          Components: Java SDO Implementation
    Affects Versions: Java-SDO-1.1
            Reporter: Sören Balko


Hi!

I have observed a ClassCastException (see below) that occurs when using change 
tracking (i.e., the ChangeSummary) feature of a data graph. Specifically, I 
have a root object "R" in that data graph which contains a list of other data 
objects ("flowElement"). The nodes, in turn, do have another property 
"outgoing" holding a list of strings. I have initially (w/o change tracking) 
created the root object of the DataGraph and added a first data object n1 to 
the "flowElement" list. Then, I switch on change tracking (using the 
ChangeSummary instance from the DataGraph) and create another data object n2 
which also gets added to the "flowElement" list. Afterwards, both the root 
object and n2 are returned by ChangeSummary.getChangedDataObject(). When I then 
try to add a string to the (hitherto empty) n1.outgoing list, I get the 
exception below.

Please note that adding the string to n1.outgoing works fine when (1) either 
change tracking is completely switched off or (2) change tracking is switched 
on BEFORE n1 is created. What is also worth mentioning is that I am using 
static data types which are generated from an XSD schema (specifically, the 
BPMN 2.0 XSD files, see http://www.omg.org/spec/BPMN/2.0/). 

Thank you very much for having a look into that issue. I am happy to provide 
further details, if required.

Cheers,
Sören
  

java.lang.ClassCastException: java.lang.String cannot be cast to 
java.util.Collection
        at 
org.eclipse.emf.ecore.change.util.ChangeRecorder.handleFeature(ChangeRecorder.java:428)
        at 
org.eclipse.emf.ecore.change.util.ChangeRecorder.notifyChanged(ChangeRecorder.java:312)
        at 
org.apache.tuscany.sdo.impl.ChangeSummaryImpl$SDOChangeRecorder.notifyChanged(ChangeSummaryImpl.java:486)
        at 
org.apache.tuscany.sdo.impl.DataObjectImpl.eNotify(DataObjectImpl.java:1374)
        at 
org.eclipse.emf.ecore.util.EcoreEList.dispatchNotification(EcoreEList.java:234)
        at 
org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:302)
        at org.eclipse.emf.common.util.BasicEList.add(BasicEList.java:600)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to