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

Modified Files:
      Tag: MMBase-1_8
        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.43
retrieving revision 1.43.2.1
diff -u -b -r1.43 -r1.43.2.1
--- CompareTag.java     5 Dec 2005 14:19:25 -0000       1.43
+++ CompareTag.java     24 Jan 2008 12:12:18 -0000      1.43.2.1
@@ -29,7 +29,7 @@
  * variable equals a certain String value.
  *
  * @author Michiel Meeuwissen
- * @version $Id: CompareTag.java,v 1.43 2005/12/05 14:19:25 michiel Exp $
+ * @version $Id: CompareTag.java,v 1.43.2.1 2008/01/24 12:12:18 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) {
@@ -145,10 +145,14 @@
                 compare1 = new BigDecimal(compare1.toString()); 
                 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 String) {
                         if ("".equals(compare2)) { // do something reasonable 
in IsEmpty
                             compare2 = new BigDecimal("0");
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to