[JIRA] Created: (CAY-582) org.objectstyle.cayenne.property.FieldAccessor accesses private class fields with same name as relationship

From: Robert Zeigler (JIRA) ("Robert)
Date: Wed Jun 28 2006 - 10:28:53 EDT

  • Next message: Andrus Adamchik: "Fwd: Derby as desktop database"

    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