You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2005/07/12 21:25:47 UTC
svn commit: r216005 - in /cocoon:
blocks/forms/trunk/java/org/apache/cocoon/forms/datatype/validationruleimpl/
blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/
blocks/forms/trunk/java/org/apache/cocoon/forms/validation/
blocks/forms/trunk/jav...
Author: cziegeler
Date: Tue Jul 12 12:25:46 2005
New Revision: 216005
URL: http://svn.apache.org/viewcvs?rev=216005&view=rev
Log:
Make all WidgetValidatorBuilders ThreadSafe. Reset validation errors
before validating a field.
Modified:
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/datatype/validationruleimpl/AbstractValidationRuleBuilder.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/Field.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/WidgetValidatorBuilder.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/AssertValidatorBuilder.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/EmailValidatorBuilder.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidatorBuilder.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/LengthValidatorBuilder.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/Mod10ValidatorBuilder.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/RangeValidatorBuilder.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/RegExpValidatorBuilder.java
cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/ValueCountValidatorBuilder.java
cocoon/trunk/status.xml
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/datatype/validationruleimpl/AbstractValidationRuleBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/datatype/validationruleimpl/AbstractValidationRuleBuilder.java?rev=216005&r1=216004&r2=216005&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/datatype/validationruleimpl/AbstractValidationRuleBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/datatype/validationruleimpl/AbstractValidationRuleBuilder.java Tue Jul 12 12:25:46 2005
@@ -34,10 +34,15 @@
*
* @version $Id$
*/
-public abstract class AbstractValidationRuleBuilder implements ValidationRuleBuilder, Serviceable, Disposable {
+public abstract class AbstractValidationRuleBuilder
+ implements ValidationRuleBuilder, Serviceable, Disposable {
+
protected ExpressionManager expressionManager;
protected ServiceManager serviceManager;
+ /**
+ * @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
+ */
public void service(ServiceManager serviceManager) throws ServiceException {
this.serviceManager = serviceManager;
this.expressionManager = (ExpressionManager)serviceManager.lookup(ExpressionManager.ROLE);
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/Field.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/Field.java?rev=216005&r1=216004&r2=216005&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/Field.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/formmodel/Field.java Tue Jul 12 12:25:46 2005
@@ -1,5 +1,5 @@
/*
- * Copyright 1999-2004 The Apache Software Foundation.
+ * Copyright 1999-2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -272,6 +272,9 @@
}
}
+ /**
+ * @see org.apache.cocoon.forms.formmodel.Widget#validate()
+ */
public boolean validate() {
if (!getCombinedState().isValidatingValues()) {
this.wasValid = true;
@@ -350,6 +353,9 @@
// Go to transient validating state
this.valueState = VALUE_VALIDATING;
+
+ // reset validation errot
+ this.validationError = null;
try {
if (this.value == null && getFieldDefinition().isRequired()) {
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/WidgetValidatorBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/WidgetValidatorBuilder.java?rev=216005&r1=216004&r2=216005&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/WidgetValidatorBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/WidgetValidatorBuilder.java Tue Jul 12 12:25:46 2005
@@ -25,7 +25,7 @@
*/
public interface WidgetValidatorBuilder {
- static final String ROLE = WidgetValidatorBuilder.class.getName();
+ String ROLE = WidgetValidatorBuilder.class.getName();
/**
* Builds a {@link WidgetValidator} for a particular widget definition.
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/AssertValidatorBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/AssertValidatorBuilder.java?rev=216005&r1=216004&r2=216005&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/AssertValidatorBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/AssertValidatorBuilder.java Tue Jul 12 12:25:46 2005
@@ -15,6 +15,7 @@
*/
package org.apache.cocoon.forms.validation.impl;
+import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.forms.datatype.validationruleimpl.AssertValidationRuleBuilder;
import org.apache.cocoon.forms.formmodel.WidgetDefinition;
import org.apache.cocoon.forms.validation.WidgetValidator;
@@ -27,8 +28,12 @@
* @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
* @version $Id$
*/
-public class AssertValidatorBuilder extends AssertValidationRuleBuilder implements WidgetValidatorBuilder {
+public class AssertValidatorBuilder extends AssertValidationRuleBuilder
+ implements WidgetValidatorBuilder, ThreadSafe {
+ /**
+ * @see org.apache.cocoon.forms.validation.WidgetValidatorBuilder#build(org.w3c.dom.Element, org.apache.cocoon.forms.formmodel.WidgetDefinition)
+ */
public WidgetValidator build(Element validationRuleElement, WidgetDefinition definition) throws Exception {
return new ValidationRuleValidator(super.build(validationRuleElement));
}
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/EmailValidatorBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/EmailValidatorBuilder.java?rev=216005&r1=216004&r2=216005&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/EmailValidatorBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/EmailValidatorBuilder.java Tue Jul 12 12:25:46 2005
@@ -15,6 +15,7 @@
*/
package org.apache.cocoon.forms.validation.impl;
+import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.forms.datatype.validationruleimpl.EmailValidationRuleBuilder;
import org.apache.cocoon.forms.formmodel.WidgetDefinition;
import org.apache.cocoon.forms.validation.WidgetValidator;
@@ -27,8 +28,12 @@
* @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
* @version $Id$
*/
-public class EmailValidatorBuilder extends EmailValidationRuleBuilder implements WidgetValidatorBuilder {
+public class EmailValidatorBuilder extends EmailValidationRuleBuilder
+ implements WidgetValidatorBuilder, ThreadSafe {
+ /**
+ * @see org.apache.cocoon.forms.validation.WidgetValidatorBuilder#build(org.w3c.dom.Element, org.apache.cocoon.forms.formmodel.WidgetDefinition)
+ */
public WidgetValidator build(Element validationRuleElement, WidgetDefinition definition) throws Exception {
return new ValidationRuleValidator(super.build(validationRuleElement));
}
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidatorBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidatorBuilder.java?rev=216005&r1=216004&r2=216005&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidatorBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/JavaScriptValidatorBuilder.java Tue Jul 12 12:25:46 2005
@@ -33,7 +33,8 @@
* @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
* @version $Id$
*/
-public class JavaScriptValidatorBuilder implements WidgetValidatorBuilder, Contextualizable, ThreadSafe {
+public class JavaScriptValidatorBuilder
+ implements WidgetValidatorBuilder, Contextualizable, ThreadSafe {
private Context avalonContext;
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/LengthValidatorBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/LengthValidatorBuilder.java?rev=216005&r1=216004&r2=216005&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/LengthValidatorBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/LengthValidatorBuilder.java Tue Jul 12 12:25:46 2005
@@ -15,6 +15,7 @@
*/
package org.apache.cocoon.forms.validation.impl;
+import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.forms.datatype.validationruleimpl.LengthValidationRuleBuilder;
import org.apache.cocoon.forms.formmodel.WidgetDefinition;
import org.apache.cocoon.forms.validation.WidgetValidator;
@@ -27,8 +28,13 @@
* @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
* @version $Id$
*/
-public class LengthValidatorBuilder extends LengthValidationRuleBuilder implements WidgetValidatorBuilder {
+public class LengthValidatorBuilder
+ extends LengthValidationRuleBuilder
+ implements WidgetValidatorBuilder, ThreadSafe {
+ /**
+ * @see org.apache.cocoon.forms.validation.WidgetValidatorBuilder#build(org.w3c.dom.Element, org.apache.cocoon.forms.formmodel.WidgetDefinition)
+ */
public WidgetValidator build(Element validationRuleElement, WidgetDefinition definition) throws Exception {
return new ValidationRuleValidator(super.build(validationRuleElement));
}
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/Mod10ValidatorBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/Mod10ValidatorBuilder.java?rev=216005&r1=216004&r2=216005&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/Mod10ValidatorBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/Mod10ValidatorBuilder.java Tue Jul 12 12:25:46 2005
@@ -15,6 +15,7 @@
*/
package org.apache.cocoon.forms.validation.impl;
+import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.forms.datatype.validationruleimpl.Mod10ValidationRuleBuilder;
import org.apache.cocoon.forms.formmodel.WidgetDefinition;
import org.apache.cocoon.forms.validation.WidgetValidator;
@@ -27,8 +28,13 @@
* @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
* @version $Id$
*/
-public class Mod10ValidatorBuilder extends Mod10ValidationRuleBuilder implements WidgetValidatorBuilder {
+public class Mod10ValidatorBuilder
+ extends Mod10ValidationRuleBuilder
+ implements WidgetValidatorBuilder, ThreadSafe {
+ /**
+ * @see org.apache.cocoon.forms.validation.WidgetValidatorBuilder#build(org.w3c.dom.Element, org.apache.cocoon.forms.formmodel.WidgetDefinition)
+ */
public WidgetValidator build(Element validationRuleElement, WidgetDefinition definition) throws Exception {
return new ValidationRuleValidator(super.build(validationRuleElement));
}
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/RangeValidatorBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/RangeValidatorBuilder.java?rev=216005&r1=216004&r2=216005&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/RangeValidatorBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/RangeValidatorBuilder.java Tue Jul 12 12:25:46 2005
@@ -15,6 +15,7 @@
*/
package org.apache.cocoon.forms.validation.impl;
+import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.forms.datatype.validationruleimpl.RangeValidationRuleBuilder;
import org.apache.cocoon.forms.formmodel.WidgetDefinition;
import org.apache.cocoon.forms.validation.WidgetValidator;
@@ -27,8 +28,13 @@
* @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
* @version $Id$
*/
-public class RangeValidatorBuilder extends RangeValidationRuleBuilder implements WidgetValidatorBuilder {
+public class RangeValidatorBuilder
+ extends RangeValidationRuleBuilder
+ implements WidgetValidatorBuilder, ThreadSafe {
+ /**
+ * @see org.apache.cocoon.forms.validation.WidgetValidatorBuilder#build(org.w3c.dom.Element, org.apache.cocoon.forms.formmodel.WidgetDefinition)
+ */
public WidgetValidator build(Element validationRuleElement, WidgetDefinition definition) throws Exception {
return new ValidationRuleValidator(super.build(validationRuleElement));
}
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/RegExpValidatorBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/RegExpValidatorBuilder.java?rev=216005&r1=216004&r2=216005&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/RegExpValidatorBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/RegExpValidatorBuilder.java Tue Jul 12 12:25:46 2005
@@ -15,6 +15,7 @@
*/
package org.apache.cocoon.forms.validation.impl;
+import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.forms.datatype.validationruleimpl.RegExpValidationRuleBuilder;
import org.apache.cocoon.forms.formmodel.WidgetDefinition;
import org.apache.cocoon.forms.validation.WidgetValidator;
@@ -27,8 +28,13 @@
* @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
* @version $Id$
*/
-public class RegExpValidatorBuilder extends RegExpValidationRuleBuilder implements WidgetValidatorBuilder {
+public class RegExpValidatorBuilder
+ extends RegExpValidationRuleBuilder
+ implements WidgetValidatorBuilder, ThreadSafe {
+ /**
+ * @see org.apache.cocoon.forms.validation.WidgetValidatorBuilder#build(org.w3c.dom.Element, org.apache.cocoon.forms.formmodel.WidgetDefinition)
+ */
public WidgetValidator build(Element validationRuleElement, WidgetDefinition definition) throws Exception {
return new ValidationRuleValidator(super.build(validationRuleElement));
}
Modified: cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/ValueCountValidatorBuilder.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/ValueCountValidatorBuilder.java?rev=216005&r1=216004&r2=216005&view=diff
==============================================================================
--- cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/ValueCountValidatorBuilder.java (original)
+++ cocoon/blocks/forms/trunk/java/org/apache/cocoon/forms/validation/impl/ValueCountValidatorBuilder.java Tue Jul 12 12:25:46 2005
@@ -15,6 +15,7 @@
*/
package org.apache.cocoon.forms.validation.impl;
+import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.forms.datatype.validationruleimpl.ValueCountValidationRuleBuilder;
import org.apache.cocoon.forms.formmodel.WidgetDefinition;
import org.apache.cocoon.forms.validation.WidgetValidator;
@@ -27,8 +28,13 @@
* @author <a href="http://www.apache.org/~sylvain/">Sylvain Wallez</a>
* @version $Id$
*/
-public class ValueCountValidatorBuilder extends ValueCountValidationRuleBuilder implements WidgetValidatorBuilder {
+public class ValueCountValidatorBuilder
+ extends ValueCountValidationRuleBuilder
+ implements WidgetValidatorBuilder, ThreadSafe {
+ /**
+ * @see org.apache.cocoon.forms.validation.WidgetValidatorBuilder#build(org.w3c.dom.Element, org.apache.cocoon.forms.formmodel.WidgetDefinition)
+ */
public WidgetValidator build(Element validationRuleElement, WidgetDefinition definition) throws Exception {
return new ValidationRuleValidator(super.build(validationRuleElement));
}
Modified: cocoon/trunk/status.xml
URL: http://svn.apache.org/viewcvs/cocoon/trunk/status.xml?rev=216005&r1=216004&r2=216005&view=diff
==============================================================================
--- cocoon/trunk/status.xml (original)
+++ cocoon/trunk/status.xml Tue Jul 12 12:25:46 2005
@@ -481,6 +481,10 @@
</release>
<release version="2.1.8" date="TBD">
<action dev="CZ" type="add">
+ CForms block: Make all WidgetValidatorBuilders ThreadSafe. Reset validation errors
+ before validating a field.
+ </action>
+ <action dev="CZ" type="add">
Portal block: Add portal manager aspects for more flexible portal processing.
</action>
<action dev="CZ" type="add">