Example usage for org.springframework.context.support ReloadableResourceBundleMessageSource setPropertiesPersister

List of usage examples for org.springframework.context.support ReloadableResourceBundleMessageSource setPropertiesPersister

Introduction

In this page you can find the example usage for org.springframework.context.support ReloadableResourceBundleMessageSource setPropertiesPersister.

Prototype

public void setPropertiesPersister(@Nullable PropertiesPersister propertiesPersister) 

Source Link

Document

Set the PropertiesPersister to use for parsing properties files.

Usage

From source file:net.sf.sze.config.WebMvcConfig.java

/**
 * Initiates the message resolver./*from   ww  w.j a  va  2 s .co  m*/
 *
 * @return a message source.
 */
@Bean(name = "messageSource")
public MessageSource configureMessageSource() {
    ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
    messageSource.setBasenames(MESSAGE_SOURCE, APP_MESSAGE_SOURCE, HELP_MESSAGE_SOURCE, MESSAGE_SOURCE_OVAL);
    messageSource.setCacheSeconds(MESSAGE_CACHE);
    messageSource.setFallbackToSystemLocale(false);
    // Make sure Apostrophs must always be doubled..
    messageSource.setAlwaysUseMessageFormat(true);
    // This persister doubles Apostoph
    messageSource.setPropertiesPersister(
            new RecursivePropertiesPersister(new ApostropheEscapingPropertiesPersister()));

    final Class<?>[] classes = URL.class.getDeclaredClasses();
    final UrlDefinitionsToMessages urlDefinitions = new UrlDefinitionsToMessages(classes);
    urlDefinitions.addParamGroupAsMessages();
    urlDefinitions.addParamsAsMessages();
    urlDefinitions.addUrlsAsMessagesWithNamedParameters();
    Properties staticMessages = urlDefinitions.getMessages();
    final EntityPropertiesToMessages epm = new EntityPropertiesToMessages("net.sf.sze.model");
    staticMessages.putAll(epm.getProperties());
    final String version = buildNr.replace("SNAPSHOT", Long.toString(System.currentTimeMillis()));
    staticMessages.put("app.version", version);
    messageSource.setCommonMessages(staticMessages);
    return messageSource;
}