initial mvc message display
This commit is contained in:
@@ -26,6 +26,7 @@ import java.util.Map;
|
||||
import org.springframework.context.MessageSource;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.core.style.ToStringCreator;
|
||||
import org.springframework.util.Assert;
|
||||
import org.springframework.util.CachingMapDecorator;
|
||||
|
||||
/**
|
||||
@@ -47,12 +48,36 @@ class DefaultMessageContext implements StateManageableMessageContext {
|
||||
this.messageSource = messageSource;
|
||||
}
|
||||
|
||||
public Serializable createMessagesMemento() {
|
||||
return new HashMap(objectMessages);
|
||||
// implementing message context
|
||||
|
||||
public Message[] getAllMessages() {
|
||||
List messages = new ArrayList();
|
||||
Iterator it = objectMessages.keySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
messages.addAll((List) objectMessages.get(it.next()));
|
||||
}
|
||||
return (Message[]) messages.toArray(new Message[messages.size()]);
|
||||
}
|
||||
|
||||
public void restoreMessages(Serializable messagesMemento) {
|
||||
this.objectMessages.putAll((Map) messagesMemento);
|
||||
public Message[] getMessagesBySource(Object source) {
|
||||
List messages = (List) objectMessages.get(source);
|
||||
return (Message[]) messages.toArray(new Message[messages.size()]);
|
||||
}
|
||||
|
||||
public Message[] getMessagesByCriteria(MessageCriteria criteria) {
|
||||
Assert.notNull(criteria, "The message criteria is required");
|
||||
List messages = new ArrayList();
|
||||
Iterator it = objectMessages.values().iterator();
|
||||
while (it.hasNext()) {
|
||||
List sourceMessages = (List) it.next();
|
||||
for (Iterator it2 = sourceMessages.iterator(); it2.hasNext();) {
|
||||
Message message = (Message) it2.next();
|
||||
if (criteria.test(message)) {
|
||||
messages.add(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
return (Message[]) messages.toArray(new Message[messages.size()]);
|
||||
}
|
||||
|
||||
public void addMessage(MessageResolver messageResolver) {
|
||||
@@ -62,24 +87,20 @@ class DefaultMessageContext implements StateManageableMessageContext {
|
||||
messages.add(message);
|
||||
}
|
||||
|
||||
public Message[] getMessages() {
|
||||
List messages = new ArrayList();
|
||||
Iterator i = objectMessages.keySet().iterator();
|
||||
while (i.hasNext()) {
|
||||
messages.addAll((List) objectMessages.get(i.next()));
|
||||
}
|
||||
return (Message[]) messages.toArray(new Message[messages.size()]);
|
||||
}
|
||||
|
||||
public Message[] getMessages(Object source) {
|
||||
List messages = (List) objectMessages.get(source);
|
||||
return (Message[]) messages.toArray(new Message[messages.size()]);
|
||||
}
|
||||
|
||||
public void clearMessages() {
|
||||
objectMessages.clear();
|
||||
}
|
||||
|
||||
// implementing state manageable message context
|
||||
|
||||
public Serializable createMessagesMemento() {
|
||||
return new HashMap(objectMessages);
|
||||
}
|
||||
|
||||
public void restoreMessages(Serializable messagesMemento) {
|
||||
this.objectMessages.putAll((Map) messagesMemento);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return new ToStringCreator(this).append("objectMessages", objectMessages).toString();
|
||||
}
|
||||
|
||||
@@ -9,14 +9,20 @@ public interface MessageContext {
|
||||
* Get all messages in this context. The messages returned should be suitable for display as-is.
|
||||
* @return the messages
|
||||
*/
|
||||
public Message[] getMessages();
|
||||
public Message[] getAllMessages();
|
||||
|
||||
/**
|
||||
* Get all messages in this context from the source provided.
|
||||
* @param source the source that recorded the message
|
||||
* Get all messages in this context for the source provided.
|
||||
* @param source the source associated with messages, or null for global messages
|
||||
* @return the source's messages
|
||||
*/
|
||||
public Message[] getMessages(Object source);
|
||||
public Message[] getMessagesBySource(Object source);
|
||||
|
||||
/**
|
||||
* Get all messages that meet the given result criteria.
|
||||
* @param criteria the message criteria
|
||||
*/
|
||||
public Message[] getMessagesByCriteria(MessageCriteria criteria);
|
||||
|
||||
/**
|
||||
* Add a new message to this context.
|
||||
|
||||
Reference in New Issue
Block a user