You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2013/01/13 13:08:20 UTC
svn commit: r1432595 - in /struts/struts2/trunk/xwork-core/src:
main/java/com/opensymphony/xwork2/validator/validators/StringLengthFieldValidator.java
test/java/com/opensymphony/xwork2/validator/StringLengthFieldValidatorTest.java
Author: lukaszlenart
Date: Sun Jan 13 12:08:19 2013
New Revision: 1432595
URL: http://svn.apache.org/viewvc?rev=1432595&view=rev
Log:
WW-3893 adds optional to params to define minLength, maxLength and trim params as an OGNL expression
Modified:
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/StringLengthFieldValidator.java
struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/StringLengthFieldValidatorTest.java
Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/StringLengthFieldValidator.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/StringLengthFieldValidator.java?rev=1432595&r1=1432594&r2=1432595&view=diff
==============================================================================
--- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/StringLengthFieldValidator.java (original)
+++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/StringLengthFieldValidator.java Sun Jan 13 12:08:19 2013
@@ -31,14 +31,17 @@ import com.opensymphony.xwork2.validator
* <!-- START SNIPPET: parameters -->
* <ul>
* <li>fieldName - The field name this validator is validating. Required if using Plain-Validator Syntax otherwise not required</li>
- * <li>maxLength - The max length of the field value. Default ignore. Can be specified as OGNL expression when parse is set to true.</li>
- * <li>minLength - The min length of the field value. Default ignore. Can be specified as OGNL expression when parse is set to true.</li>
- * <li>trim - Trim the field value before evaluating its min/max length. Default true. Can be specified as OGNL expression when parse is set to true.</li>
+ * <li>maxLength - Integer. The max length of the field value. Default ignore.</li>
+ * <li>minLength - Integer. The min length of the field value. Default ignore.</li>
+ * <li>trim - (Optional) Boolean, default true. Trim the field value before evaluating its min/max length. Default true.</li>
+ * <li>maxLengthExpression - (Optional) String. Defines the max length param as an OGNL expression</li>
+ * <li>minLengthExpression - (Optional) String. Defines the min length param as an OGNL expression</li>
+ * <li>trimExpression - (Optional) String. Defines th trim param as an OGNL expression</li>
* </ul>
* <!-- END SNIPPET: parameters -->
*
* <!-- START SNIPPET: parameters-warning -->
- * Do not use ${minLength}, ${maxLength} and ${trim} as an expression as this will turn into infinitive loop!
+ * Do not use ${minLengthExpression}, ${maxLengthExpression} and ${trimExpression} as an expression as this will turn into infinitive loop!
* <!-- END SNIPPET: parameters-warning -->
*
* <pre>
@@ -66,10 +69,9 @@ import com.opensymphony.xwork2.validator
* <!-- Field Validator Syntax with expression -->
* <field name="myPurchaseCode">
* <field-validator type="stringlength">
- * <param name="parse">true</param>
- * <param name="minLength">${minLengthValue}</param> <!-- will be evaluated as: Integer getMinLengthValue() -->
- * <param name="maxLength">${maxLengthValue}</param> <!-- will be evaluated as: Integer getMaxLengthValue() -->
- * <param name="trim">${trimValue}</param> <!-- will be evaluated as: boolean getTrimValue() -->
+ * <param name="minLengthExpression">${minLengthValue}</param> <!-- will be evaluated as: Integer getMinLengthValue() -->
+ * <param name="maxLengthExpression">${maxLengthValue}</param> <!-- will be evaluated as: Integer getMaxLengthValue() -->
+ * <param name="trimExpression">${trimValue}</param> <!-- will be evaluated as: boolean getTrimValue() -->
* <message>Your purchase code needs to be 10 characters long</message>
* </field-validator>
* </field>
@@ -89,36 +91,36 @@ public class StringLengthFieldValidator
private int maxLength = -1;
private int minLength = -1;
- public void setMaxLength(String maxLength) {
- if (parse) {
- this.maxLength = (Integer) parse(maxLength, Integer.class);
- } else {
- this.maxLength = Integer.valueOf(maxLength);
- }
+ public void setMaxLength(int maxLength) {
+ this.maxLength = maxLength;
+ }
+
+ public void setMaxLengthExpression(String maxLengthExpression) {
+ this.maxLength = (Integer) parse(maxLengthExpression, Integer.class);
}
public int getMaxLength() {
return maxLength;
}
- public void setMinLength(String minLength) {
- if (parse) {
- this.minLength = (Integer) parse(minLength, Integer.class);
- } else {
- this.minLength = Integer.parseInt(minLength);
- }
+ public void setMinLength(int minLength) {
+ this.minLength = minLength;
+ }
+
+ public void setMinLengthExpression(String minLengthExpression) {
+ this.minLength = (Integer) parse(minLengthExpression, Integer.class);
}
public int getMinLength() {
return minLength;
}
- public void setTrim(String trim) {
- if (parse) {
- this.trim = (Boolean) parse(trim, Boolean.class);
- } else {
- this.trim = Boolean.parseBoolean(trim);
- }
+ public void setTrim(boolean trim) {
+ this.trim = trim;
+ }
+
+ public void setTrimExpression(String trimExpression) {
+ this.trim = (Boolean) parse(trimExpression, Boolean.class);
}
public boolean isTrim() {
Modified: struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/StringLengthFieldValidatorTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/StringLengthFieldValidatorTest.java?rev=1432595&r1=1432594&r2=1432595&view=diff
==============================================================================
--- struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/StringLengthFieldValidatorTest.java (original)
+++ struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/StringLengthFieldValidatorTest.java Sun Jan 13 12:08:19 2013
@@ -34,7 +34,7 @@ public class StringLengthFieldValidatorT
public void testStringLengthEmptyNoTrim1() throws Exception {
action.setMyField("");
- validator.setTrim("false");
+ validator.setTrim(false);
validator.validate(action);
assertEquals(action.getMyField(), "");
@@ -44,7 +44,7 @@ public class StringLengthFieldValidatorT
public void testStringLengthNullNoTrim() throws Exception {
action.setMyField(null);
- validator.setTrim("false");
+ validator.setTrim(false);
validator.validate(action);
assertEquals(action.getMyField(), null);
@@ -54,7 +54,7 @@ public class StringLengthFieldValidatorT
public void testStringLengthEmptyTrim1() throws Exception {
action.setMyField(" ");
- validator.setTrim("true");
+ validator.setTrim(true);
validator.validate(action);
assertEquals(action.getMyField(), " ");
@@ -64,7 +64,7 @@ public class StringLengthFieldValidatorT
public void testStringLengthEmptyNoTrim2() throws Exception {
action.setMyField(" ");
- validator.setTrim("false");
+ validator.setTrim(false);
validator.validate(action);
assertEquals(action.getMyField(), " ");
@@ -75,7 +75,7 @@ public class StringLengthFieldValidatorT
public void testStringLengthNullTrim() throws Exception {
action.setMyField(null);
- validator.setTrim("true");
+ validator.setTrim(true);
validator.validate(action);
assertEquals(action.getMyField(), null);
@@ -85,7 +85,7 @@ public class StringLengthFieldValidatorT
public void testInvalidStringLengthNoTrim() throws Exception {
action.setMyField("abcdefghijklmn");
- validator.setTrim("false");
+ validator.setTrim(false);
validator.validate(action);
assertEquals(action.getMyField(), "abcdefghijklmn");
@@ -95,7 +95,7 @@ public class StringLengthFieldValidatorT
public void testInvalidStringLengthTrim() throws Exception {
action.setMyField("abcdefghijklmn ");
- validator.setTrim("true");
+ validator.setTrim(true);
validator.validate(action);
assertEquals(action.getMyField(), "abcdefghijklmn ");
@@ -105,7 +105,7 @@ public class StringLengthFieldValidatorT
public void testValidStringLengthNoTrim() throws Exception {
action.setMyField(" ");
- validator.setTrim("false");
+ validator.setTrim(false);
validator.validate(action);
assertEquals(action.getMyField(), " ");
@@ -115,7 +115,7 @@ public class StringLengthFieldValidatorT
public void testValidStringLengthTrim() throws Exception {
action.setMyField("asd ");
- validator.setTrim("true");
+ validator.setTrim(true);
validator.validate(action);
assertEquals(action.getMyField(), "asd ");
@@ -126,8 +126,7 @@ public class StringLengthFieldValidatorT
assertEquals(2, validator.getMinLength());
action.setMinLengthValue(10);
- validator.setParse(true);
- validator.setMinLength("${minLengthValue}");
+ validator.setMinLengthExpression("${minLengthValue}");
assertEquals(10, validator.getMinLength());
}
@@ -136,8 +135,7 @@ public class StringLengthFieldValidatorT
assertEquals(5, validator.getMaxLength());
action.setMaxLengthValue(100);
- validator.setParse(true);
- validator.setMaxLength("${maxLengthValue}");
+ validator.setMaxLengthExpression("${maxLengthValue}");
assertEquals(100, validator.getMaxLength());
}
@@ -146,8 +144,7 @@ public class StringLengthFieldValidatorT
assertTrue(validator.isTrim());
action.setTrimValue(false);
- validator.setParse(true);
- validator.setTrim("${trimValue}");
+ validator.setTrimExpression("${trimValue}");
assertFalse(validator.isTrim());
}
@@ -164,8 +161,8 @@ public class StringLengthFieldValidatorT
validator.setFieldName("myField");
validator.setMessageKey("error");
validator.setValidatorContext(new DelegatingValidatorContext(action));
- validator.setMaxLength("5");
- validator.setMinLength("2");
+ validator.setMaxLength(5);
+ validator.setMinLength(2);
validator.setValueStack(valueStack);
}