@Service(value="blTranslationService") public class TranslationServiceImpl extends Object implements TranslationService
| Modifier and Type | Field and Description |
|---|---|
protected net.sf.ehcache.Cache |
cache |
protected TranslationDao |
dao |
protected TranslationServiceExtensionManager |
extensionManager |
protected GenericEntityDao |
genericEntityDao |
protected LocaleService |
localeService |
protected static org.apache.commons.logging.Log |
LOG |
protected boolean |
returnBlankTranslationForNotDefaultLocale |
protected SandBoxHelper |
sandBoxHelper |
protected StatisticsService |
statisticsService |
protected int |
thresholdForFullCache |
protected List<String> |
translationExceptionProperties |
| Constructor and Description |
|---|
TranslationServiceImpl() |
| Modifier and Type | Method and Description |
|---|---|
void |
deleteTranslationById(Long translationId)
Deletes the given translations
|
List<Translation> |
findAllTranslationEntries(TranslatedEntity translatedEntity,
ResultType standard,
List<String> entityIds)
Find all the available translations for the given params.
|
protected Translation |
findBestTemplateTranslation(String specificPropertyKey,
String generalPropertyKey,
Map<String,Map<String,Translation>> propertyTranslationMap,
String entityId) |
Translation |
findTranslationById(Long id)
Find a translation instance by its primary key value.
|
net.sf.ehcache.Cache |
getCache()
Get the translation specific cache (different than the level-2 hibernate cache)
|
protected String |
getCacheKey(ResultType resultType,
TranslatedEntity entityType) |
String |
getDefaultTranslationValue(Object entity,
String property,
Locale locale,
String requestedDefaultValue)
Intended for use with the
DynamicTranslationProvider to determine the default value when a
translation was not provided. |
protected TranslatedEntity |
getEntityType(Class<?> entityClass) |
protected TranslatedEntity |
getEntityType(Object entity) |
protected TranslatedEntity |
getEntityType(String className) |
protected String |
getOverrideTranslatedValue(String property,
TranslatedEntity entityType,
String entityId,
String localeCode,
String localeCountryCode) |
protected String |
getTemplateTranslatedValue(String standardCacheKey,
String property,
TranslatedEntity entityType,
String entityId,
String localeCode,
String localeCountryCode,
String specificPropertyKey,
String generalPropertyKey) |
protected int |
getThresholdForFullCache() |
String |
getTranslatedValue(Object entity,
String property,
Locale locale)
Returns the translated value of the property for the given entity.
|
Translation |
getTranslation(TranslatedEntity entity,
String entityId,
String fieldName,
String localeCode)
Attempts to find the translation object for the given parameters
|
List<Translation> |
getTranslations(String ceilingEntityClassname,
String entityId,
String property)
Finds all current translations for the specified field
|
protected boolean |
localeMatchesDefaultLocale(Locale locale)
Returns true if the passed in locale's language matches the Broadleaf default locale.
|
protected StandardCacheItem |
lookupTranslationFromMap(String key,
Map<String,Map<String,StandardCacheItem>> propertyTranslationMap,
String entityId) |
protected boolean |
propertyInDefaultLocaleExceptionList(Object entity,
String property)
Returns true if the passed in entity / property combination is in the defaultLocaleExceptionList
The default implementation checks the "translationExceptionProperties" list to see if the
property matches one of the regularExpressions in that list.
|
void |
removeTranslationFromCache(Translation translation)
Remove a translation instance from the translation specific cache (different than level-2 hibernate cache)
|
protected String |
replaceEmptyWithNullResponse(String response) |
Translation |
save(String entityType,
String entityId,
String fieldName,
String localeCode,
String translatedValue)
Creates a new translation object for the requested parameters, saves it, and returns the saved instance.
|
Translation |
save(Translation translation)
Persists the given translation
|
Translation |
update(Long translationId,
String localeCode,
String translatedValue)
Updates the given translation id with the new locale code and translated value
|
protected static final org.apache.commons.logging.Log LOG
protected TranslationDao dao
protected StatisticsService statisticsService
protected SandBoxHelper sandBoxHelper
protected net.sf.ehcache.Cache cache
protected TranslationServiceExtensionManager extensionManager
@Value(value="${translation.thresholdForFullCache:1000}")
protected int thresholdForFullCache
@Value(value="${returnBlankTranslationForNotDefaultLocale:false}")
protected boolean returnBlankTranslationForNotDefaultLocale
protected LocaleService localeService
protected GenericEntityDao genericEntityDao
@Transactional(value="blTransactionManager") public Translation save(Translation translation)
TranslationServicesave in interface TranslationService@Transactional(value="blTransactionManager") public Translation save(String entityType, String entityId, String fieldName, String localeCode, String translatedValue)
TranslationServicesave in interface TranslationServicepublic Translation findTranslationById(Long id)
TranslationServicefindTranslationById in interface TranslationServiceid - the primary key value@Transactional(value="blTransactionManager") public Translation update(Long translationId, String localeCode, String translatedValue)
TranslationServiceupdate in interface TranslationService@Transactional(value="blTransactionManager") public void deleteTranslationById(Long translationId)
TranslationServicedeleteTranslationById in interface TranslationServicepublic Translation getTranslation(TranslatedEntity entity, String entityId, String fieldName, String localeCode)
TranslationServicegetTranslation in interface TranslationServicepublic List<Translation> getTranslations(String ceilingEntityClassname, String entityId, String property)
TranslationServicegetTranslations in interface TranslationServicepublic net.sf.ehcache.Cache getCache()
TranslationServicegetCache in interface TranslationServicepublic String getTranslatedValue(Object entity, String property, Locale locale)
TranslationServicegetTranslatedValue in interface TranslationServicepublic void removeTranslationFromCache(Translation translation)
TranslationServiceremoveTranslationFromCache in interface TranslationServicetranslation - The translation instance to removeprotected String getOverrideTranslatedValue(String property, TranslatedEntity entityType, String entityId, String localeCode, String localeCountryCode)
protected String getTemplateTranslatedValue(String standardCacheKey, String property, TranslatedEntity entityType, String entityId, String localeCode, String localeCountryCode, String specificPropertyKey, String generalPropertyKey)
protected StandardCacheItem lookupTranslationFromMap(String key, Map<String,Map<String,StandardCacheItem>> propertyTranslationMap, String entityId)
protected Translation findBestTemplateTranslation(String specificPropertyKey, String generalPropertyKey, Map<String,Map<String,Translation>> propertyTranslationMap, String entityId)
protected TranslatedEntity getEntityType(Class<?> entityClass)
protected TranslatedEntity getEntityType(Object entity)
protected TranslatedEntity getEntityType(String className)
protected String getCacheKey(ResultType resultType, TranslatedEntity entityType)
protected int getThresholdForFullCache()
public String getDefaultTranslationValue(Object entity, String property, Locale locale, String requestedDefaultValue)
TranslationServiceDynamicTranslationProvider to determine the default value when a
translation was not provided.
The default implementation of this method relies on a system property "returnBlankTranslationForNotDefaultLocale".
If this is true, the system will return blank if the language of the defaultLocale does not match the language
of the passed in locale.
For example, consider the "longDescription" property and the system default locale is "en". If this method is
called for a locale of "en_CA", the requestedDefaultValue will be returned. If the method is called with a value
of "fr_CA", blank will be returned.getDefaultTranslationValue in interface TranslationServicepublic List<Translation> findAllTranslationEntries(TranslatedEntity translatedEntity, ResultType standard, List<String> entityIds)
TranslationServicefindAllTranslationEntries in interface TranslationServiceentityIds - the Translation.getEntityId() to restrict the results byprotected boolean propertyInDefaultLocaleExceptionList(Object entity, String property)
entity - property - protected boolean localeMatchesDefaultLocale(Locale locale)
locale - Copyright © 2017. All rights reserved.