/** * Create a new StaticApplicationContext with the given parent. * @see #registerSingleton * @see #registerPrototype * @see #registerBeanDefinition * @see #refresh */ public StaticApplicationContext(@Nullable ApplicationContext parent) throws BeansException { super(parent); // Initialize and register a StaticMessageSource. this.staticMessageSource = new StaticMessageSource(); getBeanFactory().registerSingleton(MESSAGE_SOURCE_BEAN_NAME, this.staticMessageSource); }
/** * Create a new StaticApplicationContext with the given parent. * @see #registerSingleton * @see #registerPrototype * @see #registerBeanDefinition * @see #refresh */ public StaticApplicationContext(@Nullable ApplicationContext parent) throws BeansException { super(parent); // Initialize and register a StaticMessageSource. this.staticMessageSource = new StaticMessageSource(); getBeanFactory().registerSingleton(MESSAGE_SOURCE_BEAN_NAME, this.staticMessageSource); }
@Bean public MessageSource messageSource() { StaticMessageSource messageSource = new StaticMessageSource(); messageSource.addMessage("exception.user.exists", Locale.ENGLISH, "User already exists!"); return messageSource; } }
public DummyThemeSource() { this.messageSource = new StaticMessageSource(); this.messageSource.addMessage("themetest", Locale.ENGLISH, "theme test message"); this.messageSource.addMessage("themetestArgs", Locale.ENGLISH, "theme test message {0}"); }
@Test public void nestedMessageSourceWithParamInParent() { StaticMessageSource source = new StaticMessageSource(); StaticMessageSource parent = new StaticMessageSource(); source.setParentMessageSource(parent); parent.addMessage("param", Locale.ENGLISH, "value"); source.addMessage("with.param", Locale.ENGLISH, "put {0} here"); MessageSourceResolvable resolvable = new DefaultMessageSourceResolvable( new String[] {"with.param"}, new Object[] {new DefaultMessageSourceResolvable("param")}); assertEquals("put value here", source.getMessage(resolvable, Locale.ENGLISH)); }
@Test public void nestedMessageSourceWithParamInChild() { StaticMessageSource source = new StaticMessageSource(); StaticMessageSource parent = new StaticMessageSource(); source.setParentMessageSource(parent); source.addMessage("param", Locale.ENGLISH, "value"); parent.addMessage("with.param", Locale.ENGLISH, "put {0} here"); MessageSourceResolvable resolvable = new DefaultMessageSourceResolvable( new String[] {"with.param"}, new Object[] {new DefaultMessageSourceResolvable("param")}); assertEquals("put value here", source.getMessage(resolvable, Locale.ENGLISH)); }
@Test public void testRequiredFieldsValidation() { TargetWithValidatedMap target = new TargetWithValidatedMap(); BindingResult result = bind(target, "info:\n foo: bar"); assertEquals(2, result.getErrorCount()); for (FieldError error : result.getFieldErrors()) { System.err.println(new StaticMessageSource().getMessage(error, Locale.getDefault())); } }
@Test public void statusCodeAndReasonMessage() { Locale locale = Locale.CHINESE; LocaleContextHolder.setLocale(locale); try { StaticMessageSource messageSource = new StaticMessageSource(); messageSource.addMessage("gone.reason", locale, "Gone reason message"); exceptionResolver.setMessageSource(messageSource); StatusCodeAndReasonMessageException ex = new StatusCodeAndReasonMessageException(); exceptionResolver.resolveException(request, response, null, ex); assertEquals("Invalid status reason", "Gone reason message", response.getErrorMessage()); } finally { LocaleContextHolder.resetLocaleContext(); } }
@Test public void testRejectWithoutDefaultMessage() { TestBean tb = new TestBean(); tb.setName("myName"); tb.setAge(99); BeanPropertyBindingResult ex = new BeanPropertyBindingResult(tb, "tb"); ex.reject("invalid"); ex.rejectValue("age", "invalidField"); StaticMessageSource ms = new StaticMessageSource(); ms.addMessage("invalid", Locale.US, "general error"); ms.addMessage("invalidField", Locale.US, "invalid field"); assertEquals("general error", ms.getMessage(ex.getGlobalError(), Locale.US)); assertEquals("invalid field", ms.getMessage(ex.getFieldError("age"), Locale.US)); }
@Bean(name = "messageSource") public MessageSource messageSource() { StaticMessageSource messageSource = new StaticMessageSource(); return messageSource; }
/** * Creates a validator registry with a static message source * * @param mappingContext The mapping context * @param settings The settings * @return The registry */ public static ValidatorRegistry createValidatorRegistry(MappingContext mappingContext, ConnectionSourceSettings settings) { return createValidatorRegistry(mappingContext, settings, new StaticMessageSource()); }
@Override protected void setUp() { StaticMessageSource messageSource = new StaticMessageSource(); messageSource.addMessage(errorCode, Locale.getDefault(), "doesntmatter"); context = new DefaultMessageContext(messageSource); resolver = EasyMock.createMock(MessageCodesResolver.class); }
protected void setUp() { StaticMessageSource messageSource = new StaticMessageSource(); messageSource.addMessage("message", Locale.getDefault(), "Hello world resolved!"); messageSource.addMessage("argmessage", Locale.getDefault(), "Hello world {0}!"); context = new DefaultMessageContext(messageSource); }
@Override protected void setUp() { StaticMessageSource messageSource = new StaticMessageSource(); messageSource.addMessage("foo", Locale.getDefault(), "bar"); messageSource.addMessage("bar", Locale.getDefault(), "{0}"); context = new DefaultMessageContext(messageSource); SpringELExpressionParser parser = new SpringELExpressionParser(new SpelExpressionParser()); DefaultMessageCodesResolver resolver = new DefaultMessageCodesResolver(); errors = new MessageContextErrors(context, "object", new Object(), parser, resolver, null); }
public void testGetValue_ResolvableCode() { StaticMessageSource ms = new StaticMessageSource(); ms.addMessage("foo.bar", Locale.getDefault(), "hello"); RequestContextHolder.setRequestContext(new MockRequestContext()); assertEquals("Message should resolve to a valid message value", "hello", context.getELResolver().getValue(context, ms, "foo.bar")); }
public void testGetType_InvalidCode() { StaticMessageSource ms = new StaticMessageSource(); ms.addMessage("foo.bar", Locale.getDefault(), "hello"); RequestContextHolder.setRequestContext(new MockRequestContext()); try { context.getELResolver().getType(context, ms, "foo.baz"); fail("Message should not be resolvable"); } catch (PropertyNotFoundException ex) { // expected } }
public void testGetValue_InvalidCode() { StaticMessageSource ms = new StaticMessageSource(); ms.addMessage("foo.bar", Locale.getDefault(), "hello"); RequestContextHolder.setRequestContext(new MockRequestContext()); try { context.getELResolver().getValue(context, ms, "foo.baz"); fail("Message should not be resolvable"); } catch (PropertyNotFoundException ex) { // expected } }
public void testGetType_ResolvableCode() { StaticMessageSource ms = new StaticMessageSource(); ms.addMessage("foo.bar", Locale.getDefault(), "hello"); RequestContextHolder.setRequestContext(new MockRequestContext()); assertEquals("Message should resolve to a type of String", String.class, context.getELResolver().getType(context, ms, "foo.bar")); }
public void testIsReadOnly_MessageSourceBase() { StaticMessageSource ms = new StaticMessageSource(); RequestContextHolder.setRequestContext(new MockRequestContext()); assertTrue("isReadOnly should return true when the base is a MessageSource", context.getELResolver() .isReadOnly(context, ms, "foo")); }
public void testSetValue_MessageSourceBase() { StaticMessageSource ms = new StaticMessageSource(); RequestContextHolder.setRequestContext(new MockRequestContext()); try { context.getELResolver().setValue(context, ms, "foo", null); fail("setValue should fail when the base is a MessageSource"); } catch (PropertyNotWritableException ex) { // expected } }