[
https://issues.apache.org/jira/browse/OPENJPA-1407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Ezzio resolved OPENJPA-1407.
----------------------------------
Resolution: Fixed
As Ravi mentioned, it is not clear that this patch is required or suitable for
other branches. The actual change is minor, and as the referenced thread
notes, there are several ways that the issue might be addressed if there were a
general need.
> ClassCastException at DataCacheStoreManager.loadAll
> ---------------------------------------------------
>
> Key: OPENJPA-1407
> URL: https://issues.apache.org/jira/browse/OPENJPA-1407
> Project: OpenJPA
> Issue Type: Bug
> Components: datacache
> Affects Versions: 1.1.1
> Reporter: Ravi P Palacherla
> Assignee: Ravi P Palacherla
> Fix For: 1.1.1
>
> Attachments: OPENJPA-1407-1.1.x.patch
>
>
> the following exception stack trace is seen in kodo :
> [java] Caused by: java.lang.ClassCastException: com.sample.TestTableId
> [java] at
> org.apache.openjpa.datacache.DataCacheStoreManager.loadAll(DataCacheStoreManager.java:461)
> [java] at
> org.apache.openjpa.kernel.DelegatingStoreManager.loadAll(DelegatingStoreManager.java:121)
> [java] at
> org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:984)
> [java] at
> org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:1027)
> [java] at
> org.apache.openjpa.kernel.BrokerImpl.findAll(BrokerImpl.java:913)
> [java] at
> org.apache.openjpa.kernel.AbstractPCData.toRelationFields(AbstractPCData.java:217)
> [java] at
> org.apache.openjpa.kernel.AbstractPCData.toNestedFields(AbstractPCData.java:184)
> [java] at
> org.apache.openjpa.kernel.AbstractPCData.toField(AbstractPCData.java:78)
> [java] at
> org.apache.openjpa.kernel.PCDataImpl.loadField(PCDataImpl.java:197)
> [java] at org.apache.openjpa.kernel.PCDataImpl.load(PCDataImpl.java:147)
> [java] at
> org.apache.openjpa.datacache.DataCacheStoreManager.initialize(DataCacheStoreManager.java:343)
> [java] at
> org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:111)
> [java] at
> org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
> [java] at
> org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:894)
> [java] at kodo.kernel.KodoBroker.initialize(KodoBroker.java:65)
> Reason behind the above exception is because when application identity class
> is used;
> In openJPA, ObjectId is generated by enhancer generated method
> pcnewObjectIdInstance and it returns wrapped identity class
> like as follows.
> public Object pcNewObjectIdInstance()
> {
> return new ObjectId(ApplicationIdentityIdClass.class, new AppId());
> }
> So, the change was not affected to OpenJPA code.
> However, in OpenJPA derived products like Kodo, pcNewObjectIdInstance
> returns raw application identity class instance.
> Due to this "oidList.add((OpenJPAId) sm.getObjectId())" throws classcast
> exception.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.