[ https://issues.apache.org/jira/browse/CAY-1997?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrus Adamchik closed CAY-1997. -------------------------------- Resolution: Fixed UPGRADE NOTES: if your code relied on an exception when evaluating POJO paths with nulls, you'll have to revisit and change such code. > Difference in NULL handling inside the path between PropertyUtils and > DataObject.readNestedProperty > --------------------------------------------------------------------------------------------------- > > Key: CAY-1997 > URL: https://issues.apache.org/jira/browse/CAY-1997 > Project: Cayenne > Issue Type: Bug > Affects Versions: 4.0.M2 > Reporter: Andrus Adamchik > Assignee: Andrus Adamchik > > There is an inconsistency in handling of NULLs during property path resolving > between Cayenne PropertyUtils.getProperty(..) (used for POJOS) and > CayenneDataObject.readNestedProperty(..). > PropertyUtils will throw an exception when encountering NULL value in the > middle of the path. CayenneDataObject simply returns NULL. > I think both strategies have their place (and ideally should be either > configurable or use new Java 8 "Optional" return - > http://www.oracle.com/technetwork/articles/java/java8-optional-2175753.html > ). However as a practical matter if we want Expressions to evaluate > seamlessly between DataObjects and POJOs (something that I am doing all the > time), at least the two evaluators should be consistent. > My vote is to use CayenneDataObject.readNestedProperty strategy (return > null), as this is the older and more common scenario, and everyone is used to > it. -- This message was sent by Atlassian JIRA (v6.3.4#6332)