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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to