- Revision
- 421
- Author
- mauro
- Date
- 2007-11-24 12:19:20 -0600 (Sat, 24 Nov 2007)
Log Message
WAFFLE-38: Introduced ErrorMessage.Type enum with values BIND, FIELD and GLOBAL. Refactored ErrorsContext methods to use type as param instead of repeating methods for each type.
Modified Paths
- trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/AutomobileControllerValidatorTest.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/BindErrorMessage.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/DefaultErrorsContext.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/ErrorMessage.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/ErrorsContext.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/FieldErrorMessage.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/GlobalErrorMessage.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/bind/ognl/OgnlDataBinderTest.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/validation/DefaultErrorsContextTest.java
- trunk/waffle-taglib/src/main/java/org/codehaus/waffle/taglib/Functions.java
- trunk/waffle-taglib/src/test/java/org/codehaus/waffle/taglib/FunctionsTest.java
Diff
Modified: trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/AutomobileControllerValidatorTest.java (420 => 421)
--- trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/AutomobileControllerValidatorTest.java 2007-11-23 13:08:02 UTC (rev 420) +++ trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/AutomobileControllerValidatorTest.java 2007-11-24 18:19:20 UTC (rev 421) @@ -9,8 +9,8 @@ import org.codehaus.waffle.i18n.DefaultMessageResources; import org.codehaus.waffle.i18n.MessageResources; import org.codehaus.waffle.validation.DefaultErrorsContext; +import org.codehaus.waffle.validation.ErrorMessage; import org.codehaus.waffle.validation.ErrorsContext; -import org.codehaus.waffle.validation.FieldErrorMessage; import org.junit.Test; public class AutomobileControllerValidatorTest { @@ -44,7 +44,7 @@ assertTrue(errorsContext.hasErrorMessages()); - List<FieldErrorMessage> fieldValidationMessages = errorsContext.getFieldErrorMessages("speed"); + List<? extends ErrorMessage> fieldValidationMessages = errorsContext.getErrorMessagesForField(ErrorMessage.Type.FIELD, "speed"); assertEquals(1, fieldValidationMessages.size()); assertEquals("Speed can NOT exceed the top speed [150]", fieldValidationMessages.get(0).getMessage()); }
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/BindErrorMessage.java (420 => 421)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/BindErrorMessage.java 2007-11-23 13:08:02 UTC (rev 420) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/BindErrorMessage.java 2007-11-24 18:19:20 UTC (rev 421) @@ -10,9 +10,18 @@ *****************************************************************************/ package org.codehaus.waffle.validation; +/** + * ErrorMessage associated to bind validations. + * + * @author Mauro Talevi + */ public class BindErrorMessage extends FieldErrorMessage { public BindErrorMessage(String name, String value, String message) { super(name, value, message); } + + public Type getType() { + return Type.BIND; + } }
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/DefaultErrorsContext.java (420 => 421)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/DefaultErrorsContext.java 2007-11-23 13:08:02 UTC (rev 420) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/DefaultErrorsContext.java 2007-11-24 18:19:20 UTC (rev 421) @@ -16,6 +16,8 @@ import java.util.List; import java.util.Map; +import org.codehaus.waffle.validation.ErrorMessage.Type; + /** * Default implementation of ErrorsContext. * @@ -25,18 +27,47 @@ public class DefaultErrorsContext implements ErrorsContext { private final Map<String, List<BindErrorMessage>> bindErrorMessages = new HashMap<String, List<BindErrorMessage>>(); // todo this should only have one bind per field MAX private final Map<String, List<FieldErrorMessage>> fieldErrorMessages = new HashMap<String, List<FieldErrorMessage>>(); - private final List<GlobalErrorMessage> globaErrorlMessages = new ArrayList<GlobalErrorMessage>(); + private final List<GlobalErrorMessage> globaErrorMessages = new ArrayList<GlobalErrorMessage>(); public void addErrorMessage(ErrorMessage message) { - if (message instanceof BindErrorMessage) { - addBindValidationMessage((BindErrorMessage) message); - } else if (message instanceof FieldErrorMessage) { - addFieldValidationMessage((FieldErrorMessage) message); - } else { - addGlobalValidationMessage((GlobalErrorMessage) message); + switch ( message.getType() ){ + case BIND: addBindValidationMessage((BindErrorMessage) message); + break; + case FIELD: addFieldValidationMessage((FieldErrorMessage) message); + break; + default: + addGlobalValidationMessage((GlobalErrorMessage) message); } } + private void addBindValidationMessage(BindErrorMessage bindValidationMessage) { + String name = bindValidationMessage.getName(); + List<BindErrorMessage> messages = bindErrorMessages.get(name); + + if (messages == null) { + messages = new ArrayList<BindErrorMessage>(10); + bindErrorMessages.put(name, messages); + } + + messages.add(bindValidationMessage); + } + + private void addFieldValidationMessage(FieldErrorMessage fieldValidationMessage) { + String name = fieldValidationMessage.getName(); + List<FieldErrorMessage> messages = fieldErrorMessages.get(name); + + if (messages == null) { + messages = new ArrayList<FieldErrorMessage>(10); + fieldErrorMessages.put(name, messages); + } + + messages.add(fieldValidationMessage); + } + + private void addGlobalValidationMessage(GlobalErrorMessage message) { + globaErrorMessages.add(message); + } + public List<ErrorMessage> getAllErrorMessages() { List<ErrorMessage> messages = new ArrayList<ErrorMessage>(); messages.addAll(getAllBindErrorMessages()); @@ -45,31 +76,49 @@ return messages; } - public List<BindErrorMessage> getAllBindErrorMessages() { + public List<? extends ErrorMessage> getErrorMessagesOfType(Type type) { + switch ( type ){ + case BIND: return getAllBindErrorMessages(); + case FIELD: return getAllFieldErrorMessages(); + case GLOBAL: return getAllGlobalErrorMessages(); + default: return Collections.emptyList(); + } + } + + private List<BindErrorMessage> getAllBindErrorMessages() { List<BindErrorMessage> messages = new ArrayList<BindErrorMessage>(); - for (List<BindErrorMessage> bindValidationMessages : bindErrorMessages.values()) { - messages.addAll(bindValidationMessages); + for (List<BindErrorMessage> bindMessages : bindErrorMessages.values()) { + messages.addAll(bindMessages); } return messages; } - public List<FieldErrorMessage> getAllFieldErrorMessages() { + private List<FieldErrorMessage> getAllFieldErrorMessages() { List<FieldErrorMessage> messages = new ArrayList<FieldErrorMessage>(); - for (List<FieldErrorMessage> fieldValidationMessages : fieldErrorMessages.values()) { - messages.addAll(fieldValidationMessages); + for (List<FieldErrorMessage> fieldMessages : fieldErrorMessages.values()) { + messages.addAll(fieldMessages); } return messages; } - public List<GlobalErrorMessage> getAllGlobalErrorMessages() { - return globaErrorlMessages; + private List<GlobalErrorMessage> getAllGlobalErrorMessages() { + return globaErrorMessages; } - public List<BindErrorMessage> getBindErrorMessages(String fieldName) { + public List<? extends ErrorMessage> getErrorMessagesForField(Type type, String fieldName) { + switch ( type ){ + case BIND: return getBindErrorMessages(fieldName); + case FIELD: return getFieldErrorMessages(fieldName); + case GLOBAL: return Collections.emptyList(); + default: return Collections.emptyList(); + } + } + + private List<BindErrorMessage> getBindErrorMessages(String fieldName) { List<BindErrorMessage> list = bindErrorMessages.get(fieldName); if(list == null) { @@ -79,7 +128,7 @@ return list; } - public List<FieldErrorMessage> getFieldErrorMessages(String fieldName) { + private List<FieldErrorMessage> getFieldErrorMessages(String fieldName) { List<FieldErrorMessage> list = fieldErrorMessages.get(fieldName); if(list == null) { @@ -90,63 +139,95 @@ } public boolean hasErrorMessages() { - return !fieldErrorMessages.isEmpty() || !bindErrorMessages.isEmpty() || !globaErrorlMessages.isEmpty(); + return hasBindErrorMessages() || hasFieldErrorMessages() || hasGlobalErrorMessages(); } - public boolean hasBindErrorMessages(String fieldName) { - return bindErrorMessages.containsKey(fieldName); + public boolean hasErrorMessagesOfType(Type type) { + switch ( type ){ + case BIND: return hasBindErrorMessages(); + case FIELD: return hasFieldErrorMessages(); + case GLOBAL: return hasGlobalErrorMessages(); + default: return false; + } } - public boolean hasFieldErrorMessages(String fieldName) { - return fieldErrorMessages.containsKey(fieldName); + private boolean hasBindErrorMessages() { + return !bindErrorMessages.isEmpty(); } - public boolean hasGlobalErrorMessages() { - return !globaErrorlMessages.isEmpty(); + private boolean hasFieldErrorMessages() { + return !fieldErrorMessages.isEmpty(); } - public int getErrorMessageCount() { - return bindErrorMessages.size() + fieldErrorMessages.size() + globaErrorlMessages.size(); + private boolean hasGlobalErrorMessages() { + return !globaErrorMessages.isEmpty(); } - public int getBindErrorMessageCount() { - return bindErrorMessages.size(); + public boolean hasErrorMessagesForField(Type type, String fieldName) { + switch ( type ){ + case BIND: return hasBindErrorMessages(fieldName); + case FIELD: return hasFieldErrorMessages(fieldName); + case GLOBAL: return hasGlobalErrorMessages(); + default: return false; + } } - public int getFieldErrorMessageCount() { - return fieldErrorMessages.size(); + private boolean hasBindErrorMessages(String fieldName) { + return bindErrorMessages.containsKey(fieldName); } - public int getGlobalErrorMessageCount() { - return globaErrorlMessages.size(); + private boolean hasFieldErrorMessages(String fieldName) { + return fieldErrorMessages.containsKey(fieldName); } - private void addBindValidationMessage(BindErrorMessage bindValidationMessage) { - String name = bindValidationMessage.getName(); - List<BindErrorMessage> messages = bindErrorMessages.get(name); - - if (messages == null) { - messages = new ArrayList<BindErrorMessage>(10); - bindErrorMessages.put(name, messages); + public int getErrorMessageCount() { + return getBindErrorMessageCount() + getFieldErrorMessageCount() + getGlobalErrorMessageCount(); + } + + public int getErrorMessageCountOfType(Type type) { + switch ( type ){ + case BIND: return getBindErrorMessageCount(); + case FIELD: return getFieldErrorMessageCount(); + case GLOBAL: return getGlobalErrorMessageCount(); } + return 0; + } + + private int getBindErrorMessageCount() { + return bindErrorMessages.size(); + } - messages.add(bindValidationMessage); + private int getFieldErrorMessageCount() { + return fieldErrorMessages.size(); } - private void addFieldValidationMessage(FieldErrorMessage fieldValidationMessage) { - String name = fieldValidationMessage.getName(); - List<FieldErrorMessage> messages = fieldErrorMessages.get(name); + private int getGlobalErrorMessageCount() { + return globaErrorMessages.size(); + } - if (messages == null) { - messages = new ArrayList<FieldErrorMessage>(10); - fieldErrorMessages.put(name, messages); + public int getErrorMessageCountForField(Type type, String fieldName) { + switch ( type ){ + case BIND: return getBindErrorMessageCount(fieldName); + case FIELD: return getFieldErrorMessageCount(fieldName); + case GLOBAL: return getGlobalErrorMessageCount(); } + return 0; + } - messages.add(fieldValidationMessage); + private int getBindErrorMessageCount(String fieldName) { + if ( hasBindErrorMessages(fieldName) ){ + return getBindErrorMessages(fieldName).size(); + } + return 0; } - private void addGlobalValidationMessage(GlobalErrorMessage message) { - globaErrorlMessages.add(message); + private int getFieldErrorMessageCount(String fieldName) { + if ( hasFieldErrorMessages(fieldName) ){ + return getFieldErrorMessages(fieldName).size(); + } + return 0; } + + }
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/ErrorMessage.java (420 => 421)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/ErrorMessage.java 2007-11-23 13:08:02 UTC (rev 420) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/ErrorMessage.java 2007-11-24 18:19:20 UTC (rev 421) @@ -10,8 +10,18 @@ *****************************************************************************/ package org.codehaus.waffle.validation; +/** + * Represents a validation error message + * + * @author Michael Ward + * @author Mauro Talevi + */ public interface ErrorMessage { + enum Type { BIND, FIELD, GLOBAL }; + + Type getType(); + String getMessage(); - + }
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/ErrorsContext.java (420 => 421)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/ErrorsContext.java 2007-11-23 13:08:02 UTC (rev 420) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/ErrorsContext.java 2007-11-24 18:19:20 UTC (rev 421) @@ -12,6 +12,8 @@ import java.util.List; +import org.codehaus.waffle.validation.ErrorMessage.Type; + /** * ErrorsContext holds error messages of different types * @@ -24,31 +26,21 @@ List<ErrorMessage> getAllErrorMessages(); - List<BindErrorMessage> getAllBindErrorMessages(); + List<? extends ErrorMessage> getErrorMessagesOfType(Type type); - List<FieldErrorMessage> getAllFieldErrorMessages(); + List<? extends ErrorMessage> getErrorMessagesForField(Type type, String fieldName); - List<GlobalErrorMessage> getAllGlobalErrorMessages(); - - List<BindErrorMessage> getBindErrorMessages(String fieldName); - - List<FieldErrorMessage> getFieldErrorMessages(String fieldName); - boolean hasErrorMessages(); - boolean hasBindErrorMessages(String fieldName); + boolean hasErrorMessagesOfType(Type type); - boolean hasFieldErrorMessages(String fieldName); + boolean hasErrorMessagesForField(Type type, String fieldName); - boolean hasGlobalErrorMessages(); + int getErrorMessageCount(); - int getErrorMessageCount(); + int getErrorMessageCountOfType(Type type); + + int getErrorMessageCountForField(Type type, String fieldName); - int getBindErrorMessageCount(); - - int getFieldErrorMessageCount(); - - int getGlobalErrorMessageCount(); - }
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/FieldErrorMessage.java (420 => 421)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/FieldErrorMessage.java 2007-11-23 13:08:02 UTC (rev 420) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/FieldErrorMessage.java 2007-11-24 18:19:20 UTC (rev 421) @@ -11,8 +11,8 @@ package org.codehaus.waffle.validation; /** - * ErrorMessage that requires a name/value combination associate to the message. - * + * ErrorMessage associated to field validations. + * * @author Mauro Talevi */ public class FieldErrorMessage implements ErrorMessage { @@ -26,6 +26,10 @@ this.message = message; } + public Type getType() { + return Type.FIELD; + } + public String getMessage() { return message; } @@ -49,4 +53,5 @@ sb.append("]"); return sb.toString(); } + }
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/GlobalErrorMessage.java (420 => 421)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/GlobalErrorMessage.java 2007-11-23 13:08:02 UTC (rev 420) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/GlobalErrorMessage.java 2007-11-24 18:19:20 UTC (rev 421) @@ -10,6 +10,11 @@ *****************************************************************************/ package org.codehaus.waffle.validation; +/** + * ErrorMessage associated to global validations. + * + * @author Mauro Talevi + */ public class GlobalErrorMessage implements ErrorMessage { private String message; @@ -17,6 +22,10 @@ this.message = message; } + public Type getType() { + return Type.GLOBAL; + } + public String getMessage() { return message; }
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/bind/ognl/OgnlDataBinderTest.java (420 => 421)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/bind/ognl/OgnlDataBinderTest.java 2007-11-23 13:08:02 UTC (rev 420) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/bind/ognl/OgnlDataBinderTest.java 2007-11-24 18:19:20 UTC (rev 421) @@ -21,6 +21,7 @@ import org.codehaus.waffle.testmodel.FakeController; import org.codehaus.waffle.validation.BindErrorMessage; import org.codehaus.waffle.validation.DefaultErrorsContext; +import org.codehaus.waffle.validation.ErrorMessage; import org.codehaus.waffle.validation.ErrorsContext; import org.jmock.Expectations; import org.jmock.Mockery; @@ -179,10 +180,10 @@ binder.bind(request, null, errorsContext, new FakeBean()); assertTrue(errorsContext.hasErrorMessages()); - List<BindErrorMessage> messages = errorsContext.getBindErrorMessages("count"); + List<? extends ErrorMessage> messages = errorsContext.getErrorMessagesForField(ErrorMessage.Type.BIND, "count"); assertEquals(1, messages.size()); - BindErrorMessage bindValidationMessage = messages.get(0); + BindErrorMessage bindValidationMessage = (BindErrorMessage) messages.get(0); assertEquals("count", bindValidationMessage.getName()); assertEquals("bad value", bindValidationMessage.getValue()); }
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/validation/DefaultErrorsContextTest.java (420 => 421)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/validation/DefaultErrorsContextTest.java 2007-11-23 13:08:02 UTC (rev 420) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/validation/DefaultErrorsContextTest.java 2007-11-24 18:19:20 UTC (rev 421) @@ -3,131 +3,90 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; +import static org.codehaus.waffle.validation.ErrorMessage.Type.BIND; +import static org.codehaus.waffle.validation.ErrorMessage.Type.FIELD; +import static org.codehaus.waffle.validation.ErrorMessage.Type.GLOBAL; import org.junit.Test; /** * * @author Michael Ward + * @author Mauro Talevi */ public class DefaultErrorsContextTest { @Test - public void canGetEachCountMethod() { + public void canCountMessage() { ErrorsContext context = new DefaultErrorsContext(); context.addErrorMessage(new BindErrorMessage("bind.error", "foobar", null)); context.addErrorMessage(new FieldErrorMessage("field.error", "foobaz", null)); context.addErrorMessage(new GlobalErrorMessage("global message")); - assertTrue(context.hasErrorMessages()); assertEquals(3, context.getErrorMessageCount()); - assertEquals(1, context.getBindErrorMessageCount()); - assertEquals(1, context.getFieldErrorMessageCount()); - assertEquals(1, context.getGlobalErrorMessageCount()); + assertEquals(1, context.getErrorMessageCountOfType(BIND)); + assertEquals(1, context.getErrorMessageCountForField(BIND, "bind.error")); + assertEquals(1, context.getErrorMessageCountOfType(FIELD)); + assertEquals(1, context.getErrorMessageCountForField(FIELD, "field.error")); + assertEquals(1, context.getErrorMessageCountOfType(GLOBAL)); + assertEquals(1, context.getErrorMessageCountForField(GLOBAL, "any.field.name")); } @Test - public void hasErrors() { + public void canDetermineIfContextHasMessagesByType() { ErrorsContext context = new DefaultErrorsContext(); assertFalse(context.hasErrorMessages()); - // field errors - context.addErrorMessage(new FieldErrorMessage(null, null, null)); - assertTrue(context.hasErrorMessages()); - // bind errors - context = new DefaultErrorsContext(); + assertFalse(context.hasErrorMessagesOfType(BIND)); context.addErrorMessage(new BindErrorMessage(null, null, null)); - assertTrue(context.hasErrorMessages()); + assertTrue(context.hasErrorMessagesOfType(BIND)); + // field errors + assertFalse(context.hasErrorMessagesOfType(FIELD)); + context.addErrorMessage(new FieldErrorMessage(null, null, null)); + assertTrue(context.hasErrorMessagesOfType(FIELD)); + // global errors context = new DefaultErrorsContext(); + assertFalse(context.hasErrorMessagesOfType(GLOBAL)); context.addErrorMessage(new GlobalErrorMessage(null)); + assertTrue(context.hasErrorMessagesOfType(GLOBAL)); assertTrue(context.hasErrorMessages()); } - + @Test - public void hasBindErrorMessages() { - ErrorsContext context = new DefaultErrorsContext(); - assertFalse(context.hasBindErrorMessages("fieldName")); - - context.addErrorMessage(new BindErrorMessage("fieldName", null, null)); - assertTrue(context.hasBindErrorMessages("fieldName")); - } - - @Test - public void hasFieldErrorMessages() { - ErrorsContext context = new DefaultErrorsContext(); - assertFalse(context.hasFieldErrorMessages("fieldName")); - - context.addErrorMessage(new FieldErrorMessage("fieldName", null, null)); - assertTrue(context.hasFieldErrorMessages("fieldName")); - } - - @Test - public void hasGlobalErrorMessages() { - ErrorsContext context = new DefaultErrorsContext(); - assertFalse(context.hasGlobalErrorMessages()); - - context.addErrorMessage(new GlobalErrorMessage("an error message")); - assertTrue(context.hasGlobalErrorMessages()); - } - - @Test public void canGetAllErrorMessages() { ErrorsContext context = new DefaultErrorsContext(); - assertEquals(0, context.getAllErrorMessages().size()); + assertEquals(0, context.getErrorMessagesOfType(BIND).size()); + assertEquals(0, context.getErrorMessagesOfType(FIELD).size()); + assertEquals(0, context.getErrorMessagesOfType(GLOBAL).size()); context.addErrorMessage(new BindErrorMessage(null, null, null)); context.addErrorMessage(new FieldErrorMessage(null, null, null)); context.addErrorMessage(new GlobalErrorMessage(null)); assertEquals(3, context.getAllErrorMessages().size()); + assertEquals(1, context.getErrorMessagesOfType(BIND).size()); + assertEquals(1, context.getErrorMessagesOfType(FIELD).size()); + assertEquals(1, context.getErrorMessagesOfType(GLOBAL).size()); } @Test - public void canGetAllBindErrorMessages() { + public void canGetErrorMessagesForField() { ErrorsContext context = new DefaultErrorsContext(); - assertEquals(0, context.getAllBindErrorMessages().size()); + assertFalse(context.hasErrorMessagesForField(BIND, "fieldName")); + assertEquals(0, context.getErrorMessagesForField(BIND, "fieldName").size()); + assertFalse(context.hasErrorMessagesForField(FIELD, "fieldName")); + assertEquals(0, context.getErrorMessagesForField(FIELD, "fieldName").size()); - context.addErrorMessage(new BindErrorMessage(null, null, null)); - assertEquals(1, context.getAllBindErrorMessages().size()); - } - - @Test - public void canGetAllFieldErrorMessages() { - ErrorsContext context = new DefaultErrorsContext(); - assertEquals(0, context.getAllFieldErrorMessages().size()); - - context.addErrorMessage(new FieldErrorMessage(null, null, null)); - assertEquals(1, context.getAllFieldErrorMessages().size()); - } - - @Test - public void canGetAllGlobalErrorMessages() { - ErrorsContext context = new DefaultErrorsContext(); - assertEquals(0, context.getAllGlobalErrorMessages().size()); - - context.addErrorMessage(new GlobalErrorMessage(null)); - assertEquals(1, context.getAllGlobalErrorMessages().size()); - } - - @Test - public void canGetBindErrorMessages() { - ErrorsContext context = new DefaultErrorsContext(); - assertEquals(0, context.getBindErrorMessages("fieldName").size()); - context.addErrorMessage(new BindErrorMessage("fieldName", null, null)); - assertEquals(1, context.getBindErrorMessages("fieldName").size()); - } - - @Test - public void canGetFieldErrorMessages() { - ErrorsContext context = new DefaultErrorsContext(); - assertEquals(0, context.getFieldErrorMessages("fieldName").size()); - + assertTrue(context.hasErrorMessagesForField(BIND, "fieldName")); + assertEquals(1, context.getErrorMessagesForField(BIND, "fieldName").size()); context.addErrorMessage(new FieldErrorMessage("fieldName", null, null)); - assertEquals(1, context.getFieldErrorMessages("fieldName").size()); + assertTrue(context.hasErrorMessagesForField(FIELD, "fieldName")); + assertEquals(1, context.getErrorMessagesForField(FIELD, "fieldName").size()); + } }
Modified: trunk/waffle-taglib/src/main/java/org/codehaus/waffle/taglib/Functions.java (420 => 421)
--- trunk/waffle-taglib/src/main/java/org/codehaus/waffle/taglib/Functions.java 2007-11-23 13:08:02 UTC (rev 420) +++ trunk/waffle-taglib/src/main/java/org/codehaus/waffle/taglib/Functions.java 2007-11-24 18:19:20 UTC (rev 421) @@ -1,10 +1,11 @@ package org.codehaus.waffle.taglib; -import org.codehaus.waffle.validation.ErrorsContext; - import java.util.List; import java.util.Map; +import org.codehaus.waffle.validation.ErrorMessage; +import org.codehaus.waffle.validation.ErrorsContext; + public class Functions { public static String retrieveAttributes(Map<String, String> att) { @@ -28,8 +29,8 @@ } } - public static List findFieldErrors(ErrorsContext errorsContext, String fieldName) { - return errorsContext.getFieldErrorMessages(fieldName); + public static List<? extends ErrorMessage> findFieldErrors(ErrorsContext errorsContext, String fieldName) { + return errorsContext.getErrorMessagesForField(ErrorMessage.Type.FIELD, fieldName); } }
Modified: trunk/waffle-taglib/src/test/java/org/codehaus/waffle/taglib/FunctionsTest.java (420 => 421)
--- trunk/waffle-taglib/src/test/java/org/codehaus/waffle/taglib/FunctionsTest.java 2007-11-23 13:08:02 UTC (rev 420) +++ trunk/waffle-taglib/src/test/java/org/codehaus/waffle/taglib/FunctionsTest.java 2007-11-24 18:19:20 UTC (rev 421) @@ -5,6 +5,7 @@ import java.util.List; import org.codehaus.waffle.validation.DefaultErrorsContext; +import org.codehaus.waffle.validation.ErrorMessage; import org.codehaus.waffle.validation.ErrorsContext; import org.codehaus.waffle.validation.FieldErrorMessage; import org.junit.Test; @@ -17,10 +18,10 @@ ErrorsContext errorsContext = new DefaultErrorsContext(); errorsContext.addErrorMessage(new FieldErrorMessage("name", "value", "message")); - List<FieldErrorMessage> messages = Functions.findFieldErrors(errorsContext, "name"); + List<? extends ErrorMessage> messages = Functions.findFieldErrors(errorsContext, "name"); assertEquals(1, messages.size()); - FieldErrorMessage fieldValidationMessage = messages.get(0); + FieldErrorMessage fieldValidationMessage = (FieldErrorMessage) messages.get(0); assertEquals("message", fieldValidationMessage.getMessage()); } }
To unsubscribe from this list please visit:
