Title: [waffle-scm] [421] trunk/waffle-taglib/src/test/java/org/codehaus/waffle/taglib: WAFFLE-38: Introduced ErrorMessage.Type enum with values BIND, FIELD and GLOBAL.

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:

http://xircles.codehaus.org/manage_email

Reply via email to