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;
}
}