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.