Author: vgritsenko
Date: Thu Apr 14 06:02:02 2005
New Revision: 161271

URL: http://svn.apache.org/viewcvs?view=rev&rev=161271
Log:
      Faces Block: ValidateLongRangeTag, ValidateDoubleRangeTag should use long
      and double to set minimum and maximum, not int.

Modified:
    
cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/UIComponentTag.java
    
cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/ValidateDoubleRangeTag.java
    
cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/ValidateLongRangeTag.java
    cocoon/branches/BRANCH_2_1_X/status.xml

Modified: 
cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/UIComponentTag.java
URL: 
http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/UIComponentTag.java?view=diff&r1=161270&r2=161271
==============================================================================
--- 
cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/UIComponentTag.java
 (original)
+++ 
cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/UIComponentTag.java
 Thu Apr 14 06:02:02 2005
@@ -1,5 +1,5 @@
 /*
- * Copyright 1999-2004 The Apache Software Foundation.
+ * Copyright 1999-2005 The Apache Software Foundation.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -41,7 +41,7 @@
 import java.util.Map;
 
 /**
- * @version CVS $Id$
+ * @version $Id$
  */
 public abstract class UIComponentTag extends XMLProducerTagSupport {
 
@@ -110,11 +110,29 @@
 
     protected final int evaluateInteger(String value) {
         if (FacesUtils.isExpression(value)) {
-            Integer obj = (Integer) 
createValueBinding(value).getValue(getFacesContext());
+            Number obj = (Number) 
createValueBinding(value).getValue(getFacesContext());
             return obj.intValue();
         }
 
         return Integer.parseInt(value);
+    }
+
+    protected final long evaluateLong(String value) {
+        if (FacesUtils.isExpression(value)) {
+            Number obj = (Number) 
createValueBinding(value).getValue(getFacesContext());
+            return obj.longValue();
+        }
+
+        return Long.parseLong(value);
+    }
+
+    protected final double evaluateDouble(String value) {
+        if (FacesUtils.isExpression(value)) {
+            Number obj = (Number) 
createValueBinding(value).getValue(getFacesContext());
+            return obj.doubleValue();
+        }
+
+        return Double.parseDouble(value);
     }
 
     //

Modified: 
cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/ValidateDoubleRangeTag.java
URL: 
http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/ValidateDoubleRangeTag.java?view=diff&r1=161270&r2=161271
==============================================================================
--- 
cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/ValidateDoubleRangeTag.java
 (original)
+++ 
cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/ValidateDoubleRangeTag.java
 Thu Apr 14 06:02:02 2005
@@ -1,5 +1,5 @@
 /*
- * Copyright 1999-2004 The Apache Software Foundation.
+ * Copyright 1999-2005 The Apache Software Foundation.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@
 import javax.faces.validator.Validator;
 
 /**
- * @version CVS $Id$
+ * @version $Id$
  */
 public class ValidateDoubleRangeTag extends ValidatorTag {
 
@@ -49,10 +49,10 @@
         DoubleRangeValidator validator = (DoubleRangeValidator) 
super.createValidator();
 
         if (maximum != null) {
-            validator.setMaximum(tag.evaluateInteger(maximum));
+            validator.setMaximum(tag.evaluateDouble(maximum));
         }
         if (minimum != null) {
-            validator.setMinimum(tag.evaluateInteger(minimum));
+            validator.setMinimum(tag.evaluateDouble(minimum));
         }
 
         return validator;

Modified: 
cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/ValidateLongRangeTag.java
URL: 
http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/ValidateLongRangeTag.java?view=diff&r1=161270&r2=161271
==============================================================================
--- 
cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/ValidateLongRangeTag.java
 (original)
+++ 
cocoon/branches/BRANCH_2_1_X/src/blocks/faces/java/org/apache/cocoon/faces/taglib/ValidateLongRangeTag.java
 Thu Apr 14 06:02:02 2005
@@ -1,5 +1,5 @@
 /*
- * Copyright 1999-2004 The Apache Software Foundation.
+ * Copyright 1999-2005 The Apache Software Foundation.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@
 import javax.faces.validator.Validator;
 
 /**
- * @version CVS $Id$
+ * @version $Id$
  */
 public class ValidateLongRangeTag extends ValidatorTag {
 
@@ -49,10 +49,10 @@
         LongRangeValidator validator = (LongRangeValidator) 
super.createValidator();
 
         if (maximum != null) {
-            validator.setMaximum(tag.evaluateInteger(maximum));
+            validator.setMaximum(tag.evaluateLong(maximum));
         }
         if (minimum != null) {
-            validator.setMinimum(tag.evaluateInteger(minimum));
+            validator.setMinimum(tag.evaluateLong(minimum));
         }
 
         return validator;

Modified: cocoon/branches/BRANCH_2_1_X/status.xml
URL: 
http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/status.xml?view=diff&r1=161270&r2=161271
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/status.xml (original)
+++ cocoon/branches/BRANCH_2_1_X/status.xml Thu Apr 14 06:02:02 2005
@@ -196,6 +196,10 @@
 
   <changes>
   <release version="@version@" date="@date@">
+    <action dev="VG" type="fix" fixes-bug="34400" due-to="Markus Bussemer" 
due-to-email="[EMAIL PROTECTED]">
+      Faces Block: ValidateLongRangeTag, ValidateDoubleRangeTag should use long
+      and double to set minimum and maximum, not int.
+    </action>
     <action dev="VG" type="fix">
       Fixed caching of a pipeline aggregating non cacheable pipelines via
       <code>cocoon:</code> protocol.


Reply via email to