Update of /var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/pageflow
In directory james.mmbase.org:/tmp/cvs-serv5102

Modified Files:
        CompareTag.java 
Log Message:
compareign booleans as integer always, which is better for backwards 
compatibility. Related to   MMB-1359


See also: 
http://cvs.mmbase.org/viewcvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/pageflow
See also: http://www.mmbase.org/jira/browse/MMB-1359


Index: CompareTag.java
===================================================================
RCS file: 
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/pageflow/CompareTag.java,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -b -r1.44 -r1.45
--- CompareTag.java     21 Jun 2007 15:50:20 -0000      1.44
+++ CompareTag.java     24 Jan 2008 12:13:39 -0000      1.45
@@ -29,7 +29,7 @@
  * variable equals a certain String value.
  *
  * @author Michiel Meeuwissen
- * @version $Id: CompareTag.java,v 1.44 2007/06/21 15:50:20 nklasens Exp $
+ * @version $Id: CompareTag.java,v 1.45 2008/01/24 12:13:39 michiel Exp $
  */
 
 public class CompareTag extends PresentTag implements Condition, 
WriterReferrer {
@@ -94,7 +94,7 @@
             compare1 = getObject(getReferid());
         }
         if (compare1 instanceof Boolean) {
-            compare1 = compare1.toString();
+            compare1 = Casting.toInteger(compare1);
         } else if (compare1 instanceof Date) {
             compare1 = Casting.toInteger(compare1);
         } else if (compare1 instanceof List) {
@@ -171,9 +171,14 @@
             } else { 
                 while (i.hasNext()) {
                     Object compare2 = i.next();         
-                    if (compare2 instanceof Date) {
+                    if (compare2 instanceof Date || compare2 instanceof 
Boolean) {
                         compare2 = Casting.toInteger(compare2);
                     }
+                    if ("true".equals(compare2)) {
+                        compare2 = new Integer(1);
+                    } else if ("false".equals(compare2)) {
+                        compare2 = new Integer(0);
+                    }
                     if (compare2 instanceof Number) {
                         compare2 = new BigDecimal(compare2.toString()); 
                         Number compare1n;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to