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