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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to