Stripes

Meaningful error message when an "on" in @Validate annotation is an empty String

Details

  • Type: Improvement Improvement
  • Status: Resolved Resolved
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: Release 1.5.6
  • Fix Version/s: Release 1.5.7, Release 1.6
  • Component/s: Validation
  • Labels:
    None

Description

If a property has an annotation @Validate(on="") this is an error. I accidentally did just this in my project and it took me some time to figure out where the weird exception was coming from.

I propose to add a more meaningful error message for example with the help of the following patch:

### Eclipse Workspace Patch 1.0
#P stripes
Index: stripes/src/net/sourceforge/stripes/validation/ValidationMetadata.java
===================================================================
--- stripes/src/net/sourceforge/stripes/validation/ValidationMetadata.java	(revision 1487)
+++ stripes/src/net/sourceforge/stripes/validation/ValidationMetadata.java	(working copy)
@@ -205,9 +205,13 @@
             this.on = null;
         }
         else {
+        	if (on[0].isEmpty())
+        		throw new IllegalArgumentException("the on property of a @Validate annotation must not be an empty string");
             this.on = new HashSet<String>();
             this.onIsPositive = !(on[0].charAt(0) == '!');
             for (String s : on) {
+            	if (s.isEmpty())
+            		throw new IllegalArgumentException("the on property of a @Validate annotation must not be an empty string");
                 if (this.onIsPositive) {
                     this.on.add(s);
                 }

Activity

Hide
Danilo Ghirardelli added a comment - 02/Nov/12 6:18 PM

Using the .isEmpty() breaks the compatibility with Java 1.5, because is Java 1.6 only. I opened STS-890 to use another way to check the string.

Show
Danilo Ghirardelli added a comment - 02/Nov/12 6:18 PM Using the .isEmpty() breaks the compatibility with Java 1.5, because is Java 1.6 only. I opened STS-890 to use another way to check the string.

People

Vote (0)
Watch (0)

Dates

  • Created:
    10/May/12 9:50 AM
    Updated:
    02/Nov/12 6:18 PM
    Resolved:
    17/May/12 1:12 PM