Author: tchemit Date: 2011-01-17 19:24:10 +0100 (Mon, 17 Jan 2011) New Revision: 2013 Url: http://nuiton.org/repositories/revision/nuiton-utils/2013 Log: move xwork2 field validator to the new correct package Added: trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/ trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/ trunk/nuiton-validator/src/test/resources/org/nuiton/validator/xwork2/ trunk/nuiton-validator/src/test/resources/org/nuiton/validator/xwork2/field/ trunk/nuiton-validator/src/test/resources/org/nuiton/validator/xwork2/field/FieldExpressionBean-error-validation.xml trunk/nuiton-validator/src/test/resources/org/nuiton/validator/xwork2/field/ValidatorBean-error-validation.xml Removed: trunk/nuiton-validator/src/main/java/org/nuiton/validator/field/ trunk/nuiton-validator/src/test/java/org/nuiton/validator/field/ trunk/nuiton-validator/src/test/resources/org/nuiton/validator/field/FieldExpressionBean-error-validation.xml trunk/nuiton-validator/src/test/resources/org/nuiton/validator/field/ValidatorBean-error-validation.xml Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/CollectionFieldExpressionValidator.java trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/CollectionUniqueKeyValidator.java trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/ExistingDirectoryFieldValidator.java trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/ExistingFileFieldValidator.java trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/FieldExpressionWithParamsValidator.java trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/NotExistingDirectoryFieldValidator.java trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/NotExistingFileFieldValidator.java trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/RequiredFileFieldValidator.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/AbstractFieldValidatorTest.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/AbstractValidatorBeanFieldValidatorTest.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/CollectionFieldExpressionValidatorTest.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/CollectionUniqueKeyValidatorTest.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/ExistingDirectoryFieldValidatorTest.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/ExistingFileFieldValidatorTest.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/FieldExpressionBean.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/FieldExpressionWithParamsValidatorTest.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/NotExistingDirectoryFieldValidatorTest.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/NotExistingFileFieldValidatorTest.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/RequiredFileFieldValidatorTest.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/ValidatorBean.java trunk/nuiton-validator/src/test/resources/validators.xml Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/CollectionFieldExpressionValidator.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/field/CollectionFieldExpressionValidator.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/CollectionFieldExpressionValidator.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import com.opensymphony.xwork2.util.ValueStack; import com.opensymphony.xwork2.validator.ValidationException; Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/CollectionUniqueKeyValidator.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/field/CollectionUniqueKeyValidator.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/CollectionUniqueKeyValidator.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldExpressionValidator; Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/ExistingDirectoryFieldValidator.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/field/ExistingDirectoryFieldValidator.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/ExistingDirectoryFieldValidator.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/ExistingFileFieldValidator.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/field/ExistingFileFieldValidator.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/ExistingFileFieldValidator.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/FieldExpressionWithParamsValidator.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/field/FieldExpressionWithParamsValidator.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/FieldExpressionWithParamsValidator.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import com.opensymphony.xwork2.util.ValueStack; import com.opensymphony.xwork2.validator.ValidationException; Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/NotExistingDirectoryFieldValidator.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/field/NotExistingDirectoryFieldValidator.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/NotExistingDirectoryFieldValidator.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/NotExistingFileFieldValidator.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/field/NotExistingFileFieldValidator.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/NotExistingFileFieldValidator.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/RequiredFileFieldValidator.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/field/RequiredFileFieldValidator.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/field/RequiredFileFieldValidator.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; Modified: trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/AbstractFieldValidatorTest.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/field/AbstractFieldValidatorTest.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/AbstractFieldValidatorTest.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,10 +22,8 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; -import org.nuiton.validator.BeanValidator; -import org.nuiton.validator.BeanValidatorField; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.After; @@ -33,8 +31,12 @@ import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; +import org.nuiton.validator.NuitonValidator; +import org.nuiton.validator.NuitonValidatorFactory; +import org.nuiton.validator.NuitonValidatorResult; import java.io.File; +import java.util.List; /** * Abstract class to test a specific validator. @@ -42,8 +44,8 @@ * To implements a test on a new validator, just extends this class * and implements the method {@link #testValidator()}. * + * @param <B> the type of bean to validate. * @author tchemit <chemit@codelutin.com> - * @param <B> the type of bean to validate. */ public abstract class AbstractFieldValidatorTest<B> extends Assert { @@ -51,13 +53,13 @@ static private final Log log = LogFactory.getLog(AbstractFieldValidatorTest.class); - protected static BeanValidator<?> cacheValidator; + protected static NuitonValidator<?> cacheValidator; protected static File basedir; protected final Class<B> type; - protected BeanValidator<B> validator; + protected NuitonValidator<B> validator; protected B bean; @@ -81,18 +83,16 @@ log.debug("start test " + getClass().getSimpleName()); bean = type.newInstance(); if (cacheValidator == null) { - validator = new BeanValidator<B>(type, null); + validator = NuitonValidatorFactory.newValidator(type); cacheValidator = validator; } else { - validator = (BeanValidator<B>) cacheValidator; + validator = (NuitonValidator<B>) cacheValidator; } - validator.setBean(bean); } @After @SuppressWarnings("unchecked") public void tearDown() { - validator.setBean(null); } @AfterClass @@ -112,16 +112,22 @@ @SuppressWarnings("unchecked") protected void assertFieldInError(String fieldName, String error, boolean required) { - BeanValidatorField<B> field = validator.getField(fieldName); - if (field != null && field.getErrors() != null) { - for (String o : field.getErrors()) { - if (o.equals(error)) { - assertTrue("error " + error + " should not exist but was found.", required); - return; - } - } + + NuitonValidatorResult result = validator.validate(bean); + + List<String> errorMessages = result.getErrorMessages(fieldName); + + boolean errorFound = errorMessages.contains(fieldName); + + if (required) { + + // must have this error + + assertTrue("error " + error + " should not exist but was found.", errorFound); + } else { + + // must not have this error + assertFalse("error " + error + " should exist but was not found.", errorFound); } - // error was not found - assertFalse("error " + error + " should exist but was not found.", required); } } \ No newline at end of file Modified: trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/AbstractValidatorBeanFieldValidatorTest.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/field/AbstractValidatorBeanFieldValidatorTest.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/AbstractValidatorBeanFieldValidatorTest.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; /** * Abstract class to test a specific validator for the {@link ValidatorBean}. Modified: trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/CollectionFieldExpressionValidatorTest.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/field/CollectionFieldExpressionValidatorTest.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/CollectionFieldExpressionValidatorTest.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,10 +22,10 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; -import org.nuiton.validator.field.ValidatorBean.ValidatorBeanEntry; import org.junit.Test; +import org.nuiton.validator.xwork2.field.ValidatorBean.ValidatorBeanEntry; import java.util.Arrays; Modified: trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/CollectionUniqueKeyValidatorTest.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/field/CollectionUniqueKeyValidatorTest.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/CollectionUniqueKeyValidatorTest.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,9 +22,9 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; -import org.nuiton.validator.field.ValidatorBean.ValidatorBeanEntry; +import org.nuiton.validator.xwork2.field.ValidatorBean.ValidatorBeanEntry; import org.junit.Test; import java.util.Arrays; Modified: trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/ExistingDirectoryFieldValidatorTest.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/field/ExistingDirectoryFieldValidatorTest.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/ExistingDirectoryFieldValidatorTest.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import org.junit.Test; Modified: trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/ExistingFileFieldValidatorTest.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/field/ExistingFileFieldValidatorTest.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/ExistingFileFieldValidatorTest.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import org.junit.Test; Modified: trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/FieldExpressionBean.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/field/FieldExpressionBean.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/FieldExpressionBean.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; Modified: trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/FieldExpressionWithParamsValidatorTest.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/field/FieldExpressionWithParamsValidatorTest.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/FieldExpressionWithParamsValidatorTest.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import org.junit.Test; Modified: trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/NotExistingDirectoryFieldValidatorTest.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/field/NotExistingDirectoryFieldValidatorTest.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/NotExistingDirectoryFieldValidatorTest.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import org.junit.Test; Modified: trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/NotExistingFileFieldValidatorTest.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/field/NotExistingFileFieldValidatorTest.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/NotExistingFileFieldValidatorTest.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import org.junit.Test; @@ -31,7 +31,6 @@ /** @author tchemit <chemit@codelutin.com> */ public class NotExistingFileFieldValidatorTest extends AbstractValidatorBeanFieldValidatorTest { - @Test @Override public void testValidator() throws Exception { Modified: trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/RequiredFileFieldValidatorTest.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/field/RequiredFileFieldValidatorTest.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/RequiredFileFieldValidatorTest.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import org.junit.Test; Modified: trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/ValidatorBean.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/field/ValidatorBean.java 2011-01-12 14:31:01 UTC (rev 2010) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/field/ValidatorBean.java 2011-01-17 18:24:10 UTC (rev 2013) @@ -22,7 +22,7 @@ * <http://www.gnu.org/licenses/lgpl-3.0.html>. * #L% */ -package org.nuiton.validator.field; +package org.nuiton.validator.xwork2.field; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; Deleted: trunk/nuiton-validator/src/test/resources/org/nuiton/validator/field/FieldExpressionBean-error-validation.xml =================================================================== --- trunk/nuiton-validator/src/test/resources/org/nuiton/validator/field/FieldExpressionBean-error-validation.xml 2011-01-17 18:01:10 UTC (rev 2012) +++ trunk/nuiton-validator/src/test/resources/org/nuiton/validator/field/FieldExpressionBean-error-validation.xml 2011-01-17 18:24:10 UTC (rev 2013) @@ -1,123 +0,0 @@ -<!-- - #%L - Nuiton Utils :: Nuiton Validator - - $Id$ - $HeadURL$ - %% - Copyright (C) 2011 CodeLutin, Tony Chemit - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Lesser Public License for more details. - - You should have received a copy of the GNU General Lesser Public - License along with this program. If not, see - <http://www.gnu.org/licenses/lgpl-3.0.html>. - #L% - --> -<!DOCTYPE validators PUBLIC - "-//OpenSymphony Group//XWork Validator 1.0.2//EN" - "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> -<validators> - -<field name="booleanValue"> - <field-validator type="fieldexpressionwithparams"> - <param name="booleanParams">boolean:true</param> - <param name="expression"><![CDATA[ booleanValue == booleans.boolean]]> - </param> - <message>expression.boolean.not.equals##${booleans.boolean}</message> - </field-validator> - <field-validator type="fieldexpressionwithparams"> - <param name="booleanParams">boolean:false</param> - <param name="expression"><![CDATA[ booleanValue == booleans.boolean]]> - </param> - <message>expression.boolean.not.equals##${booleans.boolean}</message> - </field-validator> - </field> - - <field name="shortValue"> - <field-validator type="fieldexpressionwithparams"> - <param name="shortParams">short:100</param> - <param name="expression"><![CDATA[ shortValue < shorts.short]]> - </param> - <message>expression.too.big##${shorts.short}</message> - </field-validator> - <field-validator type="fieldexpressionwithparams"> - <param name="shortParams">short:100|short2:2000</param> - <param name="expression"><![CDATA[ shortValue < shorts.short || shortValue < shorts.short2]]> - </param> - <message>expression.too.big##${shorts.short}##${shorts.short2}</message> - </field-validator> - </field> - - <field name="intValue"> - <field-validator type="fieldexpressionwithparams"> - <param name="intParams">int:100</param> - <param name="expression"><![CDATA[ intValue < ints.int]]> - </param> - <message>expression.too.big##${ints.int}</message> - </field-validator> - <field-validator type="fieldexpressionwithparams"> - <param name="intParams">int:100|int2:2000</param> - <param name="expression"><![CDATA[ intValue < ints.int || intValue < ints.int2]]> - </param> - <message>expression.too.big##${ints.int}##${ints.int2}</message> - </field-validator> - </field> - - <field name="longValue"> - <field-validator type="fieldexpressionwithparams"> - <param name="longParams">long:100</param> - <param name="expression"><![CDATA[ longValue < longs.long]]> - </param> - <message>expression.too.big##${longs.long}</message> - </field-validator> - <field-validator type="fieldexpressionwithparams"> - <param name="longParams">long:100|long2:2000</param> - <param name="expression"><![CDATA[ longValue < longs.long || longValue < longs.long2]]> - </param> - <message>expression.too.big##${longs.long}##${longs.long2}</message> - </field-validator> - </field> - - <field name="doubleValue"> - <field-validator type="fieldexpressionwithparams"> - <param name="doubleParams">double:100.0</param> - <param name="expression"><![CDATA[ doubleValue < doubles.double]]> - </param> - <message>expression.too.big##${doubles.double}</message> - </field-validator> - <field-validator type="fieldexpressionwithparams"> - <param name="doubleParams">double:100.0|double2:2000.0</param> - <param name="expression"><![CDATA[ doubleValue < doubles.double || doubleValue < doubles.double2]]> - </param> - <message>expression.too.big##${doubles.double}##${doubles.double2}</message> - </field-validator> - </field> - - <field name="stringValue"> - <field-validator type="fieldexpressionwithparams"> - <param name="stringParams">string:1000</param> - <param name="expression"><![CDATA[ stringValue.equals(strings.string)]]> - </param> - <message>expression.stringNotValue##${strings.string}</message> - </field-validator> - <field-validator type="fieldexpressionwithparams"> - <param name="stringParams">string:1000|string2:3000</param> - <param name="expression"><![CDATA[ stringValue.equals(strings.string) || stringValue.equals(strings.string2)]]> - </param> - <message>expression.stringNotValue##${strings.string}##${strings.string2}</message> - </field-validator> - </field> - - - - -</validators> \ No newline at end of file Deleted: trunk/nuiton-validator/src/test/resources/org/nuiton/validator/field/ValidatorBean-error-validation.xml =================================================================== --- trunk/nuiton-validator/src/test/resources/org/nuiton/validator/field/ValidatorBean-error-validation.xml 2011-01-17 18:01:10 UTC (rev 2012) +++ trunk/nuiton-validator/src/test/resources/org/nuiton/validator/field/ValidatorBean-error-validation.xml 2011-01-17 18:24:10 UTC (rev 2013) @@ -1,179 +0,0 @@ -<!-- - #%L - Nuiton Utils :: Nuiton Validator - - $Id$ - $HeadURL$ - %% - Copyright (C) 2011 CodeLutin, Tony Chemit - %% - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Lesser Public License for more details. - - You should have received a copy of the GNU General Lesser Public - License along with this program. If not, see - <http://www.gnu.org/licenses/lgpl-3.0.html>. - #L% - --> -<!DOCTYPE validators PUBLIC - "-//OpenSymphony Group//XWork Validator 1.0.2//EN" - "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> -<validators> - - <field name="stringValue"> - <field-validator type="requiredstring" short-circuit="true"> - <message>stringValue.required</message> - </field-validator> - </field> - - <field name="existingFile"> - <field-validator type="requiredFile" short-circuit="true"> - <message>existingFile.required</message> - </field-validator> - <field-validator type="existingFile" short-circuit="true"> - <message>existingFile.not.exist</message> - </field-validator> - </field> - - <field name="notExistingFile"> - <field-validator type="requiredFile" short-circuit="true"> - <message>notExistingFile.required</message> - </field-validator> - <field-validator type="notExistingFile" short-circuit="true"> - <message>notExistingFile.exist</message> - </field-validator> - </field> - - <field name="existingDirectory"> - <field-validator type="requiredFile" short-circuit="true"> - <message>existingDirectory.required</message> - </field-validator> - - <field-validator type="existingDirectory" short-circuit="true"> - <message>existingDirectory.not.exist</message> - </field-validator> - </field> - - <field name="notExistingDirectory"> - <field-validator type="requiredFile" short-circuit="true"> - <message>notExistingDirectory.required</message> - </field-validator> - - <field-validator type="notExistingDirectory" short-circuit="true"> - <message>notExistingDirectory.exist</message> - </field-validator> - </field> - - <field name="entries"> - - <field-validator type="collectionUniqueKey"> - <param name="keys">intValue</param> - <message>collectionUniqueKey.one.failed</message> - </field-validator> - <field-validator type="collectionUniqueKey"> - <param name="keys">stringValue</param> - <message>collectionUniqueKey.two.failed</message> - </field-validator> - <field-validator type="collectionUniqueKey"> - <param name="keys">intValue,stringValue</param> - <message>collectionUniqueKey.three.failed</message> - </field-validator> - <field-validator type="collectionUniqueKey"> - <param name="keys">intValue,stringValue,stringValue2</param> - <message>collectionUniqueKey.four.failed</message> - </field-validator> - <field-validator type="collectionUniqueKey"> - <param name="keys">stringValue</param> - <param name="againstProperty">entry</param> - <message>collectionUniqueKey.five.failed</message> - </field-validator> - - <field-validator type="collectionFieldExpression"> - <param name="mode">AT_LEAST_ONE</param> - <param name="expression"><![CDATA[ intValue == 0 && stringValue == "stringValue" ]]> - </param> - <message>collectionFieldExpression.atLeastOne</message> - </field-validator> - <field-validator type="collectionFieldExpression"> - <param name="mode">EXACTLY_ONE</param> - <param name="expression"><![CDATA[ intValue == 0 && stringValue == "stringValue" ]]> - </param> - <message>collectionFieldExpression.exactlyOne</message> - </field-validator> - <field-validator type="collectionFieldExpression"> - <param name="mode">ALL</param> - <param name="expression"><![CDATA[ intValue == 0 && stringValue == "stringValue" ]]> - </param> - <message>collectionFieldExpression.all</message> - </field-validator> - <field-validator type="collectionFieldExpression"> - <param name="mode">NONE</param> - <param name="expression"><![CDATA[ intValue == 0 && stringValue == "stringValue" ]]> - </param> - <message>collectionFieldExpression.none</message> - </field-validator> - - <!-- useContext --> - <field-validator type="collectionFieldExpression"> - <param name="mode">AT_LEAST_ONE</param> - <param name="useSensitiveContext">true</param> - <param name="expression"><![CDATA[ size > 1 && previous != null && previous.intValue < current.intValue]]></param> - <message>collectionFieldExpression.atLeastOne.useSensitiveContext</message> - </field-validator> - <field-validator type="collectionFieldExpression"> - <param name="mode">EXACTLY_ONE</param> - <param name="useSensitiveContext">true</param> - <param name="expression"><![CDATA[ size > 1 && previous != null && ( previous.intValue == 2 + current.intValue || current.intValue == 2 + previous.intValue) ]]></param> - <message>collectionFieldExpression.exactlyOne.useSensitiveContext</message> - </field-validator> - <field-validator type="collectionFieldExpression"> - <param name="mode">ALL</param> - <param name="useSensitiveContext">true</param> - <param name="expression"><![CDATA[ size > 1 && (previous == null || previous.intValue < current.intValue)]]></param> - <message>collectionFieldExpression.all.useSensitiveContext</message> - </field-validator> - <field-validator type="collectionFieldExpression"> - <param name="mode">NONE</param> - <param name="useSensitiveContext">true</param> - <param name="expression"><![CDATA[ size > 1 && previous != null && ( current.intValue == 2 + previous.intValue)]]></param> - <message>collectionFieldExpression.none.useSensitiveContext</message> - </field-validator> - - <!-- useFirst --> - <field-validator type="collectionFieldExpression"> - <param name="mode">ALL</param> - <param name="useSensitiveContext">true</param> - <param name="expressionForFirst"><![CDATA[ current.intValue == 0]]></param> - <param name="expression"><![CDATA[ previous == null || previous.intValue < current.intValue]]></param> - <message>collectionFieldExpression.all.useFirst</message> - </field-validator> - - <!-- useLast --> - <field-validator type="collectionFieldExpression"> - <param name="mode">ALL</param> - <param name="useSensitiveContext">true</param> - <param name="expressionForLast"><![CDATA[ current.intValue > 0]]></param> - <param name="expression"><![CDATA[ previous == null || previous.intValue < current.intValue]]></param> - <message>collectionFieldExpression.all.useLast</message> - </field-validator> - - <!-- useFirstAndLast --> - <field-validator type="collectionFieldExpression"> - <param name="mode">ALL</param> - <param name="useSensitiveContext">true</param> - <param name="expressionForFirst"><![CDATA[ current.intValue == 0]]></param> - <param name="expressionForLast"><![CDATA[ current.intValue > 0]]></param> - <param name="expression"><![CDATA[ previous == null || previous.intValue < current.intValue]]></param> - <message>collectionFieldExpression.all.useFirstAndLast</message> - </field-validator> - - </field> - -</validators> \ No newline at end of file Copied: trunk/nuiton-validator/src/test/resources/org/nuiton/validator/xwork2/field/FieldExpressionBean-error-validation.xml (from rev 2010, trunk/nuiton-validator/src/test/resources/org/nuiton/validator/field/FieldExpressionBean-error-validation.xml) =================================================================== --- trunk/nuiton-validator/src/test/resources/org/nuiton/validator/xwork2/field/FieldExpressionBean-error-validation.xml (rev 0) +++ trunk/nuiton-validator/src/test/resources/org/nuiton/validator/xwork2/field/FieldExpressionBean-error-validation.xml 2011-01-17 18:24:10 UTC (rev 2013) @@ -0,0 +1,123 @@ +<!-- + #%L + Nuiton Utils :: Nuiton Validator + + $Id$ + $HeadURL$ + %% + Copyright (C) 2011 CodeLutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Lesser Public License for more details. + + You should have received a copy of the GNU General Lesser Public + License along with this program. If not, see + <http://www.gnu.org/licenses/lgpl-3.0.html>. + #L% + --> +<!DOCTYPE validators PUBLIC + "-//OpenSymphony Group//XWork Validator 1.0.2//EN" + "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> +<validators> + +<field name="booleanValue"> + <field-validator type="fieldexpressionwithparams"> + <param name="booleanParams">boolean:true</param> + <param name="expression"><![CDATA[ booleanValue == booleans.boolean]]> + </param> + <message>expression.boolean.not.equals##${booleans.boolean}</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> + <param name="booleanParams">boolean:false</param> + <param name="expression"><![CDATA[ booleanValue == booleans.boolean]]> + </param> + <message>expression.boolean.not.equals##${booleans.boolean}</message> + </field-validator> + </field> + + <field name="shortValue"> + <field-validator type="fieldexpressionwithparams"> + <param name="shortParams">short:100</param> + <param name="expression"><![CDATA[ shortValue < shorts.short]]> + </param> + <message>expression.too.big##${shorts.short}</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> + <param name="shortParams">short:100|short2:2000</param> + <param name="expression"><![CDATA[ shortValue < shorts.short || shortValue < shorts.short2]]> + </param> + <message>expression.too.big##${shorts.short}##${shorts.short2}</message> + </field-validator> + </field> + + <field name="intValue"> + <field-validator type="fieldexpressionwithparams"> + <param name="intParams">int:100</param> + <param name="expression"><![CDATA[ intValue < ints.int]]> + </param> + <message>expression.too.big##${ints.int}</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> + <param name="intParams">int:100|int2:2000</param> + <param name="expression"><![CDATA[ intValue < ints.int || intValue < ints.int2]]> + </param> + <message>expression.too.big##${ints.int}##${ints.int2}</message> + </field-validator> + </field> + + <field name="longValue"> + <field-validator type="fieldexpressionwithparams"> + <param name="longParams">long:100</param> + <param name="expression"><![CDATA[ longValue < longs.long]]> + </param> + <message>expression.too.big##${longs.long}</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> + <param name="longParams">long:100|long2:2000</param> + <param name="expression"><![CDATA[ longValue < longs.long || longValue < longs.long2]]> + </param> + <message>expression.too.big##${longs.long}##${longs.long2}</message> + </field-validator> + </field> + + <field name="doubleValue"> + <field-validator type="fieldexpressionwithparams"> + <param name="doubleParams">double:100.0</param> + <param name="expression"><![CDATA[ doubleValue < doubles.double]]> + </param> + <message>expression.too.big##${doubles.double}</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> + <param name="doubleParams">double:100.0|double2:2000.0</param> + <param name="expression"><![CDATA[ doubleValue < doubles.double || doubleValue < doubles.double2]]> + </param> + <message>expression.too.big##${doubles.double}##${doubles.double2}</message> + </field-validator> + </field> + + <field name="stringValue"> + <field-validator type="fieldexpressionwithparams"> + <param name="stringParams">string:1000</param> + <param name="expression"><![CDATA[ stringValue.equals(strings.string)]]> + </param> + <message>expression.stringNotValue##${strings.string}</message> + </field-validator> + <field-validator type="fieldexpressionwithparams"> + <param name="stringParams">string:1000|string2:3000</param> + <param name="expression"><![CDATA[ stringValue.equals(strings.string) || stringValue.equals(strings.string2)]]> + </param> + <message>expression.stringNotValue##${strings.string}##${strings.string2}</message> + </field-validator> + </field> + + + + +</validators> \ No newline at end of file Property changes on: trunk/nuiton-validator/src/test/resources/org/nuiton/validator/xwork2/field/FieldExpressionBean-error-validation.xml ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/nuiton-validator/src/test/resources/org/nuiton/validator/xwork2/field/ValidatorBean-error-validation.xml (from rev 2010, trunk/nuiton-validator/src/test/resources/org/nuiton/validator/field/ValidatorBean-error-validation.xml) =================================================================== --- trunk/nuiton-validator/src/test/resources/org/nuiton/validator/xwork2/field/ValidatorBean-error-validation.xml (rev 0) +++ trunk/nuiton-validator/src/test/resources/org/nuiton/validator/xwork2/field/ValidatorBean-error-validation.xml 2011-01-17 18:24:10 UTC (rev 2013) @@ -0,0 +1,179 @@ +<!-- + #%L + Nuiton Utils :: Nuiton Validator + + $Id$ + $HeadURL$ + %% + Copyright (C) 2011 CodeLutin, Tony Chemit + %% + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Lesser Public License for more details. + + You should have received a copy of the GNU General Lesser Public + License along with this program. If not, see + <http://www.gnu.org/licenses/lgpl-3.0.html>. + #L% + --> +<!DOCTYPE validators PUBLIC + "-//OpenSymphony Group//XWork Validator 1.0.2//EN" + "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> +<validators> + + <field name="stringValue"> + <field-validator type="requiredstring" short-circuit="true"> + <message>stringValue.required</message> + </field-validator> + </field> + + <field name="existingFile"> + <field-validator type="requiredFile" short-circuit="true"> + <message>existingFile.required</message> + </field-validator> + <field-validator type="existingFile" short-circuit="true"> + <message>existingFile.not.exist</message> + </field-validator> + </field> + + <field name="notExistingFile"> + <field-validator type="requiredFile" short-circuit="true"> + <message>notExistingFile.required</message> + </field-validator> + <field-validator type="notExistingFile" short-circuit="true"> + <message>notExistingFile.exist</message> + </field-validator> + </field> + + <field name="existingDirectory"> + <field-validator type="requiredFile" short-circuit="true"> + <message>existingDirectory.required</message> + </field-validator> + + <field-validator type="existingDirectory" short-circuit="true"> + <message>existingDirectory.not.exist</message> + </field-validator> + </field> + + <field name="notExistingDirectory"> + <field-validator type="requiredFile" short-circuit="true"> + <message>notExistingDirectory.required</message> + </field-validator> + + <field-validator type="notExistingDirectory" short-circuit="true"> + <message>notExistingDirectory.exist</message> + </field-validator> + </field> + + <field name="entries"> + + <field-validator type="collectionUniqueKey"> + <param name="keys">intValue</param> + <message>collectionUniqueKey.one.failed</message> + </field-validator> + <field-validator type="collectionUniqueKey"> + <param name="keys">stringValue</param> + <message>collectionUniqueKey.two.failed</message> + </field-validator> + <field-validator type="collectionUniqueKey"> + <param name="keys">intValue,stringValue</param> + <message>collectionUniqueKey.three.failed</message> + </field-validator> + <field-validator type="collectionUniqueKey"> + <param name="keys">intValue,stringValue,stringValue2</param> + <message>collectionUniqueKey.four.failed</message> + </field-validator> + <field-validator type="collectionUniqueKey"> + <param name="keys">stringValue</param> + <param name="againstProperty">entry</param> + <message>collectionUniqueKey.five.failed</message> + </field-validator> + + <field-validator type="collectionFieldExpression"> + <param name="mode">AT_LEAST_ONE</param> + <param name="expression"><![CDATA[ intValue == 0 && stringValue == "stringValue" ]]> + </param> + <message>collectionFieldExpression.atLeastOne</message> + </field-validator> + <field-validator type="collectionFieldExpression"> + <param name="mode">EXACTLY_ONE</param> + <param name="expression"><![CDATA[ intValue == 0 && stringValue == "stringValue" ]]> + </param> + <message>collectionFieldExpression.exactlyOne</message> + </field-validator> + <field-validator type="collectionFieldExpression"> + <param name="mode">ALL</param> + <param name="expression"><![CDATA[ intValue == 0 && stringValue == "stringValue" ]]> + </param> + <message>collectionFieldExpression.all</message> + </field-validator> + <field-validator type="collectionFieldExpression"> + <param name="mode">NONE</param> + <param name="expression"><![CDATA[ intValue == 0 && stringValue == "stringValue" ]]> + </param> + <message>collectionFieldExpression.none</message> + </field-validator> + + <!-- useContext --> + <field-validator type="collectionFieldExpression"> + <param name="mode">AT_LEAST_ONE</param> + <param name="useSensitiveContext">true</param> + <param name="expression"><![CDATA[ size > 1 && previous != null && previous.intValue < current.intValue]]></param> + <message>collectionFieldExpression.atLeastOne.useSensitiveContext</message> + </field-validator> + <field-validator type="collectionFieldExpression"> + <param name="mode">EXACTLY_ONE</param> + <param name="useSensitiveContext">true</param> + <param name="expression"><![CDATA[ size > 1 && previous != null && ( previous.intValue == 2 + current.intValue || current.intValue == 2 + previous.intValue) ]]></param> + <message>collectionFieldExpression.exactlyOne.useSensitiveContext</message> + </field-validator> + <field-validator type="collectionFieldExpression"> + <param name="mode">ALL</param> + <param name="useSensitiveContext">true</param> + <param name="expression"><![CDATA[ size > 1 && (previous == null || previous.intValue < current.intValue)]]></param> + <message>collectionFieldExpression.all.useSensitiveContext</message> + </field-validator> + <field-validator type="collectionFieldExpression"> + <param name="mode">NONE</param> + <param name="useSensitiveContext">true</param> + <param name="expression"><![CDATA[ size > 1 && previous != null && ( current.intValue == 2 + previous.intValue)]]></param> + <message>collectionFieldExpression.none.useSensitiveContext</message> + </field-validator> + + <!-- useFirst --> + <field-validator type="collectionFieldExpression"> + <param name="mode">ALL</param> + <param name="useSensitiveContext">true</param> + <param name="expressionForFirst"><![CDATA[ current.intValue == 0]]></param> + <param name="expression"><![CDATA[ previous == null || previous.intValue < current.intValue]]></param> + <message>collectionFieldExpression.all.useFirst</message> + </field-validator> + + <!-- useLast --> + <field-validator type="collectionFieldExpression"> + <param name="mode">ALL</param> + <param name="useSensitiveContext">true</param> + <param name="expressionForLast"><![CDATA[ current.intValue > 0]]></param> + <param name="expression"><![CDATA[ previous == null || previous.intValue < current.intValue]]></param> + <message>collectionFieldExpression.all.useLast</message> + </field-validator> + + <!-- useFirstAndLast --> + <field-validator type="collectionFieldExpression"> + <param name="mode">ALL</param> + <param name="useSensitiveContext">true</param> + <param name="expressionForFirst"><![CDATA[ current.intValue == 0]]></param> + <param name="expressionForLast"><![CDATA[ current.intValue > 0]]></param> + <param name="expression"><![CDATA[ previous == null || previous.intValue < current.intValue]]></param> + <message>collectionFieldExpression.all.useFirstAndLast</message> + </field-validator> + + </field> + +</validators> \ No newline at end of file Property changes on: trunk/nuiton-validator/src/test/resources/org/nuiton/validator/xwork2/field/ValidatorBean-error-validation.xml ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/nuiton-validator/src/test/resources/validators.xml =================================================================== --- trunk/nuiton-validator/src/test/resources/validators.xml 2011-01-17 18:01:10 UTC (rev 2012) +++ trunk/nuiton-validator/src/test/resources/validators.xml 2011-01-17 18:24:10 UTC (rev 2013) @@ -24,7 +24,6 @@ #L% --> - <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator Config 1.0//EN" "http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd"> @@ -49,13 +48,13 @@ class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/> <!-- default nuiton-validator validators --> - <validator name="collectionFieldExpression" class="org.nuiton.validator.field.CollectionFieldExpressionValidator"/> - <validator name="collectionUniqueKey" class="org.nuiton.validator.field.CollectionUniqueKeyValidator"/> - <validator name="requiredFile" class="org.nuiton.validator.field.RequiredFileFieldValidator"/> - <validator name="existingFile" class="org.nuiton.validator.field.ExistingFileFieldValidator"/> - <validator name="notExistingFile" class="org.nuiton.validator.field.NotExistingFileFieldValidator"/> - <validator name="existingDirectory" class="org.nuiton.validator.field.ExistingDirectoryFieldValidator"/> - <validator name="notExistingDirectory" class="org.nuiton.validator.field.NotExistingDirectoryFieldValidator"/> - <validator name="fieldexpressionwithparams" class="org.nuiton.validator.field.FieldExpressionWithParamsValidator"/> + <validator name="collectionFieldExpression" class="org.nuiton.validator.xwork2.field.CollectionFieldExpressionValidator"/> + <validator name="collectionUniqueKey" class="org.nuiton.validator.xwork2.field.CollectionUniqueKeyValidator"/> + <validator name="requiredFile" class="org.nuiton.validator.xwork2.field.RequiredFileFieldValidator"/> + <validator name="existingFile" class="org.nuiton.validator.xwork2.field.ExistingFileFieldValidator"/> + <validator name="notExistingFile" class="org.nuiton.validator.xwork2.field.NotExistingFileFieldValidator"/> + <validator name="existingDirectory" class="org.nuiton.validator.xwork2.field.ExistingDirectoryFieldValidator"/> + <validator name="notExistingDirectory" class="org.nuiton.validator.xwork2.field.NotExistingDirectoryFieldValidator"/> + <validator name="fieldexpressionwithparams" class="org.nuiton.validator.xwork2.field.FieldExpressionWithParamsValidator"/> </validators> \ No newline at end of file