You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2009/09/09 11:32:13 UTC

svn commit: r812853 - in /labs/magma/trunk/foundation-validation/src: main/java/org/apache/magma/validation/validators/ test/java/org/apache/magma/validation/validators/

Author: simoneg
Date: Wed Sep  9 09:32:13 2009
New Revision: 812853

URL: http://svn.apache.org/viewvc?rev=812853&view=rev
Log:
LABS-440 : fixed validators messages

Modified:
    labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/LengthValidator.java
    labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/RangeValidator.java
    labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/RequiredValidator.java
    labs/magma/trunk/foundation-validation/src/test/java/org/apache/magma/validation/validators/RangeValidatorWrongValidations.java

Modified: labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/LengthValidator.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/LengthValidator.java?rev=812853&r1=812852&r2=812853&view=diff
==============================================================================
--- labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/LengthValidator.java (original)
+++ labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/LengthValidator.java Wed Sep  9 09:32:13 2009
@@ -28,7 +28,10 @@
 
 	private int min = 0;
 	private int max = Integer.MAX_VALUE;
-	private String errorString = "Text must be at between {0} and {1} charachters";
+	static final String errorMin = "Text must be at least {0} characters";
+	static final String errorMax = "Text must be at most {1} characters";
+	static final String errorBoth = "Text must be at between {0} and {1} characters";
+	private String errorCur = null;
 	private List<LocalizableString> myError = null;
 	
 	public LengthValidator() {
@@ -36,12 +39,13 @@
 	
 	public LengthValidator(int min, int max) {
 		this(min, max, null);
+		
 	}
 	
 	public LengthValidator(int min, int max, String error) {
 		this.min = min;
 		this.max = max;
-		if (error != null) errorString = error;
+		if (error != null) errorCur = error;
 		setupError();
 	}
 
@@ -56,7 +60,7 @@
 	}
 	
 	public void setError(String error) {
-		this.errorString = error;
+		this.errorCur = error;
 		setupError();
 	}
 	
@@ -66,7 +70,20 @@
 		} else {
 			this.myError.clear();
 		}
-		this.myError.add(new LocalizableString(errorString, min, max));
+		if (min == 0) {
+			if (max == Integer.MAX_VALUE) {
+				errorCur = "NA";
+			} else {
+				errorCur = errorMax;
+			}
+		} else {
+			if (max == Integer.MAX_VALUE) {
+				errorCur = errorMin;
+			} else {
+				errorCur = errorMax;
+			}
+		}
+		this.myError.add(new LocalizableString(errorCur, min, max));
 	}
 
 	public List<LocalizableString> validate(Object bean, PropertyInfo property, CharSequence value) {

Modified: labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/RangeValidator.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/RangeValidator.java?rev=812853&r1=812852&r2=812853&view=diff
==============================================================================
--- labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/RangeValidator.java (original)
+++ labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/RangeValidator.java Wed Sep  9 09:32:13 2009
@@ -29,7 +29,10 @@
 
 	private Number min;
 	private Number max;
-	private String errorString = "RangeValidator.error";
+	static final String errorMin = "Must be at least {0}";
+	static final String errorMax = "Must be at most {1}";
+	static final String errorBoth = "Must be between {0} and {1}";
+	private String errorCur = null;
 	private List<LocalizableString> myError = null;
 	
 	public RangeValidator() {
@@ -42,7 +45,7 @@
 	public RangeValidator(Number min, Number max, String error) {
 		this.min = min;
 		this.max = max;
-		if (error != null) errorString = error;
+		if (error != null) errorCur = error;
 		setupError();
 	}
 
@@ -71,7 +74,7 @@
 	}
 	
 	public void setError(String error) {
-		this.errorString = error;
+		this.errorCur = error;
 		setupError();
 	}
 	
@@ -81,7 +84,22 @@
 		} else {
 			this.myError.clear();
 		}
-		this.myError.add(new LocalizableString(errorString, min, max));
+		if (errorCur == null) {
+			if (min == null || min.equals(Long.MIN_VALUE)) {
+				if (max == null || max.equals(Long.MAX_VALUE)) {
+					errorCur = "NA";
+				} else {
+					errorCur = errorMax;
+				}
+			} else {
+				if (max == null || max.equals(Long.MAX_VALUE)) {
+					errorCur = errorMin;
+				} else {
+					errorCur = errorBoth;
+				}				
+			}
+		}
+		this.myError.add(new LocalizableString(errorCur, min, max));
 	}
 
 	public List<LocalizableString> validate(Object bean, PropertyInfo property, Number value) {

Modified: labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/RequiredValidator.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/RequiredValidator.java?rev=812853&r1=812852&r2=812853&view=diff
==============================================================================
--- labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/RequiredValidator.java (original)
+++ labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/validators/RequiredValidator.java Wed Sep  9 09:32:13 2009
@@ -28,7 +28,7 @@
 	private List<LocalizableString> myError = new ArrayList<LocalizableString>(1);
 	
 	public RequiredValidator() {
-		myError.add(new LocalizableString("RequiredValidator.required"));
+		myError.add(new LocalizableString("This is a required field"));
 	}
 	
 	public void setError(String error) {

Modified: labs/magma/trunk/foundation-validation/src/test/java/org/apache/magma/validation/validators/RangeValidatorWrongValidations.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-validation/src/test/java/org/apache/magma/validation/validators/RangeValidatorWrongValidations.java?rev=812853&r1=812852&r2=812853&view=diff
==============================================================================
--- labs/magma/trunk/foundation-validation/src/test/java/org/apache/magma/validation/validators/RangeValidatorWrongValidations.java (original)
+++ labs/magma/trunk/foundation-validation/src/test/java/org/apache/magma/validation/validators/RangeValidatorWrongValidations.java Wed Sep  9 09:32:13 2009
@@ -20,12 +20,16 @@
 package org.apache.magma.validation.validators;
 
 import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.nullValue;
 import static org.junit.Assert.assertThat;
 
 import java.math.BigDecimal;
 import java.math.BigInteger;
+import java.util.List;
 
+import org.apache.magma.basics.LocalizableString;
+import org.hamcrest.core.IsEqual;
 import org.junit.experimental.theories.DataPoint;
 import org.junit.experimental.theories.Theories;
 import org.junit.experimental.theories.Theory;
@@ -48,6 +52,17 @@
 	
 	@Theory public void validates(Number[] numbers) {
 		RangeValidator v = new RangeValidator(numbers[0], numbers[1]);
-		assertThat(v.validate(null,null,numbers[2]), not(nullValue()));
+		List<LocalizableString> res = v.validate(null,null,numbers[2]);
+		assertThat(res, not(nullValue()));
+		assertThat(res.size(), equalTo(1));
+		LocalizableString errstr = res.get(0);
+		String errmsg = errstr.getMessage();
+		if (numbers[0] == null) {
+			assertThat(errmsg, equalTo(RangeValidator.errorMax));
+		} else if (numbers[1] == null) {
+			assertThat(errmsg, equalTo(RangeValidator.errorMin));
+		} else {
+			assertThat(errmsg, equalTo(RangeValidator.errorBoth));			
+		}
 	}
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org