dion        2004/08/21 18:53:27

  Modified:    jexl/src/java/org/apache/commons/jexl/parser ASTNENode.java
                        ASTEQNode.java
  Log:
  Restrict creation of booleans
  
  Revision  Changes    Path
  1.7       +10 -10    
jakarta-commons/jexl/src/java/org/apache/commons/jexl/parser/ASTNENode.java
  
  Index: ASTNENode.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/jexl/src/java/org/apache/commons/jexl/parser/ASTNENode.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ASTNENode.java    21 Aug 2004 10:01:18 -0000      1.6
  +++ ASTNENode.java    22 Aug 2004 01:53:27 -0000      1.7
  @@ -66,30 +66,30 @@
           }
           else if (left.getClass().equals(right.getClass()))
           {
  -            return new Boolean(!left.equals(right));
  +            return (!left.equals(right)) ? Boolean.TRUE : Boolean.FALSE;
           }
           else if(left instanceof Float || left instanceof Double ||
                   right instanceof Float || right instanceof Double)
           {
  -            return new Boolean(
  -                !Coercion.coerceDouble(left).equals(Coercion.coerceDouble(right)));
  +            return 
(!Coercion.coerceDouble(left).equals(Coercion.coerceDouble(right)))
  +                ? Boolean.TRUE : Boolean.FALSE;
           }
           else if ( left instanceof Number || right instanceof Number ||
                      left instanceof Character || right instanceof Character)
           {
  -            return new Boolean(
  -                    !Coercion.coerceLong(left).equals(Coercion.coerceLong(right)));
  +            return (!Coercion.coerceLong(left).equals(Coercion.coerceLong(right)))
  +                ? Boolean.TRUE : Boolean.FALSE;
           }
           else if (left instanceof Boolean || right instanceof Boolean)
           {
  -            return new Boolean(
  -                    
!Coercion.coerceBoolean(left).equals(Coercion.coerceBoolean(right)));
  +            return 
(!Coercion.coerceBoolean(left).equals(Coercion.coerceBoolean(right)))
  +                ? Boolean.TRUE : Boolean.FALSE;
           }
           else if (left instanceof java.lang.String || right instanceof String)
           {
  -            return new Boolean(!left.toString().equals(right.toString()));
  +            return (!left.toString().equals(right.toString())) ? Boolean.TRUE : 
Boolean.FALSE;
           }
   
  -        return new Boolean(!left.equals(right));
  +        return (!left.equals(right)) ? Boolean.TRUE : Boolean.FALSE;
       }
   }
  
  
  
  1.7       +9 -9      
jakarta-commons/jexl/src/java/org/apache/commons/jexl/parser/ASTEQNode.java
  
  Index: ASTEQNode.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/jexl/src/java/org/apache/commons/jexl/parser/ASTEQNode.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ASTEQNode.java    21 Aug 2004 10:01:18 -0000      1.6
  +++ ASTEQNode.java    22 Aug 2004 01:53:27 -0000      1.7
  @@ -64,7 +64,7 @@
           }
           else if (left.getClass().equals(right.getClass()))
           {
  -            return new Boolean(left.equals(right));
  +            return left.equals(right) ? Boolean.TRUE : Boolean.FALSE;
           }
           else if(left instanceof Float || left instanceof Double ||
                   right instanceof Float || right instanceof Double)
  @@ -72,24 +72,24 @@
               Double l = Coercion.coerceDouble(left);
               Double r = Coercion.coerceDouble(right);
   
  -            return new Boolean(l.equals(r));
  +            return l.equals(r) ? Boolean.TRUE : Boolean.FALSE;
           }
           else if ( left instanceof Number || right instanceof Number ||
                      left instanceof Character || right instanceof Character)
           {
  -            return new Boolean(
  -                    Coercion.coerceLong(left).equals(Coercion.coerceLong(right)));
  +            return Coercion.coerceLong(left).equals(Coercion.coerceLong(right)) 
  +                ? Boolean.TRUE : Boolean.FALSE;
           }
           else if (left instanceof Boolean || right instanceof Boolean)
           {
  -            return new Boolean(
  -                    
Coercion.coerceBoolean(left).equals(Coercion.coerceBoolean(right)));
  +            return 
Coercion.coerceBoolean(left).equals(Coercion.coerceBoolean(right))
  +                ? Boolean.TRUE : Boolean.FALSE;
           }
           else if (left instanceof java.lang.String || right instanceof String)
           {
  -            return new Boolean(left.toString().equals(right.toString()));
  +            return left.toString().equals(right.toString()) ? Boolean.TRUE : 
Boolean.FALSE;
           }
   
  -        return new Boolean(left.equals(right));
  +        return left.equals(right) ? Boolean.TRUE : Boolean.FALSE;
       }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to