Author: mgrigorov
Date: Mon Oct 10 13:44:13 2011
New Revision: 1180956

URL: http://svn.apache.org/viewvc?rev=1180956&view=rev
Log:
WICKET-2244 Allow overriding of the Validator default MessageKey


Modified:
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/CompoundValidator.java
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/MaximumValidator.java
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/MinimumValidator.java
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/RangeValidator.java

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/CompoundValidator.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/CompoundValidator.java?rev=1180956&r1=1180955&r2=1180956&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/CompoundValidator.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/CompoundValidator.java
 Mon Oct 10 13:44:13 2011
@@ -22,6 +22,7 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.util.lang.Args;
 
 /**
  * A compound {@link IValidator}. Once an error is reported against the {@link 
IValidatable} being
@@ -54,10 +55,8 @@ public class CompoundValidator<T> extend
         */
        public final CompoundValidator<T> add(IValidator<T> validator)
        {
-               if (validator == null)
-               {
-                       throw new IllegalArgumentException("Argument 
`validator` cannot be null");
-               }
+               Args.notNull(validator, "validator");
+
                validators.add(validator);
                return this;
        }

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/MaximumValidator.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/MaximumValidator.java?rev=1180956&r1=1180955&r2=1180956&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/MaximumValidator.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/MaximumValidator.java
 Mon Oct 10 13:44:13 2011
@@ -19,6 +19,7 @@ package org.apache.wicket.validation.val
 import java.io.Serializable;
 
 import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.util.lang.Classes;
 import org.apache.wicket.validation.IValidatable;
 import org.apache.wicket.validation.IValidator;
 import org.apache.wicket.validation.ValidationError;
@@ -57,7 +58,7 @@ public class MaximumValidator<Z extends 
                if (value.compareTo(maximum) > 0)
                {
                        ValidationError error = new ValidationError();
-                       error.addMessageKey("MaximumValidator");
+                       error.addMessageKey(resourceKey());
                        error.setVariable("maximum", maximum);
                        validatable.error(error);
                }
@@ -73,5 +74,18 @@ public class MaximumValidator<Z extends 
                return maximum;
        }
 
+       /**
+        * Gets the message resource key for this validator's error message 
from the
+        * <code>ApplicationSettings</code> class.
+        * 
+        * <strong>NOTE</strong>: THIS METHOD SHOULD NEVER RETURN 
<code>null</code>.
+        * 
+        * @return the message resource key for this validator
+        */
+       // TODO Wicket 1.6 - remove that method and make this class extending 
AbstractValidator
+       protected String resourceKey()
+       {
+               return Classes.simpleName(getClass());
+       }
 
 }
\ No newline at end of file

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/MinimumValidator.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/MinimumValidator.java?rev=1180956&r1=1180955&r2=1180956&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/MinimumValidator.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/MinimumValidator.java
 Mon Oct 10 13:44:13 2011
@@ -19,6 +19,7 @@ package org.apache.wicket.validation.val
 import java.io.Serializable;
 
 import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.util.lang.Classes;
 import org.apache.wicket.validation.IValidatable;
 import org.apache.wicket.validation.IValidator;
 import org.apache.wicket.validation.ValidationError;
@@ -53,7 +54,7 @@ public class MinimumValidator<Z extends 
                if (value.compareTo(minimum) < 0)
                {
                        ValidationError error = new ValidationError();
-                       error.addMessageKey("MinimumValidator");
+                       error.addMessageKey(resourceKey());
                        error.setVariable("minimum", minimum);
                        validatable.error(error);
                }
@@ -68,4 +69,19 @@ public class MinimumValidator<Z extends 
        {
                return minimum;
        }
+
+       /**
+        * Gets the message resource key for this validator's error message 
from the
+        * <code>ApplicationSettings</code> class.
+        * 
+        * <strong>NOTE</strong>: THIS METHOD SHOULD NEVER RETURN 
<code>null</code>.
+        * 
+        * @return the message resource key for this validator
+        */
+       // TODO Wicket 1.6 - remove that method and make this class extending 
AbstractValidator
+       protected String resourceKey()
+       {
+               return Classes.simpleName(getClass());
+       }
+
 }
\ No newline at end of file

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/RangeValidator.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/RangeValidator.java?rev=1180956&r1=1180955&r2=1180956&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/RangeValidator.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/validation/validator/RangeValidator.java
 Mon Oct 10 13:44:13 2011
@@ -19,6 +19,7 @@ package org.apache.wicket.validation.val
 import java.io.Serializable;
 
 import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.util.lang.Classes;
 import org.apache.wicket.validation.IValidatable;
 import org.apache.wicket.validation.IValidator;
 import org.apache.wicket.validation.ValidationError;
@@ -79,7 +80,7 @@ public class RangeValidator<Z extends Co
                if ((min != null && value.compareTo(min) < 0) || (max != null 
&& value.compareTo(max) > 0))
                {
                        ValidationError error = new ValidationError();
-                       error.addMessageKey("RangeValidator");
+                       error.addMessageKey(resourceKey());
                        error.setVariable("minimum", min);
                        error.setVariable("maximum", max);
                        validatable.error(error);
@@ -106,5 +107,18 @@ public class RangeValidator<Z extends Co
                return maximum;
        }
 
+       /**
+        * Gets the message resource key for this validator's error message 
from the
+        * <code>ApplicationSettings</code> class.
+        * 
+        * <strong>NOTE</strong>: THIS METHOD SHOULD NEVER RETURN 
<code>null</code>.
+        * 
+        * @return the message resource key for this validator
+        */
+       // TODO Wicket 1.6 - remove that method and make this class extending 
AbstractValidator
+       protected String resourceKey()
+       {
+               return Classes.simpleName(getClass());
+       }
 
 }
\ No newline at end of file


Reply via email to