Author: tchemit Date: 2011-01-23 18:28:26 +0100 (Sun, 23 Jan 2011) New Revision: 2033 Url: http://nuiton.org/repositories/revision/nuiton-utils/2033 Log: Update to mavenpom 2.4.2 Add getEffectiveFields method in validator Add a abstract validator detector tests (reusable from outside) Added: trunk/nuiton-validator/src/test/java/org/nuiton/validator/AbstractValidatorDetectorTest.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/model/ModelValidatorDetectorTestImpl.java Modified: trunk/nuiton-utils/src/test/java/org/nuiton/util/TestHelper.java trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidator.java trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidatorFactory.java trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidatorProvider.java trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/XWork2NuitonValidator.java trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/XWork2NuitonValidatorProvider.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/ValidatorTestHelper.java trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/XWork2NuitonValidatorProviderTest.java trunk/nuiton-validator/src/test/resources/org/nuiton/validator/model/Pet-context-info-validation.xml trunk/nuiton-validator/src/test/resources/org/nuiton/validator/model/Pet-error-validation.xml trunk/pom.xml Property changes on: trunk/nuiton-utils/src/test/java/org/nuiton/util/TestHelper.java ___________________________________________________________________ Modified: svn:keywords - Author Date Id Revision + Author Date Id Revision HeadURL Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidator.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidator.java 2011-01-22 13:32:05 UTC (rev 2032) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidator.java 2011-01-23 17:28:26 UTC (rev 2033) @@ -62,4 +62,26 @@ * @return the set of effective scopes of the validator */ Set<NuitonValidatorScope> getEffectiveScopes(); + + /** + * Obtains the set of effective fields for the validator : means the very + * fields validated by the validator. + * + * This is a sub set of fields of the object to validate. + * + * @return the set of effective fields of the validator + */ + Set<String> getEffectiveFields(); + + /** + * Obtains the set of effective fields for the validator for the given scope + * : means the very fields validated by the validator. + * + * This is a subset of effective fields of the validator. + * + * @param scope given scope to use + * @return the set of effective fields of the validator for the given scope + */ + Set<String> getEffectiveFields(NuitonValidatorScope scope); + } Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidatorFactory.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidatorFactory.java 2011-01-22 13:32:05 UTC (rev 2032) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidatorFactory.java 2011-01-23 17:28:26 UTC (rev 2033) @@ -112,6 +112,25 @@ return providers; } + public static NuitonValidatorProvider getProvider(String providerName) throws IllegalArgumentException, NullPointerException { + + if (providerName == null) { + + // take the default validator provider name + throw new NullPointerException( + "providerName parameter can not be null."); + } + + NuitonValidatorProvider provider = getProviders().get(providerName); + if (provider == null) { + throw new IllegalArgumentException( + "Could not find provider named '" + + defaultProviderName + "', existing providers are : " + + getProviders().keySet()); + } + return provider; + } + public static String getDefaultProviderName() throws IllegalStateException { if (defaultProviderName == null) { @@ -144,25 +163,6 @@ NuitonValidatorFactory.defaultProviderName = defaultProviderName; } - protected static NuitonValidatorProvider getProvider(String providerName) throws IllegalArgumentException, NullPointerException { - - if (providerName == null) { - - // take the default validator provider name - throw new NullPointerException( - "providerName parameter can not be null."); - } - - NuitonValidatorProvider provider = getProviders().get(providerName); - if (provider == null) { - throw new IllegalArgumentException( - "Could not find provider named '" + - defaultProviderName + "', existing providers are : " + - getProviders().keySet()); - } - return provider; - } - protected NuitonValidatorFactory() { // avoid instanciation of this factory } Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidatorProvider.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidatorProvider.java 2011-01-22 13:32:05 UTC (rev 2032) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidatorProvider.java 2011-01-23 17:28:26 UTC (rev 2033) @@ -89,11 +89,10 @@ */ <O> NuitonValidator<O> newValidator(NuitonValidatorModel<O> model); - /** * Detects in the given directory validators. * - * @param sourceRoot rott directory where to seek for validators + * @param sourceRoot root directory where to seek for validators * @param contextFilter the pattern of context to seek * @param scopes scopes to seek (if none given, will seek for all scopes) * @param types types of class to seek Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/XWork2NuitonValidator.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/XWork2NuitonValidator.java 2011-01-22 13:32:05 UTC (rev 2032) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/XWork2NuitonValidator.java 2011-01-23 17:28:26 UTC (rev 2033) @@ -111,6 +111,25 @@ } @Override + public Set<String> getEffectiveFields() { + Set<String> result = new HashSet<String>(); + for (XWork2ScopeValidator<O> scopeValidator : validators.values()) { + result.addAll(scopeValidator.getFieldNames()); + } + return result; + } + + @Override + public Set<String> getEffectiveFields(NuitonValidatorScope scope) { + Set<String> result = new HashSet<String>(); + XWork2ScopeValidator<O> scopeValidator = validators.get(scope); + if (scopeValidator != null) { + result.addAll(scopeValidator.getFieldNames()); + } + return result; + } + + @Override public NuitonValidatorModel<O> getModel() { return model; } Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/XWork2NuitonValidatorProvider.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/XWork2NuitonValidatorProvider.java 2011-01-22 13:32:05 UTC (rev 2032) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/xwork2/XWork2NuitonValidatorProvider.java 2011-01-23 17:28:26 UTC (rev 2033) @@ -96,6 +96,8 @@ Class<?>... types) { if (scopes == null) { + + // use all scopes scopes = NuitonValidatorScope.values(); } @@ -108,7 +110,7 @@ // pas de repertoire adequate if (log.isDebugEnabled()) { - log.debug("skip non existing directory " + dir); + log.debug("skip none existing directory " + dir); } continue; } Added: trunk/nuiton-validator/src/test/java/org/nuiton/validator/AbstractValidatorDetectorTest.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/AbstractValidatorDetectorTest.java (rev 0) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/AbstractValidatorDetectorTest.java 2011-01-23 17:28:26 UTC (rev 2033) @@ -0,0 +1,56 @@ +package org.nuiton.validator; + +import org.junit.After; +import org.junit.Before; + +import java.io.File; +import java.util.SortedSet; +import java.util.regex.Pattern; + +/** + * Abstract test to detects and test your validators. + * + * @author tchemit <chemit@codelutin.com> + * @since 2.0 + */ +public abstract class AbstractValidatorDetectorTest { + + protected final String providerName; + + protected File rootDirectory; + + public AbstractValidatorDetectorTest(String providerName) { + this.providerName = providerName; + } + + protected NuitonValidatorProvider provider; + + protected abstract File getRootDirectory(File basedir); + + @Before + public void setUp() throws Exception { + provider = NuitonValidatorFactory.getProvider(providerName); + rootDirectory = getRootDirectory(ValidatorTestHelper.getBasedir()); + } + + @After + public void tearDown() throws Exception { + provider = null; + } + + protected SortedSet<NuitonValidator<?>> detectValidators(Class<?>... types) { + return detectValidators(null, NuitonValidatorScope.values(), types); + } + + protected SortedSet<NuitonValidator<?>> detectValidators(Pattern context, Class<?>... types) { + return detectValidators(context, NuitonValidatorScope.values(), types); + } + + protected SortedSet<NuitonValidator<?>> detectValidators(Pattern context, NuitonValidatorScope[] scopes, Class<?>... types) { + SortedSet<NuitonValidator<?>> validators = + provider.detectValidators(rootDirectory, context, scopes, types); + return validators; + } + + +} Property changes on: trunk/nuiton-validator/src/test/java/org/nuiton/validator/AbstractValidatorDetectorTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/nuiton-validator/src/test/java/org/nuiton/validator/ValidatorTestHelper.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/ValidatorTestHelper.java 2011-01-22 13:32:05 UTC (rev 2032) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/ValidatorTestHelper.java 2011-01-23 17:28:26 UTC (rev 2033) @@ -30,6 +30,7 @@ import java.io.File; import java.util.List; +import java.util.Set; /** * Helper methods to test the validator api. @@ -51,6 +52,52 @@ return new File(basedirPath); } + public static void assertValidatorModel(NuitonValidator<?> validator, + String expectedContext, + Class<?> expectedType, + NuitonValidatorScope... expectedScopes) { + Assert.assertNotNull(validator); + NuitonValidatorModel<?> model = validator.getModel(); + Assert.assertNotNull(model); + Assert.assertEquals(expectedContext, model.getContext()); + Assert.assertEquals(expectedType, model.getType()); + Set<NuitonValidatorScope> scopes = model.getScopes(); + for (NuitonValidatorScope expectedScope : expectedScopes) { + Assert.assertTrue(scopes.contains(expectedScope)); + } + } + + public static void assertValidatorEffectiveScopes(NuitonValidator<?> validator, + NuitonValidatorScope... expectedScopes) { + Assert.assertNotNull(validator); + Set<NuitonValidatorScope> effectiveScopes = validator.getEffectiveScopes(); + Assert.assertEquals(expectedScopes.length, effectiveScopes.size()); + for (NuitonValidatorScope expectedScope : expectedScopes) { + Assert.assertTrue(effectiveScopes.contains(expectedScope)); + } + } + + public static void assertValidatorEffectiveFields(NuitonValidator<?> validator, + String... expectedFields) { + Assert.assertNotNull(validator); + Set<String> effectiveFields = validator.getEffectiveFields(); + Assert.assertEquals(expectedFields.length, effectiveFields.size()); + for (String expectedField : expectedFields) { + Assert.assertTrue(effectiveFields.contains(expectedField)); + } + } + + public static void assertValidatorEffectiveFields(NuitonValidator<?> validator, + NuitonValidatorScope scope, + String... expectedFields) { + Assert.assertNotNull(validator); + Set<String> effectiveFields = validator.getEffectiveFields(scope); + Assert.assertEquals(expectedFields.length, effectiveFields.size()); + for (String expectedField : expectedFields) { + Assert.assertTrue(effectiveFields.contains(expectedField)); + } + } + public static void testPerson(NuitonValidator<Person> validator) { Assert.assertNotNull(validator); Added: trunk/nuiton-validator/src/test/java/org/nuiton/validator/model/ModelValidatorDetectorTestImpl.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/model/ModelValidatorDetectorTestImpl.java (rev 0) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/model/ModelValidatorDetectorTestImpl.java 2011-01-23 17:28:26 UTC (rev 2033) @@ -0,0 +1,163 @@ +package org.nuiton.validator.model; + +import org.junit.Assert; +import org.junit.Test; +import org.nuiton.validator.AbstractValidatorDetectorTest; +import org.nuiton.validator.NuitonValidator; +import org.nuiton.validator.NuitonValidatorScope; +import org.nuiton.validator.ValidatorTestHelper; +import org.nuiton.validator.xwork2.XWork2NuitonValidatorProvider; + +import java.io.File; +import java.util.Iterator; +import java.util.SortedSet; +import java.util.regex.Pattern; + +/** + * Tests the validators defined for the test model. + * + * @author tchemit <chemit@codelutin.com> + * @since 2.0 + */ +public class ModelValidatorDetectorTestImpl extends AbstractValidatorDetectorTest { + + public static final String CONTEXT = "context"; + + public ModelValidatorDetectorTestImpl() { + super(XWork2NuitonValidatorProvider.PROVIDER_NAME); + } + + @Override + protected File getRootDirectory(File basedir) { + File testResourcesDir = new File(basedir, "src" + File.separator + "test" + File.separator + "resources"); + return testResourcesDir; + } + + @Test + public void detectAllValidators() { + SortedSet<NuitonValidator<?>> result; + NuitonValidator<?> validator; + Iterator<NuitonValidator<?>> iterator; + + // test with all context and all scopes : two validators (Person + Pet + Pet (context)) + + result = detectValidators(Person.class, Pet.class); + + Assert.assertNotNull(result); + Assert.assertEquals(3, result.size()); + + + iterator = result.iterator(); + validator = iterator.next(); + + ValidatorTestHelper.assertValidatorModel(validator, null, Person.class, NuitonValidatorScope.values()); + ValidatorTestHelper.assertValidatorEffectiveScopes(validator, NuitonValidatorScope.ERROR, NuitonValidatorScope.WARNING); + + validator = iterator.next(); + ValidatorTestHelper.assertValidatorModel(validator, null, Pet.class, NuitonValidatorScope.values()); + ValidatorTestHelper.assertValidatorEffectiveScopes(validator, NuitonValidatorScope.ERROR); + + validator = iterator.next(); + ValidatorTestHelper.assertValidatorModel(validator, CONTEXT, Pet.class, NuitonValidatorScope.values()); + ValidatorTestHelper.assertValidatorEffectiveScopes(validator, NuitonValidatorScope.INFO); + + } + + @Test + public void detectValidatorsWithFilteredScopes() { + + SortedSet<NuitonValidator<?>> result; + NuitonValidator<?> validator; + Iterator<NuitonValidator<?>> iterator; + + // test with no context and only scope warning : one validator (Person) + + result = detectValidators(null, new NuitonValidatorScope[]{NuitonValidatorScope.WARNING}, Person.class, Pet.class); + + Assert.assertNotNull(result); + Assert.assertEquals(1, result.size()); + + iterator = result.iterator(); + + validator = iterator.next(); + ValidatorTestHelper.assertValidatorModel(validator, null, Person.class, NuitonValidatorScope.WARNING); + ValidatorTestHelper.assertValidatorEffectiveScopes(validator, NuitonValidatorScope.WARNING); + + // test with no context and only fatal scope : no validator + + result = detectValidators(null, + new NuitonValidatorScope[]{NuitonValidatorScope.FATAL}, Person.class, Pet.class); + + Assert.assertNotNull(result); + Assert.assertTrue(result.isEmpty()); + + } + + @Test + public void detectValidatorsWithFilteredContext() { + + SortedSet<NuitonValidator<?>> result; + NuitonValidator<?> validator; + Iterator<NuitonValidator<?>> iterator; + + + // test with context 'context' and all scopes : one validator (Pet) + + result = detectValidators(Pattern.compile(CONTEXT), Person.class, Pet.class); + + Assert.assertNotNull(result); + Assert.assertEquals(1, result.size()); + + iterator = result.iterator(); + + validator = iterator.next(); + ValidatorTestHelper.assertValidatorModel(validator, CONTEXT, Pet.class, NuitonValidatorScope.values()); + ValidatorTestHelper.assertValidatorEffectiveScopes(validator, NuitonValidatorScope.INFO); + + + // test with specific context fake and all scopes : no validator + + result = detectValidators(Pattern.compile(".*-fake"), + Person.class, Pet.class); + + Assert.assertNotNull(result); + Assert.assertTrue(result.isEmpty()); + + } + + @Test + public void detectValidatorsWithFilteredContextAndFilteredScope() { + + SortedSet<NuitonValidator<?>> result; + NuitonValidator<?> validator; + Iterator<NuitonValidator<?>> iterator; + + + // test with context 'context' and info-fatal scopes : one validator (Pet) + + result = detectValidators(Pattern.compile(CONTEXT), + new NuitonValidatorScope[]{NuitonValidatorScope.INFO, NuitonValidatorScope.FATAL}, + Person.class, Pet.class); + + Assert.assertNotNull(result); + Assert.assertEquals(1, result.size()); + + iterator = result.iterator(); + + validator = iterator.next(); + ValidatorTestHelper.assertValidatorModel(validator, CONTEXT, Pet.class, NuitonValidatorScope.FATAL, NuitonValidatorScope.INFO); + ValidatorTestHelper.assertValidatorEffectiveScopes(validator, NuitonValidatorScope.INFO); + + // test with specific context fake and fatal scope : no validator + + result = detectValidators(Pattern.compile(".*-fake"), + new NuitonValidatorScope[]{NuitonValidatorScope.FATAL}, + Person.class, Pet.class); + + Assert.assertNotNull(result); + Assert.assertTrue(result.isEmpty()); + + } + + +} Property changes on: trunk/nuiton-validator/src/test/java/org/nuiton/validator/model/ModelValidatorDetectorTestImpl.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/XWork2NuitonValidatorProviderTest.java =================================================================== --- trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/XWork2NuitonValidatorProviderTest.java 2011-01-22 13:32:05 UTC (rev 2032) +++ trunk/nuiton-validator/src/test/java/org/nuiton/validator/xwork2/XWork2NuitonValidatorProviderTest.java 2011-01-23 17:28:26 UTC (rev 2033) @@ -52,7 +52,6 @@ */ public class XWork2NuitonValidatorProviderTest { - /** Logger. */ static private final Log log = LogFactory.getLog(XWork2NuitonValidatorProviderTest.class); @@ -100,8 +99,6 @@ SortedSet<NuitonValidator<?>> result; NuitonValidator<?> validator; - NuitonValidatorModel<?> model; - Set<NuitonValidatorScope> effectiveScopes; Iterator<NuitonValidator<?>> iterator; // test with all context and all scopes : two validators (Person + Pet + Pet (context)) @@ -114,52 +111,18 @@ iterator = result.iterator(); validator = iterator.next(); - Assert.assertNotNull(validator); - Assert.assertTrue(validator instanceof XWork2NuitonValidator<?>); - model = validator.getModel(); - Assert.assertEquals(Person.class, model.getType()); - Assert.assertNull(model.getContext()); + ValidatorTestHelper.assertValidatorModel(validator, null, Person.class, NuitonValidatorScope.values()); + ValidatorTestHelper.assertValidatorEffectiveScopes(validator, NuitonValidatorScope.ERROR, NuitonValidatorScope.WARNING); - effectiveScopes = validator.getEffectiveScopes(); - log.info("effective scopes : " + effectiveScopes); - - Assert.assertNotNull(effectiveScopes); - Assert.assertEquals(2, effectiveScopes.size()); - Assert.assertTrue(effectiveScopes.contains(NuitonValidatorScope.ERROR)); - Assert.assertTrue(effectiveScopes.contains(NuitonValidatorScope.WARNING)); - validator = iterator.next(); - Assert.assertNotNull(validator); - Assert.assertTrue(validator instanceof XWork2NuitonValidator<?>); - model = validator.getModel(); - Assert.assertEquals(Pet.class, model.getType()); - Assert.assertNull(model.getContext()); + ValidatorTestHelper.assertValidatorModel(validator, null, Pet.class, NuitonValidatorScope.values()); + ValidatorTestHelper.assertValidatorEffectiveScopes(validator, NuitonValidatorScope.ERROR); - effectiveScopes = validator.getEffectiveScopes(); - log.info("effective scopes : " + effectiveScopes); - - Assert.assertNotNull(effectiveScopes); - Assert.assertEquals(1, effectiveScopes.size()); - Assert.assertTrue(effectiveScopes.contains(NuitonValidatorScope.ERROR)); - validator = iterator.next(); - Assert.assertNotNull(validator); - Assert.assertTrue(validator instanceof XWork2NuitonValidator<?>); - model = validator.getModel(); - Assert.assertEquals(Pet.class, model.getType()); + ValidatorTestHelper.assertValidatorModel(validator, context, Pet.class, NuitonValidatorScope.values()); + ValidatorTestHelper.assertValidatorEffectiveScopes(validator, NuitonValidatorScope.INFO); - - Assert.assertEquals(context, model.getContext()); - - - effectiveScopes = validator.getEffectiveScopes(); - log.info("effective scopes : " + effectiveScopes); - - Assert.assertNotNull(effectiveScopes); - Assert.assertEquals(1, effectiveScopes.size()); - Assert.assertTrue(effectiveScopes.contains(NuitonValidatorScope.INFO)); - // test with no context and only scope warning : one validator (Person) result = provider.detectValidators(testResourcesDir, null, new NuitonValidatorScope[]{NuitonValidatorScope.WARNING}, Person.class, Pet.class); @@ -170,20 +133,9 @@ iterator = result.iterator(); validator = iterator.next(); - Assert.assertNotNull(validator); - Assert.assertTrue(validator instanceof XWork2NuitonValidator<?>); + ValidatorTestHelper.assertValidatorModel(validator, null, Person.class, NuitonValidatorScope.WARNING); + ValidatorTestHelper.assertValidatorEffectiveScopes(validator, NuitonValidatorScope.WARNING); - model = validator.getModel(); - Assert.assertEquals(Person.class, model.getType()); - Assert.assertNull(model.getContext()); - - effectiveScopes = validator.getEffectiveScopes(); - log.info("effective scopes : " + effectiveScopes); - - Assert.assertNotNull(effectiveScopes); - Assert.assertEquals(1, effectiveScopes.size()); - Assert.assertTrue(effectiveScopes.contains(NuitonValidatorScope.WARNING)); - // test with context 'context' and all scopes : one validator (Pet) result = provider.detectValidators(testResourcesDir, Pattern.compile(context), null, Person.class, Pet.class); @@ -194,20 +146,9 @@ iterator = result.iterator(); validator = iterator.next(); - Assert.assertNotNull(validator); - Assert.assertTrue(validator instanceof XWork2NuitonValidator<?>); + ValidatorTestHelper.assertValidatorModel(validator, context, Pet.class, NuitonValidatorScope.values()); + ValidatorTestHelper.assertValidatorEffectiveScopes(validator, NuitonValidatorScope.INFO); - model = validator.getModel(); - Assert.assertEquals(Pet.class, model.getType()); - Assert.assertEquals(context, model.getContext()); - - effectiveScopes = validator.getEffectiveScopes(); - log.info("effective scopes : " + effectiveScopes); - - Assert.assertNotNull(effectiveScopes); - Assert.assertEquals(1, effectiveScopes.size()); - Assert.assertTrue(effectiveScopes.contains(NuitonValidatorScope.INFO)); - // test with no context and only scope fatal : no validator result = provider.detectValidators(testResourcesDir, null, new NuitonValidatorScope[]{NuitonValidatorScope.FATAL}, Person.class, Pet.class); Modified: trunk/nuiton-validator/src/test/resources/org/nuiton/validator/model/Pet-context-info-validation.xml =================================================================== --- trunk/nuiton-validator/src/test/resources/org/nuiton/validator/model/Pet-context-info-validation.xml 2011-01-22 13:32:05 UTC (rev 2032) +++ trunk/nuiton-validator/src/test/resources/org/nuiton/validator/model/Pet-context-info-validation.xml 2011-01-23 17:28:26 UTC (rev 2033) @@ -3,7 +3,7 @@ Nuiton Utils :: Nuiton Validator $Id$ - $HeadURL: http://svn.nuiton.org/svn/nuiton-utils/trunk/nuiton-validator/src/test/resou... $ + $HeadURL$ %% Copyright (C) 2011 CodeLutin %% Property changes on: trunk/nuiton-validator/src/test/resources/org/nuiton/validator/model/Pet-context-info-validation.xml ___________________________________________________________________ Modified: svn:keywords - Author Date Id Revision + Author Date Id Revision HeadURL Modified: trunk/nuiton-validator/src/test/resources/org/nuiton/validator/model/Pet-error-validation.xml =================================================================== --- trunk/nuiton-validator/src/test/resources/org/nuiton/validator/model/Pet-error-validation.xml 2011-01-22 13:32:05 UTC (rev 2032) +++ trunk/nuiton-validator/src/test/resources/org/nuiton/validator/model/Pet-error-validation.xml 2011-01-23 17:28:26 UTC (rev 2033) @@ -3,7 +3,7 @@ Nuiton Utils :: Nuiton Validator $Id$ - $HeadURL: http://svn.nuiton.org/svn/nuiton-utils/trunk/nuiton-validator/src/test/resou... $ + $HeadURL$ %% Copyright (C) 2011 CodeLutin %% Property changes on: trunk/nuiton-validator/src/test/resources/org/nuiton/validator/model/Pet-error-validation.xml ___________________________________________________________________ Modified: svn:keywords - Author Date Id Revision + Author Date Id Revision HeadURL Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2011-01-22 13:32:05 UTC (rev 2032) +++ trunk/pom.xml 2011-01-23 17:28:26 UTC (rev 2033) @@ -35,7 +35,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>mavenpom4redmineAndCentral</artifactId> - <version>2.4.1</version> + <version>2.4.2-SNAPSHOT</version> </parent> <artifactId>nuiton-utils-parent</artifactId>