UI message system initial commit; support for adding UI messages of different severities INFO, WARNING, ERROR, FATAL

This commit is contained in:
Keith Donald
2009-06-06 19:13:27 +00:00
parent 8c65ed9e0b
commit 534871e6f6
13 changed files with 682 additions and 18 deletions

View File

@@ -0,0 +1,24 @@
package org.springframework.ui.message;
import static org.junit.Assert.assertEquals;
import java.util.Locale;
import org.junit.Test;
import org.springframework.context.support.StaticMessageSource;
public class MessageBuilderTests {
private MessageBuilder builder = new MessageBuilder();
@Test
public void buildMessage() {
MessageResolver resolver = builder.severity(Severity.ERROR).code("invalidFormat").resolvableArg("mathForm.decimalField")
.arg("#,###.##").defaultText("Field must be in format #,###.##").build();
StaticMessageSource messageSource = new StaticMessageSource();
messageSource.addMessage("invalidFormat", Locale.US, "{0} must be in format {1}");
messageSource.addMessage("mathForm.decimalField", Locale.US, "Decimal Field");
Message message = resolver.resolveMessage(messageSource, Locale.US);
assertEquals(Severity.ERROR, message.getSeverity());
assertEquals("Decimal Field must be in format #,###.##", message.getText());
}
}

View File

@@ -0,0 +1,40 @@
package org.springframework.ui.message.support;
import static org.junit.Assert.*;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.StaticMessageSource;
import org.springframework.ui.message.Message;
import org.springframework.ui.message.MessageBuilder;
import org.springframework.ui.message.MessageResolver;
import org.springframework.ui.message.Severity;
public class DefaultMessageContextTests {
private DefaultMessageContext context;
@Before
public void setUp() {
StaticMessageSource messageSource = new StaticMessageSource();
messageSource.addMessage("invalidFormat", Locale.US, "{0} must be in format {1}");
messageSource.addMessage("mathForm.decimalField", Locale.US, "Decimal Field");
context = new DefaultMessageContext(messageSource);
}
@Test
public void addMessage() {
MessageBuilder builder = new MessageBuilder();
MessageResolver message = builder.severity(Severity.ERROR).code("invalidFormat").resolvableArg(
"mathForm.decimalField").arg("#,###.##").defaultText("Field must be in format #,###.##").build();
context.addMessage("mathForm.decimalField", message);
Map<String, List<Message>> messages = context.getMessages();
assertEquals(1, messages.size());
assertEquals("Decimal Field must be in format #,###.##", messages.get("mathForm.decimalField").get(0).getText());
assertEquals("Decimal Field must be in format #,###.##", context.getMessages("mathForm.decimalField").get(0).getText());
}
}