Hi guys,
We have created a List implementation that allows paged data that can be used with rich:datascroller. It works very well in general, only performing a query each time a new page of data is requested.
However, I have this intermittent problem when ManagedEntityIdentityInterceptor tries to replace this with an ArrayList (or so I'm guessing).
This is what I see...
java.lang.IllegalArgumentException: Could not set field value by reflection: BatchAdminBean.txnResultList on: BatchAdminBean with value: class java.util.ArrayList at org.jboss.seam.util.Reflections.set(Reflections.java:79) at org.jboss.seam.persistence.ManagedEntityIdentityInterceptor.getFromWrapper(ManagedEntityIdentityInterceptor.java:196) at org.jboss.seam.persistence.ManagedEntityIdentityInterceptor.entityIdsToRefs(ManagedEntityIdentityInterceptor.java:129) at org.jboss.seam.persistence.ManagedEntityIdentityInterceptor.aroundInvoke(ManagedEntityIdentityInterceptor.java:46) .... Caused by: java.lang.IllegalArgumentException at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:63) at java.lang.reflect.Field.set(Field.java:656) at org.jboss.seam.util.Reflections.set(Reflections.java:64)
Any ideas?
Currently the LazyList implementation extends AbstractList and implements List and Serializable. I tried changing it to extend ArrayList, but still have the same problem.
thanks in advance,
Daniel.
Ignore this - my bad.
Note to anybody using fancy List implementations with @DataModel -- make sure you declare your member variable of type List, not of your actual List implementation :)