Author: pbenedict
Date: Fri Aug 24 20:54:59 2007
New Revision: 569606

URL: http://svn.apache.org/viewvc?rev=569606&view=rev
Log:
STR-3088: Treat blank strings as *null*

Modified:
    
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenLexer.java
    
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParser.g
    
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParser.java
    
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParserTokenTypes.java
    
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParserTokenTypes.txt
    
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/test/java/org/apache/struts/validator/TestValidWhen.java

Modified: 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenLexer.java
URL: 
http://svn.apache.org/viewvc/struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenLexer.java?rev=569606&r1=569605&r2=569606&view=diff
==============================================================================
--- 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenLexer.java
 (original)
+++ 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenLexer.java
 Fri Aug 24 20:54:59 2007
@@ -1,4 +1,4 @@
-// $ANTLR 2.7.2: "ValidWhenParser.g" -> "ValidWhenLexer.java"$
+// $ANTLR 2.7.6 (2005-12-22): "ValidWhenParser.g" -> "ValidWhenLexer.java"$
 
 /*
  * $Id$

Modified: 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParser.g
URL: 
http://svn.apache.org/viewvc/struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParser.g?rev=569606&r1=569605&r2=569606&view=diff
==============================================================================
--- 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParser.g
 (original)
+++ 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParser.g
 Fri Aug 24 20:54:59 2007
@@ -57,12 +57,12 @@
         boolean intCompare = true;
        if ((v1 == null) || (v2 == null)) {
                if (String.class.isInstance(v1)) {
-                       if (((String) v1).length() == 0) {
+                       if (((String) v1).trim().length() == 0) {
                                v1 = null;
                        }
                }
                if (String.class.isInstance(v2)) {
-                       if (((String) v2).length() == 0) {
+                       if (((String) v2).trim().length() == 0) {
                                v2 = null;
                        }
                }
@@ -182,7 +182,7 @@
             Object i3 = argStack.pop();
             argStack.push(ValidatorUtils.getValueAsString(form, i3 + "[" + i4 
+ "]" + i5));
 }
-| identifier LBRACKET integer RBRACKET LBRACKET {
+| identifier LBRACKET integer RBRACKET {
             Object i7 = argStack.pop();
             Object i6 = argStack.pop();
             argStack.push(ValidatorUtils.getValueAsString(form, i6 + "[" + i7 
+ "]"));

Modified: 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParser.java
URL: 
http://svn.apache.org/viewvc/struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParser.java?rev=569606&r1=569605&r2=569606&view=diff
==============================================================================
--- 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParser.java
 (original)
+++ 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParser.java
 Fri Aug 24 20:54:59 2007
@@ -1,4 +1,4 @@
-// $ANTLR 2.7.2: "ValidWhenParser.g" -> "ValidWhenParser.java"$
+// $ANTLR 2.7.6 (2005-12-22): "ValidWhenParser.g" -> "ValidWhenParser.java"$
 
 /*
  * $Id$
@@ -69,12 +69,12 @@
         boolean intCompare = true;
        if ((v1 == null) || (v2 == null)) {
                if (String.class.isInstance(v1)) {
-                       if (((String) v1).length() == 0) {
+                       if (((String) v1).trim().length() == 0) {
                                v1 = null;
                        }
                }
                if (String.class.isInstance(v2)) {
-                       if (((String) v2).length() == 0) {
+                       if (((String) v2).trim().length() == 0) {
                                v2 = null;
                        }
                }
@@ -273,12 +273,11 @@
                        argStack.push(ValidatorUtils.getValueAsString(form, i3 
+ "[" + i4 + "]" + i5));
                        
                }
-               else if ((LA(1)==IDENTIFIER) && (LA(2)==LBRACKET) && ((LA(3) >= 
DECIMAL_LITERAL && LA(3) <= OCTAL_LITERAL)) && (LA(4)==RBRACKET) && 
(LA(5)==LBRACKET)) {
+               else if ((LA(1)==IDENTIFIER) && (LA(2)==LBRACKET) && ((LA(3) >= 
DECIMAL_LITERAL && LA(3) <= OCTAL_LITERAL)) && (LA(4)==RBRACKET) && 
(_tokenSet_0.member(LA(5)))) {
                        identifier();
                        match(LBRACKET);
                        integer();
                        match(RBRACKET);
-                       match(LBRACKET);
                        
                        Object i7 = argStack.pop();
                        Object i6 = argStack.pop();

Modified: 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParserTokenTypes.java
URL: 
http://svn.apache.org/viewvc/struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParserTokenTypes.java?rev=569606&r1=569605&r2=569606&view=diff
==============================================================================
--- 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParserTokenTypes.java
 (original)
+++ 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParserTokenTypes.java
 Fri Aug 24 20:54:59 2007
@@ -1,4 +1,4 @@
-// $ANTLR 2.7.2: "ValidWhenParser.g" -> "ValidWhenParser.java"$
+// $ANTLR 2.7.6 (2005-12-22): "ValidWhenParser.g" -> "ValidWhenParser.java"$
 
 /*
  * $Id$

Modified: 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParserTokenTypes.txt
URL: 
http://svn.apache.org/viewvc/struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParserTokenTypes.txt?rev=569606&r1=569605&r2=569606&view=diff
==============================================================================
--- 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParserTokenTypes.txt
 (original)
+++ 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/main/java/org/apache/struts/validator/validwhen/ValidWhenParserTokenTypes.txt
 Fri Aug 24 20:54:59 2007
@@ -1,4 +1,4 @@
-// $ANTLR 2.7.2: ValidWhenParser.g -> ValidWhenParserTokenTypes.txt$
+// $ANTLR 2.7.6 (2005-12-22): ValidWhenParser.g -> 
ValidWhenParserTokenTypes.txt$
 ValidWhenParser    // output token vocab name
 DECIMAL_LITERAL=4
 HEX_LITERAL=5

Modified: 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/test/java/org/apache/struts/validator/TestValidWhen.java
URL: 
http://svn.apache.org/viewvc/struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/test/java/org/apache/struts/validator/TestValidWhen.java?rev=569606&r1=569605&r2=569606&view=diff
==============================================================================
--- 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/test/java/org/apache/struts/validator/TestValidWhen.java
 (original)
+++ 
struts/struts1/branches/STRUTS_1_3_BRANCH/core/src/test/java/org/apache/struts/validator/TestValidWhen.java
 Fri Aug 24 20:54:59 2007
@@ -197,6 +197,14 @@
 
         // Null
         doParse("(*this* == null)", testBean, 0, "stringValue2", true);
+
+        // 0-length empty string
+        testBean.setStringValue2("");
+        doParse("(*this* == null)", testBean, 0, "stringValue2", true);
+
+        // N-length empty string
+        testBean.setStringValue2("  ");
+        doParse("(*this* == null)", testBean, 0, "stringValue2", true);
     }
 
     /**


Reply via email to