You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by dm...@apache.org on 2005/10/30 04:07:16 UTC
svn commit: r329513 - in
/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri:
axes/UnionContext.java compiler/ExpressionPath.java compiler/Path.java
Author: dmitri
Date: Sat Oct 29 20:07:12 2005
New Revision: 329513
URL: http://svn.apache.org/viewcvs?rev=329513&view=rev
Log:
Corrected behavior of chained predicates.
Each predicate is supposed to form its own node set.
Modified:
jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/axes/UnionContext.java
jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/ExpressionPath.java
jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/Path.java
Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/axes/UnionContext.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/axes/UnionContext.java?rev=329513&r1=329512&r2=329513&view=diff
==============================================================================
--- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/axes/UnionContext.java (original)
+++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/axes/UnionContext.java Sat Oct 29 20:07:12 2005
@@ -29,7 +29,6 @@
* @version $Revision$ $Date$
*/
public class UnionContext extends NodeSetContext {
- private boolean startedSet = false;
private EvalContext contexts[];
private boolean prepared = false;
Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/ExpressionPath.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/ExpressionPath.java?rev=329513&r1=329512&r2=329513&view=diff
==============================================================================
--- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/ExpressionPath.java (original)
+++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/ExpressionPath.java Sat Oct 29 20:07:12 2005
@@ -15,6 +15,7 @@
*/
package org.apache.commons.jxpath.ri.compiler;
+import org.apache.commons.jxpath.BasicNodeSet;
import org.apache.commons.jxpath.ri.EvalContext;
import org.apache.commons.jxpath.ri.axes.InitialContext;
import org.apache.commons.jxpath.ri.axes.NodeSetContext;
@@ -173,6 +174,9 @@
}
if (predicates != null) {
for (int j = 0; j < predicates.length; j++) {
+ if (j != 0) {
+ context = new UnionContext(context, new EvalContext[]{context});
+ }
context = new PredicateContext(context, predicates[j]);
}
}
Modified: jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/Path.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/Path.java?rev=329513&r1=329512&r2=329513&view=diff
==============================================================================
--- jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/Path.java (original)
+++ jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/ri/compiler/Path.java Sat Oct 29 20:07:12 2005
@@ -30,6 +30,7 @@
import org.apache.commons.jxpath.ri.axes.PredicateContext;
import org.apache.commons.jxpath.ri.axes.SelfContext;
import org.apache.commons.jxpath.ri.axes.SimplePathInterpreter;
+import org.apache.commons.jxpath.ri.axes.UnionContext;
import org.apache.commons.jxpath.ri.model.NodePointer;
/**
@@ -238,6 +239,9 @@
Expression predicates[] = steps[i].getPredicates();
if (predicates != null) {
for (int j = 0; j < predicates.length; j++) {
+ if (j != 0) {
+ context = new UnionContext(context, new EvalContext[]{context});
+ }
context = new PredicateContext(context, predicates[j]);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org