[ https://issues.apache.org/jira/browse/JXPATH-144?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matt Benson closed JXPATH-144. ------------------------------ > Non-existing xpath does not throw exception for LazyDynaBeans > ------------------------------------------------------------- > > Key: JXPATH-144 > URL: https://issues.apache.org/jira/browse/JXPATH-144 > Project: Commons JXPath > Issue Type: Bug > Affects Versions: 1.3 > Reporter: Mikael Nordenberg > > The following code-snippet prints "null" when it should throw an exception: > LazyDynaBean bean = new LazyDynaBean(); > JXPathContext context = JXPathContext.newContext(bean); > System.out.println(context.getValue("nonExisting")); > The problem is that in DynaBeanPropertyPointer: > protected boolean isActualProperty() { > DynaClass dynaClass = dynaBean.getDynaClass(); > return dynaClass.getDynaProperty(getPropertyName()) != null; > } > Returns true, even if the property does not exist in LazyDynaBeans. > The issue is resolved if the implementation is changed to: > protected boolean isActualProperty() { > DynaClass dynaClass = dynaBean.getDynaClass(); > if(dynaClass instanceof LazyDynaClass) { > return > ((LazyDynaClass)dynaClass).isDynaProperty(getPropertyName()); > } else { > return dynaClass.getDynaProperty(getPropertyName()) != null; > } > } -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira