[ https://issues.apache.org/jira/browse/JXPATH-151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13045451#comment-13045451 ]
Matt Benson commented on JXPATH-151: ------------------------------------ Typically JXPath isn't expected to work with a {{Map}}/{{Object[]}}/{{Collection}} as its root context object, although I note your comment that this works in 1.2. Can you try adding your map to a simple object wrapper (e.g. {{org.apache.commons.lang.mutable.MutableObject}}) and report back the results of {{"value/a != value/b"}}, and {{"value\[@name='a'\] != value\[@name='b'\]"}} ? > a != null results in false! > --------------------------- > > Key: JXPATH-151 > URL: https://issues.apache.org/jira/browse/JXPATH-151 > Project: Commons JXPath > Issue Type: Bug > Affects Versions: 1.3 > Environment: windows oracle jvm 1.6_25 > Reporter: Johannes Stelzer > Priority: Blocker > > Comparing a vaule to null using unequals (\!=) yields false! > {noformat} > Map<String, Integer> m = new HashMap<String, Integer>(); > m.put("a", 1); > m.put("b", null); > m.put("c", 1); > JXPathContext c = JXPathContext.newContext(m); > System.out.println(c.getValue("a != b") + " should be true"); > System.out.println(c.getValue("a != c") + " should be false"); > System.out.println(c.getValue("a = b") + " should be false"); > System.out.println(c.getValue("a = c") + " should be true"); > System.out.println(c.getValue("not(a = b)") + " should be true"); > System.out.println(c.getValue("not(a = c)") + " should be false"); > {noformat} > Output using 1.3: > {color:red} false should be true{color} > false should be false > false should be false > true should be true > true should be true > false should be false > In 1.2 it works correctly! -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira