You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by to...@apache.org on 2006/11/07 14:59:54 UTC
svn commit: r472120 - in
/myfaces/core/trunk/api/src/main/java/javax/faces/validator:
DoubleRangeValidator.java LengthValidator.java LongRangeValidator.java
Author: tomsp
Date: Tue Nov 7 05:59:53 2006
New Revision: 472120
URL: http://svn.apache.org/viewvc?view=rev&rev=472120
Log:
MYFACES-1418 reverted due to JSF 1.1 incompatibility
Modified:
myfaces/core/trunk/api/src/main/java/javax/faces/validator/DoubleRangeValidator.java
myfaces/core/trunk/api/src/main/java/javax/faces/validator/LengthValidator.java
myfaces/core/trunk/api/src/main/java/javax/faces/validator/LongRangeValidator.java
Modified: myfaces/core/trunk/api/src/main/java/javax/faces/validator/DoubleRangeValidator.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/validator/DoubleRangeValidator.java?view=diff&rev=472120&r1=472119&r2=472120
==============================================================================
--- myfaces/core/trunk/api/src/main/java/javax/faces/validator/DoubleRangeValidator.java (original)
+++ myfaces/core/trunk/api/src/main/java/javax/faces/validator/DoubleRangeValidator.java Tue Nov 7 05:59:53 2006
@@ -15,79 +15,172 @@
*/
package javax.faces.validator;
+import javax.faces.component.StateHolder;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+
/**
* see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>
- *
+ *
* @author Manfred Geiler (latest modification by $Author$)
* @author Thomas Spiegl
* @version $Revision$ $Date$
*/
-public class DoubleRangeValidator extends NumberRangeValidator {
- // FIELDS
- public static final String VALIDATOR_ID = "javax.faces.DoubleRange";
- public static final String MAXIMUM_MESSAGE_ID = "javax.faces.validator.DoubleRangeValidator.MAXIMUM";
- public static final String MINIMUM_MESSAGE_ID = "javax.faces.validator.DoubleRangeValidator.MINIMUM";
- public static final String TYPE_MESSAGE_ID = "javax.faces.validator.DoubleRangeValidator.TYPE";
-
- // CONSTRUCTORS
- public DoubleRangeValidator() {
- super(null, null);
- }
-
- public DoubleRangeValidator(double maximum) {
- super(null, new Double(maximum));
- }
-
- public DoubleRangeValidator(double maximum, double minimum) {
- super(new Double(minimum), new Double(maximum));
- }
-
- // Abstract methods implementation
- protected Comparable getValue(Number number) {
- if(number instanceof Double) {
- return (Double) number;
- }
- return new Double(number.longValue());
- }
-
- protected Comparable getValue(String str) throws NumberFormatException {
- return new Double(str);
- }
-
- protected String getMaximumMessageId() {
- return MAXIMUM_MESSAGE_ID;
- }
-
- protected String getMinimumMessageId() {
- return MINIMUM_MESSAGE_ID;
- }
-
- protected String getTypeMessageId() {
- return TYPE_MESSAGE_ID;
- }
-
- // GETTER & SETTER
- public double getMaximum() {
- return _maximum != null ? _maximum.doubleValue() : Double.MAX_VALUE;
- }
-
- public void setMaximum(double maximum) {
- _maximum = new Double(maximum);
- }
-
- public double getMinimum() {
- return _minimum != null ? _minimum.doubleValue() : Double.MIN_VALUE;
- }
-
- public void setMinimum(double minimum) {
- _minimum = new Double(minimum);
- }
-
- // MISC
- public boolean equals(Object o) {
- if (!(o instanceof DoubleRangeValidator)) {
- return false;
- }
- return super.equals(o);
- }
+public class DoubleRangeValidator
+ implements Validator, StateHolder
+{
+ // FIELDS
+ public static final String VALIDATOR_ID = "javax.faces.DoubleRange";
+ public static final String MAXIMUM_MESSAGE_ID = "javax.faces.validator.DoubleRangeValidator.MAXIMUM";
+ public static final String MINIMUM_MESSAGE_ID = "javax.faces.validator.DoubleRangeValidator.MINIMUM";
+ public static final String TYPE_MESSAGE_ID = "javax.faces.validator.DoubleRangeValidator.TYPE";
+
+ private Double _minimum = null;
+ private Double _maximum = null;
+ private boolean _transient = false;
+
+ // CONSTRUCTORS
+ public DoubleRangeValidator()
+ {
+ }
+
+ public DoubleRangeValidator(double maximum)
+ {
+ _maximum = new Double(maximum);
+ }
+
+ public DoubleRangeValidator(double maximum,
+ double minimum)
+ {
+ _maximum = new Double(maximum);
+ _minimum = new Double(minimum);
+ }
+
+ // VALIDATE
+ public void validate(FacesContext facesContext,
+ UIComponent uiComponent,
+ Object value)
+ throws ValidatorException
+ {
+ if (facesContext == null) throw new NullPointerException("facesContext");
+ if (uiComponent == null) throw new NullPointerException("uiComponent");
+
+ if (value == null)
+ {
+ return;
+ }
+
+ double dvalue = parseDoubleValue(facesContext, uiComponent,value);
+ if (_minimum != null && _maximum != null)
+ {
+ if (dvalue < _minimum.doubleValue() ||
+ dvalue > _maximum.doubleValue())
+ {
+ Object[] args = {_minimum, _maximum,uiComponent.getId()};
+ throw new ValidatorException(_MessageUtils.getErrorMessage(facesContext, NOT_IN_RANGE_MESSAGE_ID, args));
+ }
+ }
+ else if (_minimum != null)
+ {
+ if (dvalue < _minimum.doubleValue())
+ {
+ Object[] args = {_minimum,uiComponent.getId()};
+ throw new ValidatorException(_MessageUtils.getErrorMessage(facesContext, MINIMUM_MESSAGE_ID, args));
+ }
+ }
+ else if (_maximum != null)
+ {
+ if (dvalue > _maximum.doubleValue())
+ {
+ Object[] args = {_maximum,uiComponent.getId()};
+ throw new ValidatorException(_MessageUtils.getErrorMessage(facesContext, MAXIMUM_MESSAGE_ID, args));
+ }
+ }
+ }
+
+ private double parseDoubleValue(FacesContext facesContext, UIComponent uiComponent, Object value)
+ throws ValidatorException
+ {
+ if (value instanceof Number)
+ {
+ return ((Number)value).doubleValue();
+ }
+ else
+ {
+ try
+ {
+ return Double.parseDouble(value.toString());
+ }
+ catch (NumberFormatException e)
+ {
+ Object[] args = {uiComponent.getId()};
+ throw new ValidatorException(_MessageUtils.getErrorMessage(facesContext, TYPE_MESSAGE_ID, args));
+ }
+ }
+ }
+
+
+ // GETTER & SETTER
+ public double getMaximum()
+ {
+ return _maximum != null ? _maximum.doubleValue() : Double.MAX_VALUE;
+ }
+
+ public void setMaximum(double maximum)
+ {
+ _maximum = new Double(maximum);
+ }
+
+ public double getMinimum()
+ {
+ return _minimum != null ? _minimum.doubleValue() : Double.MIN_VALUE;
+ }
+
+ public void setMinimum(double minimum)
+ {
+ _minimum = new Double(minimum);
+ }
+
+
+ // RESTORE/SAVE STATE
+ public Object saveState(FacesContext context)
+ {
+ Object values[] = new Object[2];
+ values[0] = _maximum;
+ values[1] = _minimum;
+ return values;
+ }
+
+ public void restoreState(FacesContext context,
+ Object state)
+ {
+ Object values[] = (Object[])state;
+ _maximum = (Double)values[0];
+ _minimum = (Double)values[1];
+ }
+
+ public boolean isTransient()
+ {
+ return _transient;
+ }
+
+ public void setTransient(boolean transientValue)
+ {
+ _transient = transientValue;
+ }
+
+ // MISC
+ public boolean equals(Object o)
+ {
+ if (this == o) return true;
+ if (!(o instanceof DoubleRangeValidator)) return false;
+
+ final DoubleRangeValidator doubleRangeValidator = (DoubleRangeValidator)o;
+
+ if (_maximum != null ? !_maximum.equals(doubleRangeValidator._maximum) : doubleRangeValidator._maximum != null) return false;
+ if (_minimum != null ? !_minimum.equals(doubleRangeValidator._minimum) : doubleRangeValidator._minimum != null) return false;
+
+ return true;
+ }
+
}
Modified: myfaces/core/trunk/api/src/main/java/javax/faces/validator/LengthValidator.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/validator/LengthValidator.java?view=diff&rev=472120&r1=472119&r2=472120
==============================================================================
--- myfaces/core/trunk/api/src/main/java/javax/faces/validator/LengthValidator.java (original)
+++ myfaces/core/trunk/api/src/main/java/javax/faces/validator/LengthValidator.java Tue Nov 7 05:59:53 2006
@@ -15,6 +15,10 @@
*/
package javax.faces.validator;
+import javax.faces.component.StateHolder;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+
/**
* see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>
*
@@ -22,68 +26,131 @@
* @author Thomas Spiegl
* @version $Revision$ $Date$
*/
-public class LengthValidator extends NumberRangeValidator {
- // FIELDS
- public static final String MAXIMUM_MESSAGE_ID = "javax.faces.validator.LengthValidator.MAXIMUM";
- public static final String MINIMUM_MESSAGE_ID = "javax.faces.validator.LengthValidator.MINIMUM";
- public static final String VALIDATOR_ID = "javax.faces.Length";
-
- // CONSTRUCTORS
- public LengthValidator() {
- super(null, null, false);
- }
-
- public LengthValidator(int maximum) {
- super(null, new Integer(maximum), false);
- }
-
- public LengthValidator(int maximum, int minimum) {
- super(new Integer(minimum), new Integer(maximum), false);
- }
-
- // Abstract methods implementation
- protected Comparable getValue(Number number) {
- return new Integer(number.toString().length());
- }
-
- protected Comparable getValue(String str) throws NumberFormatException {
- return new Integer(str.length());
- }
-
- protected String getMaximumMessageId() {
- return MAXIMUM_MESSAGE_ID;
- }
-
- protected String getMinimumMessageId() {
- return MINIMUM_MESSAGE_ID;
- }
-
- protected String getTypeMessageId() {
- return null;
- }
-
- // SETTER & GETTER
- public int getMaximum() {
- return _maximum != null ? _maximum.intValue() : Integer.MAX_VALUE;
- }
-
- public void setMaximum(int maximum) {
- _maximum = new Integer(maximum);
- }
-
- public int getMinimum() {
- return _minimum != null ? _minimum.intValue() : 0;
- }
-
- public void setMinimum(int minimum) {
- _minimum = new Integer(minimum);
- }
-
- // MISC
- public boolean equals(Object o) {
- if (!(o instanceof LengthValidator)) {
- return false;
- }
- return super.equals(o);
- }
+public class LengthValidator
+ implements Validator, StateHolder
+{
+ // FIELDS
+ public static final String MAXIMUM_MESSAGE_ID = "javax.faces.validator.LengthValidator.MAXIMUM";
+ public static final String MINIMUM_MESSAGE_ID = "javax.faces.validator.LengthValidator.MINIMUM";
+ public static final String VALIDATOR_ID = "javax.faces.Length";
+
+ private Integer _minimum = null;
+ private Integer _maximum = null;
+ private boolean _transient = false;
+
+ // CONSTRUCTORS
+ public LengthValidator()
+ {
+ }
+
+ public LengthValidator(int maximum)
+ {
+ _maximum = new Integer(maximum);
+ }
+
+ public LengthValidator(int maximum,
+ int minimum)
+ {
+ _maximum = new Integer(maximum);
+ _minimum = new Integer(minimum);
+ }
+
+ // VALIDATE
+ public void validate(FacesContext facesContext,
+ UIComponent uiComponent,
+ Object value)
+ throws ValidatorException
+ {
+ if (facesContext == null) throw new NullPointerException("facesContext");
+ if (uiComponent == null) throw new NullPointerException("uiComponent");
+
+ if (value == null)
+ {
+ return;
+ }
+
+ int length = value instanceof String ?
+ ((String)value).length() : value.toString().length();
+
+ if (_minimum != null)
+ {
+ if (length < _minimum.intValue())
+ {
+ Object[] args = {_minimum,uiComponent.getId()};
+ throw new ValidatorException(_MessageUtils.getErrorMessage(facesContext, MINIMUM_MESSAGE_ID, args));
+ }
+ }
+
+ if (_maximum != null)
+ {
+ if (length > _maximum.intValue())
+ {
+ Object[] args = {_maximum,uiComponent.getId()};
+ throw new ValidatorException(_MessageUtils.getErrorMessage(facesContext, MAXIMUM_MESSAGE_ID, args));
+ }
+ }
+ }
+
+ // SETTER & GETTER
+ public int getMaximum()
+ {
+ return _maximum != null ? _maximum.intValue() : Integer.MAX_VALUE;
+ }
+
+ public void setMaximum(int maximum)
+ {
+ _maximum = new Integer(maximum);
+ }
+
+ public int getMinimum()
+ {
+ return _minimum != null ? _minimum.intValue() : 0;
+ }
+
+ public void setMinimum(int minimum)
+ {
+ _minimum = new Integer(minimum);
+ }
+
+ public boolean isTransient()
+ {
+ return _transient;
+ }
+
+ public void setTransient(boolean transientValue)
+ {
+ _transient = transientValue;
+ }
+
+ // RESTORE & SAVE STATE
+ public Object saveState(FacesContext context)
+ {
+ Object values[] = new Object[2];
+ values[0] = _maximum;
+ values[1] = _minimum;
+ return values;
+ }
+
+ public void restoreState(FacesContext context,
+ Object state)
+ {
+ Object values[] = (Object[])state;
+ _maximum = (Integer)values[0];
+ _minimum = (Integer)values[1];
+ }
+
+ // MISC
+ public boolean equals(Object o)
+ {
+ if (this == o) return true;
+ if (!(o instanceof LengthValidator)) return false;
+
+ final LengthValidator lengthValidator = (LengthValidator)o;
+
+ if (_maximum != null ? !_maximum.equals(lengthValidator._maximum) : lengthValidator._maximum != null) return false;
+ if (_minimum != null ? !_minimum.equals(lengthValidator._minimum) : lengthValidator._minimum != null) return false;
+
+ return true;
+ }
+
}
Modified: myfaces/core/trunk/api/src/main/java/javax/faces/validator/LongRangeValidator.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/api/src/main/java/javax/faces/validator/LongRangeValidator.java?view=diff&rev=472120&r1=472119&r2=472120
==============================================================================
--- myfaces/core/trunk/api/src/main/java/javax/faces/validator/LongRangeValidator.java (original)
+++ myfaces/core/trunk/api/src/main/java/javax/faces/validator/LongRangeValidator.java Tue Nov 7 05:59:53 2006
@@ -15,79 +15,171 @@
*/
package javax.faces.validator;
+import javax.faces.component.StateHolder;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+
/**
* see Javadoc of <a href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a>
- *
+ *
* @author Manfred Geiler (latest modification by $Author$)
* @author Thomas Spiegl
* @version $Revision$ $Date$
*/
-public class LongRangeValidator extends NumberRangeValidator {
- // FIELDS
- public static final String MAXIMUM_MESSAGE_ID = "javax.faces.validator.LongRangeValidator.MAXIMUM";
- public static final String MINIMUM_MESSAGE_ID = "javax.faces.validator.LongRangeValidator.MINIMUM";
- public static final String TYPE_MESSAGE_ID = "javax.faces.validator.LongRangeValidator.TYPE";
- public static final String VALIDATOR_ID = "javax.faces.LongRange";
-
- // CONSTRUCTORS
- public LongRangeValidator() {
- super(null, null);
- }
-
- public LongRangeValidator(long maximum) {
- super(null, new Long(maximum));
- }
-
- public LongRangeValidator(long maximum, long minimum) {
- super(new Long(minimum), new Long(maximum));
- }
-
- protected Comparable getValue(Number number) {
- if(number instanceof Long) {
- return (Long) number;
- }
- return new Long(number.longValue());
- }
-
- // Abstract methods implementation
- protected Comparable getValue(String str) throws NumberFormatException {
- return new Long(str);
- }
-
- protected String getMaximumMessageId() {
- return MAXIMUM_MESSAGE_ID;
- }
-
- protected String getMinimumMessageId() {
- return MINIMUM_MESSAGE_ID;
- }
-
- protected String getTypeMessageId() {
- return TYPE_MESSAGE_ID;
- }
-
- // GETTER & SETTER
- public long getMaximum() {
- return _maximum != null ? _maximum.longValue() : Long.MAX_VALUE;
- }
-
- public void setMaximum(long maximum) {
- _maximum = new Long(maximum);
- }
-
- public long getMinimum() {
- return _minimum != null ? _minimum.longValue() : Long.MIN_VALUE;
- }
-
- public void setMinimum(long minimum) {
- _minimum = new Long(minimum);
- }
-
- // MISC
- public boolean equals(Object o) {
- if (!(o instanceof LongRangeValidator)) {
- return false;
- }
- return super.equals(o);
- }
+public class LongRangeValidator
+ implements Validator, StateHolder
+{
+ // FIELDS
+ public static final String MAXIMUM_MESSAGE_ID = "javax.faces.validator.LongRangeValidator.MAXIMUM";
+ public static final String MINIMUM_MESSAGE_ID = "javax.faces.validator.LongRangeValidator.MINIMUM";
+ public static final String TYPE_MESSAGE_ID = "javax.faces.validator.LongRangeValidator.TYPE";
+ public static final String VALIDATOR_ID = "javax.faces.LongRange";
+
+ private Long _minimum = null;
+ private Long _maximum = null;
+ private boolean _transient = false;
+
+ // CONSTRUCTORS
+ public LongRangeValidator()
+ {
+ }
+
+ public LongRangeValidator(long maximum)
+ {
+ _maximum = new Long(maximum);
+ }
+
+ public LongRangeValidator(long maximum,
+ long minimum)
+ {
+ _maximum = new Long(maximum);
+ _minimum = new Long(minimum);
+ }
+
+ // VALIDATE
+ public void validate(FacesContext facesContext,
+ UIComponent uiComponent,
+ Object value)
+ throws ValidatorException
+ {
+ if (facesContext == null) throw new NullPointerException("facesContext");
+ if (uiComponent == null) throw new NullPointerException("uiComponent");
+
+ if (value == null)
+ {
+ return;
+ }
+
+ double dvalue = parseLongValue(facesContext, uiComponent,value);
+ if (_minimum != null && _maximum != null)
+ {
+ if (dvalue < _minimum.longValue() ||
+ dvalue > _maximum.longValue())
+ {
+ Object[] args = {_minimum, _maximum,uiComponent.getId()};
+ throw new ValidatorException(_MessageUtils.getErrorMessage(facesContext, NOT_IN_RANGE_MESSAGE_ID, args));
+ }
+ }
+ else if (_minimum != null)
+ {
+ if (dvalue < _minimum.longValue())
+ {
+ Object[] args = {_minimum,uiComponent.getId()};
+ throw new ValidatorException(_MessageUtils.getErrorMessage(facesContext, MINIMUM_MESSAGE_ID, args));
+ }
+ }
+ else if (_maximum != null)
+ {
+ if (dvalue > _maximum.longValue())
+ {
+ Object[] args = {_maximum,uiComponent.getId()};
+ throw new ValidatorException(_MessageUtils.getErrorMessage(facesContext, MAXIMUM_MESSAGE_ID, args));
+ }
+ }
+ }
+
+ private long parseLongValue(FacesContext facesContext, UIComponent uiComponent, Object value)
+ throws ValidatorException
+ {
+ if (value instanceof Number)
+ {
+ return ((Number)value).longValue();
+ }
+ else
+ {
+ try
+ {
+ return Long.parseLong(value.toString());
+ }
+ catch (NumberFormatException e)
+ {
+ Object[] args = {uiComponent.getId()};
+ throw new ValidatorException(_MessageUtils.getErrorMessage(facesContext, TYPE_MESSAGE_ID, args));
+ }
+ }
+ }
+
+
+ // GETTER & SETTER
+ public long getMaximum()
+ {
+ return _maximum != null ? _maximum.longValue() : Long.MAX_VALUE;
+ }
+
+ public void setMaximum(long maximum)
+ {
+ _maximum = new Long(maximum);
+ }
+
+ public long getMinimum()
+ {
+ return _minimum != null ? _minimum.longValue() : Long.MIN_VALUE;
+ }
+
+ public void setMinimum(long minimum)
+ {
+ _minimum = new Long(minimum);
+ }
+
+ public boolean isTransient()
+ {
+ return _transient;
+ }
+
+ public void setTransient(boolean transientValue)
+ {
+ _transient = transientValue;
+ }
+
+ // RESTORE & SAVE STATE
+ public Object saveState(FacesContext context)
+ {
+ Object values[] = new Object[2];
+ values[0] = _maximum;
+ values[1] = _minimum;
+ return values;
+ }
+
+ public void restoreState(FacesContext context,
+ Object state)
+ {
+ Object values[] = (Object[])state;
+ _maximum = (Long)values[0];
+ _minimum = (Long)values[1];
+ }
+
+ // MISC
+ public boolean equals(Object o)
+ {
+ if (this == o) return true;
+ if (!(o instanceof LongRangeValidator)) return false;
+
+ final LongRangeValidator longRangeValidator = (LongRangeValidator)o;
+
+ if (_maximum != null ? !_maximum.equals(longRangeValidator._maximum) : longRangeValidator._maximum != null) return false;
+ if (_minimum != null ? !_minimum.equals(longRangeValidator._minimum) : longRangeValidator._minimum != null) return false;
+
+ return true;
+ }
+
}