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 2004/07/17 00:49:33 UTC
cvs commit: jakarta-commons/jxpath/src/java/org/apache/commons/jxpath/ri InfoSetUtil.java
dmitri 2004/07/16 15:49:33
Modified: jxpath/src/java/org/apache/commons/jxpath/ri
InfoSetUtil.java
Log:
Corrected the behavior of boolean() and not() with variables
Revision Changes Path
1.11 +13 -3 jakarta-commons/jxpath/src/java/org/apache/commons/jxpath/ri/InfoSetUtil.java
Index: InfoSetUtil.java
===================================================================
RCS file: /home/cvs/jakarta-commons/jxpath/src/java/org/apache/commons/jxpath/ri/InfoSetUtil.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- InfoSetUtil.java 8 May 2004 20:07:09 -0000 1.10
+++ InfoSetUtil.java 16 Jul 2004 22:49:33 -0000 1.11
@@ -17,6 +17,7 @@
import org.apache.commons.jxpath.Pointer;
import org.apache.commons.jxpath.ri.model.NodePointer;
+import org.apache.commons.jxpath.ri.model.VariablePointer;
/**
* Type conversions, XPath style.
@@ -151,13 +152,22 @@
}
else if (object instanceof EvalContext) {
EvalContext ctx = (EvalContext) object;
- return ctx.nextSet() && ctx.nextNode();
+ Pointer ptr = ctx.getSingleNodePointer();
+ if (ptr == null) {
+ return false;
+ }
+ return booleanValue(ptr);
}
else if (object instanceof String) {
return ((String) object).length() != 0;
}
else if (object instanceof NodePointer) {
- return ((NodePointer) object).isActual();
+ NodePointer pointer = (NodePointer) object;
+ if (pointer instanceof VariablePointer) {
+ return booleanValue(pointer.getNode());
+ }
+ pointer = pointer.getValuePointer();
+ return pointer.isActual();
}
else if (object == null) {
return false;
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org