List of usage examples for org.springframework.context HierarchicalMessageSource setParentMessageSource
void setParentMessageSource(@Nullable MessageSource parent);
From source file:cz.jirutka.spring.exhandler.RestHandlerExceptionResolverBuilder.java
public RestHandlerExceptionResolver build() { if (withDefaultMessageSource) { if (messageSource != null) { // set default message source as top parent HierarchicalMessageSource messages = resolveRootMessageSource(messageSource); if (messages != null) { messages.setParentMessageSource(createDefaultMessageSource()); }//from ww w. j a v a 2 s. co m } else { messageSource = createDefaultMessageSource(); } } if (withDefaultHandlers) { // add default handlers putAllIfAbsent(exceptionHandlers, getDefaultHandlers()); } // initialize handlers for (RestExceptionHandler handler : exceptionHandlers.values()) { if (messageSource != null && handler instanceof MessageSourceAware) { ((MessageSourceAware) handler).setMessageSource(messageSource); } if (messageInterpolator != null && handler instanceof MessageInterpolatorAware) { ((MessageInterpolatorAware) handler).setMessageInterpolator(messageInterpolator); } } RestHandlerExceptionResolver resolver = new RestHandlerExceptionResolver(); resolver.setExceptionHandlers((Map) exceptionHandlers); if (httpMessageConverters != null) { resolver.setMessageConverters(httpMessageConverters); } if (contentNegotiationManager != null) { resolver.setContentNegotiationManager(contentNegotiationManager); } if (defaultContentType != null) { resolver.setDefaultContentType(defaultContentType); } resolver.afterPropertiesSet(); return resolver; }
From source file:net.solarnetwork.node.backup.DefaultBackupManager.java
@Override public MessageSource getMessageSource() { HierarchicalMessageSource source = getMessageSourceInstance(); HierarchicalMessageSource child = source; for (BackupService backupService : backupServices) { PrefixedMessageSource ps = new PrefixedMessageSource(); ps.setDelegate(backupService.getSettingSpecifierProvider().getMessageSource()); ps.setPrefix(backupService.getKey() + "."); child.setParentMessageSource(ps); child = ps;/*from w w w . java 2s. c o m*/ } return source; }
From source file:org.springframework.context.support.AbstractApplicationContext.java
/** * Initialize the MessageSource./*from ww w .ja v a2 s. c o m*/ * Use parent's if none defined in this context. */ protected void initMessageSource() { ConfigurableListableBeanFactory beanFactory = getBeanFactory(); if (beanFactory.containsLocalBean(MESSAGE_SOURCE_BEAN_NAME)) { this.messageSource = beanFactory.getBean(MESSAGE_SOURCE_BEAN_NAME, MessageSource.class); // Make MessageSource aware of parent MessageSource. if (this.parent != null && this.messageSource instanceof HierarchicalMessageSource) { HierarchicalMessageSource hms = (HierarchicalMessageSource) this.messageSource; if (hms.getParentMessageSource() == null) { // Only set parent context as parent MessageSource if no parent MessageSource // registered already. hms.setParentMessageSource(getInternalParentMessageSource()); } } if (logger.isDebugEnabled()) { logger.debug("Using MessageSource [" + this.messageSource + "]"); } } else { // Use empty MessageSource to be able to accept getMessage calls. DelegatingMessageSource dms = new DelegatingMessageSource(); dms.setParentMessageSource(getInternalParentMessageSource()); this.messageSource = dms; beanFactory.registerSingleton(MESSAGE_SOURCE_BEAN_NAME, this.messageSource); if (logger.isDebugEnabled()) { logger.debug("Unable to locate MessageSource with name '" + MESSAGE_SOURCE_BEAN_NAME + "': using default [" + this.messageSource + "]"); } } }
From source file:org.springframework.ui.context.support.ResourceBundleThemeSource.java
/** * Initialize the MessageSource of the given theme with the * one from the corresponding parent of this ThemeSource. * @param theme the Theme to (re-)initialize *///from w w w . j a v a2s .c om protected void initParent(Theme theme) { if (theme.getMessageSource() instanceof HierarchicalMessageSource) { HierarchicalMessageSource messageSource = (HierarchicalMessageSource) theme.getMessageSource(); if (getParentThemeSource() != null && messageSource.getParentMessageSource() == null) { Theme parentTheme = getParentThemeSource().getTheme(theme.getName()); if (parentTheme != null) { messageSource.setParentMessageSource(parentTheme.getMessageSource()); } } } }