Class AddonAwareMessageSource
- java.lang.Object
-
- org.springframework.context.support.MessageSourceSupport
-
- org.springframework.context.support.AbstractMessageSource
-
- org.springframework.context.support.AbstractResourceBasedMessageSource
-
- org.springframework.context.support.ReloadableResourceBundleMessageSource
-
- de.hybris.platform.ycommercewebservices.util.ws.impl.AddonAwareMessageSource
-
- All Implemented Interfaces:
org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware,org.springframework.context.HierarchicalMessageSource,org.springframework.context.MessageSource,org.springframework.context.ResourceLoaderAware
public class AddonAwareMessageSource extends org.springframework.context.support.ReloadableResourceBundleMessageSource implements org.springframework.context.ApplicationContextAwareMessageSource which can be aware of installed addons and extract message bundles from them.
-
-
Field Summary
Fields Modifier and Type Field Description protected org.springframework.core.io.ContextResourcebaseAddonDirprotected java.util.List<java.lang.String>basenamesprotected java.util.function.Predicate<java.lang.String>dirFilterprotected java.util.function.Predicate<java.lang.String>fileFilterprotected booleanscanForAddons
-
Constructor Summary
Constructors Constructor Description AddonAwareMessageSource()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.StringformatPath(java.lang.String path, java.lang.String basePath)Formats absolute file path using basePath to format acceptable by @link ReloadableResourceBundleMessageSource} Basename propertyprotected java.util.Collection<java.lang.String>getAddonsMessages()Searches for files defined by fileFilter under directories defined by dirFilter.org.springframework.core.io.ContextResourcegetBaseAddonDir()java.util.function.Predicate<java.lang.String>getDirFilter()java.util.function.Predicate<java.lang.String>getFileFilter()booleanisScanForAddons()protected java.util.Collection<java.lang.String>mapAddonLocation(java.util.Collection<java.lang.String> addonsPath, java.lang.String basePath)Maps each element of addonsPath to valid message bundle path.voidsetApplicationContext(org.springframework.context.ApplicationContext arg0)voidsetBaseAddonDir(org.springframework.core.io.ContextResource baseAddonDir)voidsetBasename(java.lang.String basename)voidsetBasenames(java.lang.String... basenames)voidsetDirFilter(java.util.function.Predicate<java.lang.String> dirFilter)voidsetFileFilter(java.util.function.Predicate<java.lang.String> fileFilter)voidsetScanForAddons(boolean scanForAddons)voidsetupAddonMessages()Searches for messages in installed addons and adds them to basenamesprotected booleanvalidateFilename(java.lang.String path)protected booleanvalidatePath(java.lang.String path)-
Methods inherited from class org.springframework.context.support.ReloadableResourceBundleMessageSource
calculateAllFilenames, calculateFilenamesForLocale, clearCache, clearCacheIncludingAncestors, getMergedProperties, getProperties, loadProperties, newProperties, refreshProperties, resolveCode, resolveCodeWithoutArguments, setConcurrentRefresh, setFileEncodings, setPropertiesPersister, setResourceLoader, toString
-
Methods inherited from class org.springframework.context.support.AbstractResourceBasedMessageSource
addBasenames, getBasenameSet, getCacheMillis, getDefaultEncoding, getDefaultLocale, isFallbackToSystemLocale, setCacheMillis, setCacheSeconds, setDefaultEncoding, setDefaultLocale, setFallbackToSystemLocale
-
Methods inherited from class org.springframework.context.support.AbstractMessageSource
getCommonMessages, getDefaultMessage, getDefaultMessage, getMessage, getMessage, getMessage, getMessageFromParent, getMessageInternal, getParentMessageSource, isUseCodeAsDefaultMessage, resolveArguments, setCommonMessages, setParentMessageSource, setUseCodeAsDefaultMessage
-
-
-
-
Field Detail
-
scanForAddons
protected boolean scanForAddons
-
baseAddonDir
protected org.springframework.core.io.ContextResource baseAddonDir
-
fileFilter
protected java.util.function.Predicate<java.lang.String> fileFilter
-
dirFilter
protected java.util.function.Predicate<java.lang.String> dirFilter
-
basenames
protected java.util.List<java.lang.String> basenames
-
-
Method Detail
-
setupAddonMessages
@PostConstruct public void setupAddonMessages()
Searches for messages in installed addons and adds them to basenames
-
getAddonsMessages
protected java.util.Collection<java.lang.String> getAddonsMessages() throws java.io.IOExceptionSearches for files defined by fileFilter under directories defined by dirFilter.- Returns:
- Collection of paths to message bundle files
- Throws:
java.io.IOException
-
validatePath
protected boolean validatePath(java.lang.String path)
-
validateFilename
protected boolean validateFilename(java.lang.String path)
-
mapAddonLocation
protected java.util.Collection<java.lang.String> mapAddonLocation(java.util.Collection<java.lang.String> addonsPath, java.lang.String basePath)Maps each element of addonsPath to valid message bundle path. Result collection is also filtered to remove empty, invalid and duplicated entries.- Parameters:
addonsPath- paths to transformbasePath- from where result path should start- Returns:
- collection of paths to message bundles
-
formatPath
protected java.lang.String formatPath(java.lang.String path, java.lang.String basePath)Formats absolute file path using basePath to format acceptable by @link ReloadableResourceBundleMessageSource} Basename property
-
setBasename
public void setBasename(java.lang.String basename)
- Overrides:
setBasenamein classorg.springframework.context.support.AbstractResourceBasedMessageSource
-
setBasenames
public void setBasenames(java.lang.String... basenames)
- Overrides:
setBasenamesin classorg.springframework.context.support.AbstractResourceBasedMessageSource
-
isScanForAddons
public boolean isScanForAddons()
- Returns:
- the scanForAddons
-
setScanForAddons
public void setScanForAddons(boolean scanForAddons)
- Parameters:
scanForAddons- the scanForAddons to set
-
getBaseAddonDir
public org.springframework.core.io.ContextResource getBaseAddonDir()
- Returns:
- the baseAddonDir
-
setBaseAddonDir
public void setBaseAddonDir(org.springframework.core.io.ContextResource baseAddonDir)
- Parameters:
baseAddonDir- the baseAddonDir to set
-
getFileFilter
public java.util.function.Predicate<java.lang.String> getFileFilter()
- Returns:
- the fileFilter
-
setFileFilter
public void setFileFilter(java.util.function.Predicate<java.lang.String> fileFilter)
- Parameters:
fileFilter- the fileFilter to set
-
getDirFilter
public java.util.function.Predicate<java.lang.String> getDirFilter()
- Returns:
- the dirFilter
-
setDirFilter
public void setDirFilter(java.util.function.Predicate<java.lang.String> dirFilter)
- Parameters:
dirFilter- the dirFilter to set
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext arg0)
- Specified by:
setApplicationContextin interfaceorg.springframework.context.ApplicationContextAware
-
-