Re: [JIRA] Created: (CAY-781) Bug in CayenneDataObject.readNestedProperty

From: Michael Gentry (blacknex..mail.com)
Date: Wed Apr 25 2007 - 10:07:11 EDT

  • Next message: New Canyenne User (JIRA): "[JIRA] Created: (CAY-782) CLONE -ROP tutorial update (seems to still not work)"

    This looks to be a trivial fix. I changed in readNestedProperty:

    pathIndex += tokenized[i].length();

    to:

    pathIndex += tokenized[i].length() + 1;

    and it appears to be working now. I can't check the code in yet, but can
    try from home in the next day or two.

    Thanks,

    /dev/mrg

    On 4/25/07, Michael Gentry (JIRA) <de..ayenne.apache.org> wrote:
    >
    > Bug in CayenneDataObject.readNestedProperty
    > -------------------------------------------
    >
    > Key: CAY-781
    > URL: https://issues.apache.org/cayenne/browse/CAY-781
    > Project: Cayenne
    > Issue Type: Bug
    > Components: Cayenne Core Library
    > Affects Versions: 1.2 [STABLE], 2.0 [STABLE], 3.0
    > Environment: All.
    > Reporter: Michael Gentry
    > Assigned To: Michael Gentry
    > Fix For: 1.2 [STABLE], 2.0 [STABLE], 3.0
    >
    >
    > CayenneDataObject.readNestedProperty is supposed to be able to handle
    > Cayenne attributes (mapped and unmapped) and additionally use reflection to
    > find derived values consistent with JavaBeans specifications.
    >
    > Given a property of "transaction.productLine.name" where:
    >
    > transaction => CayenneDataObject
    > productLine => ProductLine object (POJO)
    > name => attribute of ProductLine obtained by getName()
    >
    > readNestedProperty fails because when Cayenne tries to read the name using
    > reflection, the path it tries to parse is "e.name" instead of "name". The
    > math is incorrect to find the start of the "name" property:
    >
    > else if (i + 1 < length) {
    > // read the rest of the path via introspection
    > return PropertyUtils.getProperty(object, path.substring
    > (pathIndex));
    >
    > The pathIndex variable has an incorrect value and the substring is
    > off. It is off by 1 for every "." in the path.
    >
    >
    > --
    > This message is automatically generated by JIRA.
    > -
    > You can reply to this email to add a comment to the issue online.
    >
    >



    This archive was generated by hypermail 2.0.0 : Wed Apr 25 2007 - 10:07:45 EDT