Bobby Hargett created CAMEL-5276:
------------------------------------

             Summary: Wish ObjectHelper wouldn't return false for a node 
without children
                 Key: CAMEL-5276
                 URL: https://issues.apache.org/jira/browse/CAMEL-5276
             Project: Camel
          Issue Type: Wish
          Components: camel-core
    Affects Versions: 2.8.5
            Reporter: Bobby Hargett


org.apache.camel.util.ObjectHelper's method evaluateValuePredicate(Object) 
tests to see if an object of type NodeList has any children.  If it doesn't 
have any children it return false?

What if you have an Element that just has attributes and that is all you need?  
Would it be possible to check if the object passed in is a Node first and then 
check to see if it is a list...

The offending(?) code

{noformat}
    /**
     * Evaluate the value as a predicate which attempts to convert the value to
     * a boolean otherwise true is returned if the value is not null
     */
    public static boolean evaluateValuePredicate(Object value) {
        if (value instanceof Boolean) {
            return (Boolean)value;
        } else if (value instanceof String) {
            if ("true".equalsIgnoreCase((String)value)) {
                return true;
            } else if ("false".equalsIgnoreCase((String)value)) {
                return false;
            }
        } else if (value instanceof NodeList) { //Test for Node here?
            // is it an empty dom
            NodeList list = (NodeList) value;
            return list.getLength() > 0;
        } else if (value instanceof Collection) {
            // is it an empty collection
            Collection<?> col = (Collection<?>) value;
            return col.size() > 0;
        }
        return value != null;
    }
{noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to