[
https://issues.apache.org/jira/browse/TORQUE-107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thomas Fox closed TORQUE-107.
-----------------------------
> calling getRelatedObjects(Criteria) can result in NullPointerException if the
> collection has not be initialized (with a Criteria)
> ---------------------------------------------------------------------------------------------------------------------------------
>
> Key: TORQUE-107
> URL: https://issues.apache.org/jira/browse/TORQUE-107
> Project: Torque
> Issue Type: Bug
> Components: Generator
> Affects Versions: 3.3-RC1
> Environment: RHEL 5, Java 6, Oracle 10g
> Reporter: Brendan Miller
> Assignee: Thomas Fox
> Priority: Minor
> Fix For: 4.0-beta1
>
>
> The Object.vm template and generator produce object classes with
> public List<SomeClass> getSomeClasss(Criteria criteria) throws
> TorqueException
> If torque.objectIsCaching is set, this method uses a "last used Criteria"
> comparison to determine whether or not to re-fetch the Collection of
> <SomeClass>. The way the template (Object.vm) is written, we wind up with
> if (!lastSomeClassCriteria.equals(criteria))
> ...
> which can throw NullPointerException if this is the first time this method is
> called (lastSomeClassCriteria will be null).
> This could be fixed by changing the comparison to
> if (!criteria.equals(last${relCol}Criteria))
> or
> if (last${relCol}Criteria == null ||
> !last${relCol}Criteria.equals(criteria))
> Granted, there are other ways to achieve these results (create the
> appropriate Criteria and call SomeClassPeer.doSelect(Criteria)), but the
> "getRelatedObjects(Criteria)" method is a handy abstraction that is already
> generated for each class.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]