bruno 2003/06/26 02:11:24
Modified: src/blocks/woody/java/org/apache/cocoon/woody/datatype ValidationRule.java src/blocks/woody/java/org/apache/cocoon/woody/datatype/typeimpl AbstractDatatypeBuilder.java src/blocks/woody/java/org/apache/cocoon/woody/datatype/validationruleimpl AssertValidationRule.java EmailValidationRule.java LengthValidationRule.java RangeValidationRule.java ValueCountValidationRule.java Log: Change in ValidationRule interface Revision Changes Path 1.2 +5 -4 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/ValidationRule.java Index: ValidationRule.java =================================================================== RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/ValidationRule.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ValidationRule.java 22 Apr 2003 12:04:18 -0000 1.1 +++ ValidationRule.java 26 Jun 2003 09:11:24 -0000 1.2 @@ -67,9 +67,10 @@ public ValidationError validate(Object value, ExpressionContext expressionContext); /** - * Returns true if this ValidationRule supports the given Datatype. - * Implementations will want to check both [EMAIL PROTECTED] Datatype#getTypeClass} and - * [EMAIL PROTECTED] Datatype#isArrayType}. + * Returns true if this ValidationRule supports validating objects of the same class + * as the one specified. If the flag 'arrayType' is true, this method will return true + * if this validation rule can validate arrays of these objects (i.e. the object passed + * to the validate method will then be an array). */ - public boolean supportsType(Datatype datatype); + public boolean supportsType(Class clazz, boolean arrayType); } 1.2 +1 -1 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/typeimpl/AbstractDatatypeBuilder.java Index: AbstractDatatypeBuilder.java =================================================================== RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/typeimpl/AbstractDatatypeBuilder.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- AbstractDatatypeBuilder.java 22 Apr 2003 12:04:18 -0000 1.1 +++ AbstractDatatypeBuilder.java 26 Jun 2003 09:11:24 -0000 1.2 @@ -114,7 +114,7 @@ Element[] validationElements = DomHelper.getChildElements(validationElement, Constants.WD_NS); for (int i = 0; i < validationElements.length; i++) { ValidationRule rule = datatypeManager.createValidationRule(validationElements[i]); - if (!rule.supportsType(datatype)) { + if (!rule.supportsType(datatype.getTypeClass(), datatype.isArrayType())) { throw new Exception("Validation rule \"" + validationElements[i].getLocalName() + "\" cannot be used with strings, error at " + DomHelper.getLocation(validationElements[i])); } datatype.addValidationRule(rule); 1.2 +1 -2 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/validationruleimpl/AssertValidationRule.java Index: AssertValidationRule.java =================================================================== RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/validationruleimpl/AssertValidationRule.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- AssertValidationRule.java 22 Apr 2003 12:04:19 -0000 1.1 +++ AssertValidationRule.java 26 Jun 2003 09:11:24 -0000 1.2 @@ -51,7 +51,6 @@ package org.apache.cocoon.woody.datatype.validationruleimpl; import org.apache.cocoon.woody.datatype.ValidationError; -import org.apache.cocoon.woody.datatype.Datatype; import org.apache.cocoon.woody.formmodel.CannotYetResolveWarning; import org.outerj.expression.ExpressionContext; import org.outerj.expression.ExpressionException; @@ -87,7 +86,7 @@ return hasFailMessage() ? getFailMessage() : new ValidationError("Assertion validation rule failed."); } - public boolean supportsType(Datatype datatype) { + public boolean supportsType(Class clazz, boolean arrayType) { return true; } } 1.2 +2 -3 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/validationruleimpl/EmailValidationRule.java Index: EmailValidationRule.java =================================================================== RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/validationruleimpl/EmailValidationRule.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- EmailValidationRule.java 22 Apr 2003 12:04:19 -0000 1.1 +++ EmailValidationRule.java 26 Jun 2003 09:11:24 -0000 1.2 @@ -51,7 +51,6 @@ package org.apache.cocoon.woody.datatype.validationruleimpl; import org.apache.cocoon.woody.datatype.ValidationError; -import org.apache.cocoon.woody.datatype.Datatype; import org.outerj.expression.ExpressionContext; /** @@ -68,8 +67,8 @@ return hasFailMessage() ? getFailMessage() : new ValidationError("validation.string.invalidemail"); } - public boolean supportsType(Datatype datatype) { - return datatype.getTypeClass().isAssignableFrom(String.class) && !datatype.isArrayType(); + public boolean supportsType(Class clazz, boolean arrayType) { + return clazz.isAssignableFrom(String.class) && !arrayType; } private boolean isEmail(String email) { 1.2 +2 -3 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/validationruleimpl/LengthValidationRule.java Index: LengthValidationRule.java =================================================================== RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/validationruleimpl/LengthValidationRule.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- LengthValidationRule.java 22 Apr 2003 12:04:19 -0000 1.1 +++ LengthValidationRule.java 26 Jun 2003 09:11:24 -0000 1.2 @@ -51,7 +51,6 @@ package org.apache.cocoon.woody.datatype.validationruleimpl; import org.apache.cocoon.woody.datatype.ValidationError; -import org.apache.cocoon.woody.datatype.Datatype; import org.apache.cocoon.woody.formmodel.CannotYetResolveWarning; import org.outerj.expression.ExpressionContext; import org.outerj.expression.Expression; @@ -141,7 +140,7 @@ return null; } - public boolean supportsType(Datatype datatype) { - return datatype.getTypeClass().isAssignableFrom(String.class) && !datatype.isArrayType(); + public boolean supportsType(Class clazz, boolean arrayType) { + return clazz.isAssignableFrom(String.class) && !arrayType; } } 1.2 +2 -3 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/validationruleimpl/RangeValidationRule.java Index: RangeValidationRule.java =================================================================== RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/validationruleimpl/RangeValidationRule.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- RangeValidationRule.java 22 Apr 2003 12:04:19 -0000 1.1 +++ RangeValidationRule.java 26 Jun 2003 09:11:24 -0000 1.2 @@ -51,7 +51,6 @@ package org.apache.cocoon.woody.datatype.validationruleimpl; import org.apache.cocoon.woody.datatype.ValidationError; -import org.apache.cocoon.woody.datatype.Datatype; import org.apache.cocoon.woody.formmodel.CannotYetResolveWarning; import org.outerj.expression.ExpressionContext; import org.outerj.expression.Expression; @@ -129,7 +128,7 @@ return null; } - public boolean supportsType(Datatype datatype) { - return (datatype.getTypeClass().isAssignableFrom(Long.class) || datatype.getTypeClass().isAssignableFrom(BigDecimal.class)) && !datatype.isArrayType(); + public boolean supportsType(Class clazz, boolean arrayType) { + return (clazz.isAssignableFrom(Long.class) || clazz.isAssignableFrom(BigDecimal.class)) && !arrayType; } } 1.2 +2 -3 cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/validationruleimpl/ValueCountValidationRule.java Index: ValueCountValidationRule.java =================================================================== RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/datatype/validationruleimpl/ValueCountValidationRule.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ValueCountValidationRule.java 22 Apr 2003 12:04:19 -0000 1.1 +++ ValueCountValidationRule.java 26 Jun 2003 09:11:24 -0000 1.2 @@ -51,7 +51,6 @@ package org.apache.cocoon.woody.datatype.validationruleimpl; import org.apache.cocoon.woody.datatype.ValidationError; -import org.apache.cocoon.woody.datatype.Datatype; import org.apache.cocoon.woody.formmodel.CannotYetResolveWarning; import org.outerj.expression.ExpressionContext; import org.outerj.expression.Expression; @@ -143,7 +142,7 @@ return null; } - public boolean supportsType(Datatype datatype) { - return datatype.isArrayType(); + public boolean supportsType(Class clazz, boolean arrayType) { + return arrayType; } }