[ 
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)

Reply via email to