[
http://jira.jboss.com/jira/browse/JBSEAM-3129?page=comments#action_12418264 ]
Alex Savitsky commented on JBSEAM-3129:
---------------------------------------
On closer investigation it turned out that the culprit is not the Query, but the infamous
ManagedEntityIdentityInterceptor (what a broken piece of code...)
Basically, when saveWrapper stores a dataModel field in conversation, it unwraps it
(storing it as a List, of course). But when getFromWrapper tries to retrieve this field
back, it will happily execute Reflections.set... with the arguments of a DataModel field
and a List value (RandomAccessSubList, in my case).
I'm currently thinking of what could be done instead of setting the dataModel to an
obviously incompatible value...
Could not set field value by reflection: Query.dataModel on:
org.jboss.seam.framework.Query with value: class java.util.RandomAccessSubList
-------------------------------------------------------------------------------------------------------------------------------------------
Key: JBSEAM-3129
URL:
http://jira.jboss.com/jira/browse/JBSEAM-3129
Project: Seam
Issue Type: Bug
Components: Framework
Affects Versions: 2.0.2.SP1
Environment: Tomcat 5.5, Hibernate EM 3.3.2, Trinidad 1.2.8
Reporter: Alex Savitsky
Attachments: TestJBSEAM-3129.zip
Query.truncResultList may return a java.util.RandomAccessSubList class in some
circumstances. This class is package private to java.util package, and cannot be later
used in reflection, resulting in the above exception. The exception in question is thrown
by the ManagedEntityIdentityInterceptor, while trying to "swizzle" the stored
DataModel to/from the EntityQuery.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira