Author: tchemit Date: 2009-02-04 20:17:03 +0000 (Wed, 04 Feb 2009) New Revision: 1207 Added: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/AbstractValidatorTest.java jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/BeanValidatorTest.java jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/ValidatorBean.java jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/AbstractFieldValidatorTest.java jaxx/trunk/jaxx-runtime-validator/src/test/resources/jaxx/runtime/validator/ValidatorBean-validation.xml jaxx/trunk/jaxx-runtime-validator/src/test/resources/validators.xml Removed: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/AbstractValidatorTest.java jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/ValidatorBean.java jaxx/trunk/jaxx-runtime-validator/src/test/resources/jaxx/runtime/validator/field/ Modified: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/CollectionFieldExpressionValidatorTest.java jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/CollectionUniqueKeyValidatorTest.java jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/ExistingDirectoryFieldValidatorTest.java jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/ExistingFileFieldValidatorTest.java jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/NotExistingDirectoryFieldValidatorTest.java jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/NotExistingFileFieldValidatorTest.java jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/RequiredFileFieldValidatorTest.java Log: refactor tests and should do more tests on BeanValidator... Added: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/AbstractValidatorTest.java =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/AbstractValidatorTest.java (rev 0) +++ jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/AbstractValidatorTest.java 2009-02-04 20:17:03 UTC (rev 1207) @@ -0,0 +1,49 @@ +package jaxx.runtime.validator; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.Assert; +import org.junit.BeforeClass; + +import java.io.File; + +/** + * Abstract class of this module. + * + * @author chemit + */ +public abstract class AbstractValidatorTest extends Assert { + + /** to use log facility, just put in your code: log.info(\"...\"); */ + static private final Log log = LogFactory.getLog(AbstractValidatorTest.class); + + static protected BeanValidator<ValidatorBean> validator; + + static protected File basedir; + + protected ValidatorBean bean; + + @BeforeClass + public static void initValidator() throws Exception { + + String b = System.getenv("basedir"); + if (b == null) { + b = new File("").getAbsolutePath(); + } + basedir = new File(b); + validator = new BeanValidator<ValidatorBean>(ValidatorBean.class, null); + } + + protected void assertFieldInError(String fieldName, String error, boolean required) { + ValidatorField<ValidatorBean> field = validator.getField(fieldName); + + for (String o : field.getErrors()) { + if (o.equals(error)) { + assertTrue(required); + return; + } + } + // error was not found + assertFalse(required); + } +} \ No newline at end of file Added: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/BeanValidatorTest.java =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/BeanValidatorTest.java (rev 0) +++ jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/BeanValidatorTest.java 2009-02-04 20:17:03 UTC (rev 1207) @@ -0,0 +1,33 @@ +package jaxx.runtime.validator; + +import org.junit.Test; + +/** + * Une classe pour tester {@link BeanValidator} + * + * @author chemit + */ +public class BeanValidatorTest extends AbstractValidatorTest { + + //TODO do other tests :) + + @Test + public void testSetBean() { + bean = new ValidatorBean(); + + assertNull(bean.getStringValue()); + + // no bean on validator + assertNull(validator.getBean()); + assertTrue(validator.isValid()); + + // add bean to validator + validator.setBean(bean); + assertFieldInError("stringValue", "stringValue.required", true); + + validator.setBean(null); + // validator is valid, no more errors should be in validator + assertTrue(validator.isValid()); + } + +} Copied: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/ValidatorBean.java (from rev 1198, jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/ValidatorBean.java) =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/ValidatorBean.java (rev 0) +++ jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/ValidatorBean.java 2009-02-04 20:17:03 UTC (rev 1207) @@ -0,0 +1,145 @@ +package jaxx.runtime.validator; + +import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeSupport; +import java.io.File; +import java.util.Collection; + +public class ValidatorBean { + + public static class ValidatorBeanEntry { + + protected int intValue; + protected String stringValue; + protected String stringValue2; + + public ValidatorBeanEntry(int intValue, String stringValue) { + this.intValue = intValue; + this.stringValue = stringValue; + } + + public ValidatorBeanEntry(int intValue, String stringValue, String stringValue2) { + this.intValue = intValue; + this.stringValue = stringValue; + this.stringValue2 = stringValue2; + } + + public int getIntValue() { + return intValue; + } + + public void setIntValue(int intValue) { + this.intValue = intValue; + } + + public String getStringValue() { + return stringValue; + } + + public void setStringValue(String stringValue) { + this.stringValue = stringValue; + } + + public String getStringValue2() { + return stringValue2; + } + + public void setStringValue2(String stringValue2) { + this.stringValue2 = stringValue2; + } + } + + protected File existingFile; + protected File notExistingFile; + + protected File existingDirectory; + protected File notExistingDirectory; + + protected Collection<ValidatorBeanEntry> entries; + + protected String stringValue; + + PropertyChangeSupport p; + + public ValidatorBean() { + p = new PropertyChangeSupport(this); + } + + public void addPropertyChangeListener(PropertyChangeListener listener) { + p.addPropertyChangeListener(listener); + } + + public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) { + p.addPropertyChangeListener(propertyName, listener); + } + + public void removePropertyChangeListener(PropertyChangeListener listener) { + p.removePropertyChangeListener(listener); + } + + public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) { + p.removePropertyChangeListener(propertyName, listener); + } + + public String getStringValue() { + return stringValue; + } + + public File getExistingFile() { + return existingFile; + } + + public File getNotExistingFile() { + return notExistingFile; + } + + public File getExistingDirectory() { + return existingDirectory; + } + + public File getNotExistingDirectory() { + return notExistingDirectory; + } + + public Collection<ValidatorBeanEntry> getEntries() { + return entries; + } + + public void setStringValue(String stringValue) { + String old = this.stringValue; + this.stringValue = stringValue; + p.firePropertyChange("stringValue", old, existingFile); + } + + public void setExistingFile(File existingFile) { + File old = this.existingFile; + this.existingFile = existingFile; + p.firePropertyChange("existingFile", old, existingFile); + } + + public void setNotExistingFile(File notExistingFile) { + File old = this.notExistingFile; + this.notExistingFile = notExistingFile; + p.firePropertyChange("notExistingFile", old, notExistingFile); + } + + public void setExistingDirectory(File existingDirectory) { + File old = this.existingDirectory; + this.existingDirectory = existingDirectory; + p.firePropertyChange("existingDirectory", old, existingDirectory); + } + + public void setNotExistingDirectory(File notExistingDirectory) { + File old = this.notExistingDirectory; + this.notExistingDirectory = notExistingDirectory; + p.firePropertyChange("notExistingDirectory", old, notExistingDirectory); + } + + public void setEntries(Collection<ValidatorBeanEntry> entries) { + this.entries = entries; + // set null oldValue to always fire event + // otherwise it could been not sent... + p.firePropertyChange("entries", null, entries); + } + +} \ No newline at end of file Property changes on: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/ValidatorBean.java ___________________________________________________________________ Name: svn:mergeinfo + Copied: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/AbstractFieldValidatorTest.java (from rev 1198, jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/AbstractValidatorTest.java) =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/AbstractFieldValidatorTest.java (rev 0) +++ jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/AbstractFieldValidatorTest.java 2009-02-04 20:17:03 UTC (rev 1207) @@ -0,0 +1,41 @@ +package jaxx.runtime.validator.field; + +import jaxx.runtime.validator.AbstractValidatorTest; +import jaxx.runtime.validator.ValidatorBean; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.After; +import org.junit.Before; + +/** + * Abstract class to test a specific validator. + * <p/> + * To implements a test on a new validator, just extends this class + * and implements the method {@link #testValidator()}. + * + * @author chemit + */ +public abstract class AbstractFieldValidatorTest extends AbstractValidatorTest { + + /** to use log facility, just put in your code: log.info(\"...\"); */ + static private final Log log = LogFactory.getLog(AbstractFieldValidatorTest.class); + + /** + * the moethod to implements testing the given validator on the given bean. + * + * @throws Exception if any error ? + */ + public abstract void testValidator() throws Exception; + + @Before + public void setUp() throws Exception { + log.info("start test " + getClass().getSimpleName()); + validator.setBean(bean = new ValidatorBean()); + } + + @After + public void tearDown() { + validator.setBean(null); + } + +} \ No newline at end of file Deleted: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/AbstractValidatorTest.java =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/AbstractValidatorTest.java 2009-02-04 20:16:34 UTC (rev 1206) +++ jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/AbstractValidatorTest.java 2009-02-04 20:17:03 UTC (rev 1207) @@ -1,74 +0,0 @@ -package jaxx.runtime.validator.field; - -import jaxx.runtime.validator.BeanValidator; -import jaxx.runtime.validator.ValidatorField; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.BeforeClass; - -import java.io.File; - -/** - * Abstract class to test a specific validator. - * <p/> - * To implements a test on a new validator, just extends this class - * and implements the method {@link #testValidator()}. - * - * @author chemit - */ -public abstract class AbstractValidatorTest extends Assert { - - /** to use log facility, just put in your code: log.info(\"...\"); */ - static private final Log log = LogFactory.getLog(AbstractValidatorTest.class); - - static protected BeanValidator<ValidatorBean> validator; - - static protected File basedir; - - protected ValidatorBean bean; - - /** - * the moethod to implements testing the given validator on the given bean. - * - * @throws Exception if any error ? - */ - public abstract void testValidator() throws Exception; - - @BeforeClass - public static void initValidator() throws Exception { - - String b = System.getenv("basedir"); - if (b == null) { - b = new File("").getAbsolutePath(); - } - basedir = new File(b); - validator = new BeanValidator<ValidatorBean>(ValidatorBean.class, null); - } - - @Before - public void setUp() throws Exception { - log.info("start test " + getClass().getSimpleName()); - validator.setBean(bean = new ValidatorBean()); - } - - @After - public void tearDown() { - validator.setBean(null); - } - - protected void assertFieldInError(String fieldName, String error, boolean required) { - ValidatorField<ValidatorBean> field = validator.getField(fieldName); - - for (String o : field.getErrors()) { - if (o.equals(error)) { - assertTrue(required); - return; - } - } - // error was not found - assertFalse(required); - } -} \ No newline at end of file Modified: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/CollectionFieldExpressionValidatorTest.java =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/CollectionFieldExpressionValidatorTest.java 2009-02-04 20:16:34 UTC (rev 1206) +++ jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/CollectionFieldExpressionValidatorTest.java 2009-02-04 20:17:03 UTC (rev 1207) @@ -1,11 +1,11 @@ package jaxx.runtime.validator.field; -import jaxx.runtime.validator.field.ValidatorBean.ValidatorBeanEntry; +import jaxx.runtime.validator.ValidatorBean.ValidatorBeanEntry; import java.util.Arrays; /** @author chemit */ -public class CollectionFieldExpressionValidatorTest extends AbstractValidatorTest { +public class CollectionFieldExpressionValidatorTest extends AbstractFieldValidatorTest { static protected ValidatorBeanEntry beanEntry = new ValidatorBeanEntry(0, "stringValue"); static protected ValidatorBeanEntry beanEntry2 = new ValidatorBeanEntry(0, "fake"); Modified: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/CollectionUniqueKeyValidatorTest.java =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/CollectionUniqueKeyValidatorTest.java 2009-02-04 20:16:34 UTC (rev 1206) +++ jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/CollectionUniqueKeyValidatorTest.java 2009-02-04 20:17:03 UTC (rev 1207) @@ -1,11 +1,11 @@ package jaxx.runtime.validator.field; -import jaxx.runtime.validator.field.ValidatorBean.ValidatorBeanEntry; +import jaxx.runtime.validator.ValidatorBean.ValidatorBeanEntry; import java.util.Arrays; /** @author chemit */ -public class CollectionUniqueKeyValidatorTest extends AbstractValidatorTest { +public class CollectionUniqueKeyValidatorTest extends AbstractFieldValidatorTest { static protected ValidatorBeanEntry beanEntry = new ValidatorBeanEntry(0, "stringValue"); static protected ValidatorBeanEntry beanEntry2 = new ValidatorBeanEntry(0, "fake"); Modified: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/ExistingDirectoryFieldValidatorTest.java =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/ExistingDirectoryFieldValidatorTest.java 2009-02-04 20:16:34 UTC (rev 1206) +++ jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/ExistingDirectoryFieldValidatorTest.java 2009-02-04 20:17:03 UTC (rev 1207) @@ -3,7 +3,7 @@ import java.io.File; /** @author chemit */ -public class ExistingDirectoryFieldValidatorTest extends AbstractValidatorTest { +public class ExistingDirectoryFieldValidatorTest extends AbstractFieldValidatorTest { @org.junit.Test @Override Modified: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/ExistingFileFieldValidatorTest.java =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/ExistingFileFieldValidatorTest.java 2009-02-04 20:16:34 UTC (rev 1206) +++ jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/ExistingFileFieldValidatorTest.java 2009-02-04 20:17:03 UTC (rev 1207) @@ -3,7 +3,7 @@ import java.io.File; /** @author chemit */ -public class ExistingFileFieldValidatorTest extends AbstractValidatorTest { +public class ExistingFileFieldValidatorTest extends AbstractFieldValidatorTest { @org.junit.Test @Override Modified: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/NotExistingDirectoryFieldValidatorTest.java =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/NotExistingDirectoryFieldValidatorTest.java 2009-02-04 20:16:34 UTC (rev 1206) +++ jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/NotExistingDirectoryFieldValidatorTest.java 2009-02-04 20:17:03 UTC (rev 1207) @@ -3,7 +3,7 @@ import java.io.File; /** @author chemit */ -public class NotExistingDirectoryFieldValidatorTest extends AbstractValidatorTest { +public class NotExistingDirectoryFieldValidatorTest extends AbstractFieldValidatorTest { @org.junit.Test @Override Modified: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/NotExistingFileFieldValidatorTest.java =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/NotExistingFileFieldValidatorTest.java 2009-02-04 20:16:34 UTC (rev 1206) +++ jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/NotExistingFileFieldValidatorTest.java 2009-02-04 20:17:03 UTC (rev 1207) @@ -3,7 +3,7 @@ import java.io.File; /** @author chemit */ -public class NotExistingFileFieldValidatorTest extends AbstractValidatorTest { +public class NotExistingFileFieldValidatorTest extends AbstractFieldValidatorTest { @org.junit.Test Modified: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/RequiredFileFieldValidatorTest.java =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/RequiredFileFieldValidatorTest.java 2009-02-04 20:16:34 UTC (rev 1206) +++ jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/RequiredFileFieldValidatorTest.java 2009-02-04 20:17:03 UTC (rev 1207) @@ -3,7 +3,7 @@ import java.io.File; /** @author chemit */ -public class RequiredFileFieldValidatorTest extends AbstractValidatorTest { +public class RequiredFileFieldValidatorTest extends AbstractFieldValidatorTest { @org.junit.Test @Override Deleted: jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/ValidatorBean.java =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/ValidatorBean.java 2009-02-04 20:16:34 UTC (rev 1206) +++ jaxx/trunk/jaxx-runtime-validator/src/test/java/jaxx/runtime/validator/field/ValidatorBean.java 2009-02-04 20:17:03 UTC (rev 1207) @@ -1,134 +0,0 @@ -package jaxx.runtime.validator.field; - -import java.beans.PropertyChangeListener; -import java.beans.PropertyChangeSupport; -import java.io.File; -import java.util.Collection; - -public class ValidatorBean { - - public static class ValidatorBeanEntry { - - protected int intValue; - protected String stringValue; - protected String stringValue2; - - public ValidatorBeanEntry(int intValue, String stringValue) { - this.intValue = intValue; - this.stringValue = stringValue; - } - - public ValidatorBeanEntry(int intValue, String stringValue, String stringValue2) { - this.intValue = intValue; - this.stringValue = stringValue; - this.stringValue2 = stringValue2; - } - - public int getIntValue() { - return intValue; - } - - public void setIntValue(int intValue) { - this.intValue = intValue; - } - - public String getStringValue() { - return stringValue; - } - - public void setStringValue(String stringValue) { - this.stringValue = stringValue; - } - - public String getStringValue2() { - return stringValue2; - } - - public void setStringValue2(String stringValue2) { - this.stringValue2 = stringValue2; - } - } - - protected File existingFile; - protected File notExistingFile; - - protected File existingDirectory; - protected File notExistingDirectory; - - protected Collection<ValidatorBeanEntry> entries; - - PropertyChangeSupport p; - - public ValidatorBean() { - p = new PropertyChangeSupport(this); - } - - public void addPropertyChangeListener(PropertyChangeListener listener) { - p.addPropertyChangeListener(listener); - } - - public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) { - p.addPropertyChangeListener(propertyName, listener); - } - - public void removePropertyChangeListener(PropertyChangeListener listener) { - p.removePropertyChangeListener(listener); - } - - public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) { - p.removePropertyChangeListener(propertyName, listener); - } - - - public File getExistingFile() { - return existingFile; - } - - public File getNotExistingFile() { - return notExistingFile; - } - - public File getExistingDirectory() { - return existingDirectory; - } - - public File getNotExistingDirectory() { - return notExistingDirectory; - } - - public Collection<ValidatorBeanEntry> getEntries() { - return entries; - } - - public void setExistingFile(File existingFile) { - File old = this.existingFile; - this.existingFile = existingFile; - p.firePropertyChange("existingFile", old, existingFile); - } - - public void setNotExistingFile(File notExistingFile) { - File old = this.notExistingFile; - this.notExistingFile = notExistingFile; - p.firePropertyChange("notExistingFile", old, notExistingFile); - } - - public void setExistingDirectory(File existingDirectory) { - File old = this.existingDirectory; - this.existingDirectory = existingDirectory; - p.firePropertyChange("existingDirectory", old, existingDirectory); - } - - public void setNotExistingDirectory(File notExistingDirectory) { - File old = this.notExistingDirectory; - this.notExistingDirectory = notExistingDirectory; - p.firePropertyChange("notExistingDirectory", old, notExistingDirectory); - } - - public void setEntries(Collection<ValidatorBeanEntry> entries) { - this.entries = entries; - // set null oldValue to always fire event - // otherwise it could been not sent... - p.firePropertyChange("entries", null, entries); - } - -} \ No newline at end of file Copied: jaxx/trunk/jaxx-runtime-validator/src/test/resources/jaxx/runtime/validator/ValidatorBean-validation.xml (from rev 1198, jaxx/trunk/jaxx-runtime-validator/src/test/resources/jaxx/runtime/validator/field/ValidatorBean-validation.xml) =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/resources/jaxx/runtime/validator/ValidatorBean-validation.xml (rev 0) +++ jaxx/trunk/jaxx-runtime-validator/src/test/resources/jaxx/runtime/validator/ValidatorBean-validation.xml 2009-02-04 20:17:03 UTC (rev 1207) @@ -0,0 +1,90 @@ +<!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" validatorScope="ERROR"> + <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="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> + + <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> + +</validators> \ No newline at end of file Property changes on: jaxx/trunk/jaxx-runtime-validator/src/test/resources/jaxx/runtime/validator/ValidatorBean-validation.xml ___________________________________________________________________ Name: svn:mergeinfo + Added: jaxx/trunk/jaxx-runtime-validator/src/test/resources/validators.xml =================================================================== --- jaxx/trunk/jaxx-runtime-validator/src/test/resources/validators.xml (rev 0) +++ jaxx/trunk/jaxx-runtime-validator/src/test/resources/validators.xml 2009-02-04 20:17:03 UTC (rev 1207) @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE validators PUBLIC + "-//OpenSymphony Group//XWork Validator Config 1.0//EN" + "http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd"> +<validators> + <!-- default validators from XWork framework --> + <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/> + <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/> + <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/> + <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/> + <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/> + <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/> + <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/> + <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/> + <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/> + <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/> + <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/> + <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/> + <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/> + <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/> + <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/> + <validator name="conditionalvisitor" + class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/> + + <!-- jaxx validators --> + <validator name="collectionFieldExpression" + class="jaxx.runtime.validator.field.CollectionFieldExpressionValidator"/> + <validator name="collectionUniqueKey" class="jaxx.runtime.validator.field.CollectionUniqueKeyValidator"/> + <validator name="requiredFile" class="jaxx.runtime.validator.field.RequiredFileFieldValidator"/> + <validator name="existingFile" class="jaxx.runtime.validator.field.ExistingFileFieldValidator"/> + <validator name="notExistingFile" class="jaxx.runtime.validator.field.NotExistingFileFieldValidator"/> + <validator name="existingDirectory" class="jaxx.runtime.validator.field.ExistingDirectoryFieldValidator"/> + <validator name="notExistingDirectory" class="jaxx.runtime.validator.field.NotExistingDirectoryFieldValidator"/> + +</validators> \ No newline at end of file