You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2006/04/27 14:16:03 UTC
svn commit: r397529 -
/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/expression/JAXPXPathExpression.java
Author: gnodet
Date: Thu Apr 27 05:15:52 2006
New Revision: 397529
URL: http://svn.apache.org/viewcvs?rev=397529&view=rev
Log:
Fix JAXPXPathExpression so that the constructor does not compile the expression.
Else setting parameters after the constructor has been called does not change anything.
Modified:
incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/expression/JAXPXPathExpression.java
Modified: incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/expression/JAXPXPathExpression.java
URL: http://svn.apache.org/viewcvs/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/expression/JAXPXPathExpression.java?rev=397529&r1=397528&r2=397529&view=diff
==============================================================================
--- incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/expression/JAXPXPathExpression.java (original)
+++ incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/expression/JAXPXPathExpression.java Thu Apr 27 05:15:52 2006
@@ -26,6 +26,7 @@
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathException;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
@@ -51,15 +52,16 @@
}
/**
- * A helper constructor to make a fully created expression. This constructor will
- * call the {@link #afterPropertiesSet()} method to ensure this POJO is properly constructed.
+ * A helper constructor to make a fully created expression.
*/
public JAXPXPathExpression(String xpath) throws Exception {
this.xpath = xpath;
- afterPropertiesSet();
}
- public void afterPropertiesSet() throws Exception {
+ /**
+ * Compiles the xpath expression.
+ */
+ public void afterPropertiesSet() throws XPathExpressionException {
if (xPathExpression == null) {
if (xpath == null) {
throw new IllegalArgumentException("You must specify the xpath property");
@@ -80,8 +82,13 @@
}
}
+ /**
+ * Before evaluating the xpath expression, it will be compiled by calling
+ * the {@link #afterPropertiesSet()} method.
+ */
public Object evaluate(MessageExchange exchange, NormalizedMessage message) throws MessagingException {
try {
+ afterPropertiesSet();
Object object = getXMLNode(exchange, message);
synchronized (this) {
variableResolver.setExchange(exchange);