1 16 package org.apache.cocoon.woody.datatype.validationruleimpl; 17 18 import org.apache.cocoon.woody.datatype.ValidationRule; 19 import org.apache.cocoon.woody.util.DomHelper; 20 import org.w3c.dom.Element ; 21 import org.outerj.expression.Expression; 22 23 28 public class AssertValidationRuleBuilder extends AbstractValidationRuleBuilder { 29 public ValidationRule build(Element validationRuleElement) throws Exception { 30 String exprStr = validationRuleElement.getAttribute("test"); 31 if (exprStr.length() == 0) 32 throw new Exception ("assert validation rule requires a \"test\" attribute at " + DomHelper.getLocation(validationRuleElement)); 33 Expression testExpression = parseExpression(exprStr, validationRuleElement, "test"); 34 if (testExpression.getResultType() != null && !Boolean .class.isAssignableFrom(testExpression.getResultType())) 35 throw new Exception ("Expression should evaluate to a boolean on assert validation rule at " + DomHelper.getLocation(validationRuleElement)); 36 AssertValidationRule rule = new AssertValidationRule(testExpression); 37 buildFailMessage(validationRuleElement, rule); 38 return rule; 39 } 40 } 41 | Popular Tags |