org.objectstyle.cayenne.property.FieldAccessor accesses private class fields with same name as relationship
------------------------------------------------------------------------------------------------------------
Key: CAY-582
URL: http://issues.apache.org/cayenne/browse/CAY-582
Project: Cayenne
Type: Bug
Components: Cayenne Core Library
Versions: 1.2
Environment: Debian Linux (unstable), sun's jdk 1.5.0_06, cayenne version 1.2RC2 (presumably any version after dropping beanutils dependency)
Reporter: Robert Zeigler
Priority: Minor
In any event, here is the situation where the invalid access occurs:
X has a to-many relationship to Y. Z also has a to-many relationship to Y.
Y has a to-many relationship named k, and also has a private List k;
declaration.
xinstance, zinstance , and yinstance are instances of X, Z and Y,
respectively, and xinstance and zinstance share a yinstance.
X loads its list of Y via xinstance.getY(). xinstance does some
processing that results in
k's initialization in the shared yinstance. zinstance now does
zinstance.getY() and attempts to perform some operation on the list
(size(), get(0), iterator(), etc... something that forces cayenne to
fault the toManyList). While processing the shared yinstance, cayenne
will choke with a ClassCastException because it will see the private
variable k (now initialized, eg, to an ArrayList) rather than the
relationship with the same name.
-- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/cayenne/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
This archive was generated by hypermail 2.0.0 : Wed Jun 28 2006 - 10:30:34 EDT