Andrus Adamchik created CAY-1997:
------------------------------------

             Summary: 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