Example usage for org.springframework.context.support AbstractMessageSource setUseCodeAsDefaultMessage

List of usage examples for org.springframework.context.support AbstractMessageSource setUseCodeAsDefaultMessage

Introduction

In this page you can find the example usage for org.springframework.context.support AbstractMessageSource setUseCodeAsDefaultMessage.

Prototype

public void setUseCodeAsDefaultMessage(boolean useCodeAsDefaultMessage) 

Source Link

Document

Set whether to use the message code as default message instead of throwing a NoSuchMessageException.

Usage

From source file:net.sourceforge.vulcan.spring.DelegatingResourceBundleMessageSource.java

public void addDelegate(ApplicationContext context) {
    if (context.containsBean(AbstractApplicationContext.MESSAGE_SOURCE_BEAN_NAME)) {
        MessageSource msgSrc = (MessageSource) context
                .getBean(AbstractApplicationContext.MESSAGE_SOURCE_BEAN_NAME);
        if (msgSrc instanceof AbstractMessageSource) {
            final AbstractMessageSource abstractMessageSource = (AbstractMessageSource) msgSrc;
            abstractMessageSource.setUseCodeAsDefaultMessage(false);
        }//from www  . ja  va  2s  .co  m
    }

    delegates.add(context);
}

From source file:com.acc.storefront.web.theme.StorefrontResourceBundleSource.java

protected MessageSource createMessageSource(final String basename, final MessageSource parentMessageSource) {
    final AbstractMessageSource messageSource = createMessageSource(basename);
    messageSource.setParentMessageSource(parentMessageSource);
    messageSource.setUseCodeAsDefaultMessage(true);
    return messageSource;
}

From source file:net.sourceforge.vulcan.spring.DelegatingResourceBundleMessageSourceTest.java

public void testDisablesUseCodeAsMessageOptionInChildren() throws Exception {
    final AbstractMessageSource src = new AbstractMessageSource() {
        @Override//  w  w w  .j  av  a  2 s .  co m
        public void setUseCodeAsDefaultMessage(boolean useCodeAsDefaultMessage) {
            super.setUseCodeAsDefaultMessage(useCodeAsDefaultMessage);
            DelegatingResourceBundleMessageSourceTest.this.useCodeAsDefaultMessage = useCodeAsDefaultMessage;
        }

        @Override
        protected String getMessageInternal(String code, Object[] args, Locale locale) {
            return null;
        }

        @Override
        protected MessageFormat resolveCode(String code, Locale locale) {
            return null;
        }
    };

    MockApplicationContext child = new MockApplicationContext() {
        @Override
        public boolean containsBeanDefinition(String name) {
            if (AbstractApplicationContext.MESSAGE_SOURCE_BEAN_NAME.equals(name)) {
                return true;
            }
            return super.containsBean(name);
        }

        @Override
        public Object getBean(String name) throws BeansException {
            return this.getBean(name, null);
        }

        @Override
        public Object getBean(String name, @SuppressWarnings("rawtypes") Class cls) throws BeansException {
            if (AbstractApplicationContext.MESSAGE_SOURCE_BEAN_NAME.equals(name)) {
                return src;
            }
            return super.getBean(name);
        }
    };

    src.setUseCodeAsDefaultMessage(true);

    child.refresh();

    assertTrue(useCodeAsDefaultMessage);
    source.setUseCodeAsDefaultMessage(false);
    source.addDelegate(child);

    try {
        source.getMessage("no.such.message", null, null);
        fail("should have thrown exception");
    } catch (NoSuchMessageException e) {
    }

    assertFalse(useCodeAsDefaultMessage);

    source.setUseCodeAsDefaultMessage(true);
    assertEquals("no.such.message", source.getMessage("no.such.message", null, null));

    assertEquals("no.such.message", source.getMessageInternal("no.such.message", null, null));
}