r2041 - in trunk/nuiton-validator/src/main/java/org/nuiton/validator: . bean
Author: tchemit Date: 2011-01-24 17:19:19 +0100 (Mon, 24 Jan 2011) New Revision: 2041 Url: http://nuiton.org/repositories/revision/nuiton-utils/2041 Log: open api (for JAxx purpose to replace the old BeanValidator api) Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidatorFactory.java trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidatorResult.java trunk/nuiton-validator/src/main/java/org/nuiton/validator/bean/BeanValidator.java 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-24 13:08:51 UTC (rev 2040) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidatorFactory.java 2011-01-24 16:19:19 UTC (rev 2041) @@ -131,6 +131,12 @@ return provider; } + public static NuitonValidatorProvider getDefaultProvider() { + String providerName = getDefaultProviderName(); + NuitonValidatorProvider provider = getProvider(providerName); + return provider; + } + public static String getDefaultProviderName() throws IllegalStateException { if (defaultProviderName == null) { Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidatorResult.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidatorResult.java 2011-01-24 13:08:51 UTC (rev 2040) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/NuitonValidatorResult.java 2011-01-24 16:19:19 UTC (rev 2041) @@ -29,8 +29,10 @@ import java.util.ArrayList; import java.util.Collections; import java.util.EnumMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.TreeMap; /** @@ -96,7 +98,8 @@ return result; } - public void addMessagesForScope(NuitonValidatorScope scope, Map<String, List<String>> newMessages) { + public void addMessagesForScope(NuitonValidatorScope scope, + Map<String, List<String>> newMessages) { if (messages == null) { messages = new EnumMap<NuitonValidatorScope, FieldMap<List<String>>>(NuitonValidatorScope.class); } @@ -121,21 +124,20 @@ } } - public void setMessagesForScope(NuitonValidatorScope scope, String field, List<String> messages) { - if (this.messages==null) { + if (this.messages == null) { this.messages = new EnumMap<NuitonValidatorScope, FieldMap<List<String>>>(NuitonValidatorScope.class); } FieldMap<List<String>> fieldMap = this.messages.get(scope); - if (fieldMap==null) { + if (fieldMap == null) { fieldMap = new FieldMap<List<String>>(); - this.messages.put(scope,fieldMap); + this.messages.put(scope, fieldMap); } - fieldMap.put(field,messages); + fieldMap.put(field, messages); } public List<String> getMessagesForScope(NuitonValidatorScope scope) { @@ -238,11 +240,58 @@ } } - public EnumMap<NuitonValidatorScope, FieldMap<List<String>>> getMessages() { + public NuitonValidatorScope getFieldHighestScope(String field) { + if (messages == null) { + return null; + } + if (containsField(field, NuitonValidatorScope.FATAL)) { + return NuitonValidatorScope.FATAL; + } + if (containsField(field, NuitonValidatorScope.ERROR)) { + return NuitonValidatorScope.ERROR; + } + if (containsField(field, NuitonValidatorScope.WARNING)) { + return NuitonValidatorScope.WARNING; + } + if (containsField(field, NuitonValidatorScope.INFO)) { + return NuitonValidatorScope.INFO; + } + + // no scope for the field + return null; + } + + public NuitonValidatorScope[] getFieldScopes(String field) { + Set<NuitonValidatorScope> result = new HashSet<NuitonValidatorScope>(); + if (messages != null) { + + if (containsField(field, NuitonValidatorScope.FATAL)) { + result.add(NuitonValidatorScope.FATAL); + } + if (containsField(field, NuitonValidatorScope.ERROR)) { + result.add(NuitonValidatorScope.ERROR); + } + if (containsField(field, NuitonValidatorScope.WARNING)) { + result.add(NuitonValidatorScope.WARNING); + } + if (containsField(field, NuitonValidatorScope.INFO)) { + result.add(NuitonValidatorScope.INFO); + } + } + + return result.toArray(new NuitonValidatorScope[result.size()]); + } + + protected boolean containsField(String field, NuitonValidatorScope scope) { + FieldMap<List<String>> fieldMap = messages.get(scope); + return fieldMap != null && fieldMap.containsKey(field); + } + + protected EnumMap<NuitonValidatorScope, FieldMap<List<String>>> getMessages() { return messages; } - public Map<String, FieldMap<Object>> getTagValues() { + protected Map<String, FieldMap<Object>> getTagValues() { return tagValues; } } Modified: trunk/nuiton-validator/src/main/java/org/nuiton/validator/bean/BeanValidator.java =================================================================== --- trunk/nuiton-validator/src/main/java/org/nuiton/validator/bean/BeanValidator.java 2011-01-24 13:08:51 UTC (rev 2040) +++ trunk/nuiton-validator/src/main/java/org/nuiton/validator/bean/BeanValidator.java 2011-01-24 16:19:19 UTC (rev 2041) @@ -447,6 +447,17 @@ return result; } + public NuitonValidatorScope getHighestScope(String field) { + if (messages==null) { + + // no messages + return null; + } + + NuitonValidatorScope scope = messages.getFieldHighestScope(field); + return scope; + } + /** * Convert a value. * <p/>
participants (1)
-
tchemit@users.nuiton.org