Setters on JaxenXPathExpression have no effect on the underlying DOMXPath object
--------------------------------------------------------------------------------

                 Key: SM-579
                 URL: https://issues.apache.org/activemq/browse/SM-579
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-core
    Affects Versions: 3.0-M2
         Environment: Not relevant
            Reporter: Horst Studer


The setter methods of JaxenXPathExpression (for fields other than the 
xpathObject) 
only set the private field of the JaxenXPathExpression. The new values are not 
propagated to the xpathObject and therefore have no effect. 

The method "afterPropertiesSet()" probably was initially designed for this 
purpose, 
but it is only called in the constructor. Besides that, this method would have 
no 
effect if called in the setter methods, because it does nothing if the 
xpathObject 
is not null (i.e. after the first call). 

The bug was found in the following use case:

Namespace prefixes in an XPath expression within a <jbi:condition> element in 
a drools rule are not recognized when the expression is evaluated. 

This should work, since the JaxenConditionFactory correctly sets the namespace 
context in the JaxenXPathExpression object. But because of the bug, the
namespace context in the DOMXPath object is not set.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to