Class CharonKbDeterminationFacadeImpl
- java.lang.Object
-
- de.hybris.platform.sap.productconfig.runtime.cps.impl.CharonKbDeterminationFacadeImpl
-
- All Implemented Interfaces:
CharonKbDeterminationFacade
public class CharonKbDeterminationFacadeImpl extends java.lang.Object implements CharonKbDeterminationFacade
Default implementation ofCharonKbDeterminationFacade
-
-
Constructor Summary
Constructors Constructor Description CharonKbDeterminationFacadeImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.List<CPSMasterDataKBHeaderInfo>filterKBsByDate(java.util.Date kbDate, java.util.List<CPSMasterDataKBHeaderInfo> knowledgebases)protected java.util.List<CPSMasterDataKBHeaderInfo>getAllKBsOfProduct(java.lang.String productcode)protected CommerceExternalConfigurationStrategygetCommerceExternalConfigurationStrategy()protected KnowledgeBaseHeadersCacheAccessServicegetKnowledgeBasesCacheAccessService()protected com.fasterxml.jackson.databind.ObjectMappergetObjectMapper()protected RequestErrorHandlergetRequestErrorHandler()booleanhasKbForDate(java.lang.String productcode, java.util.Date kbDate)Check for knowledge bases on a given datebooleanhasKBForKey(KBKey kbKey)checks the given key for existencebooleanhasValidKBForKey(KBKey kbKey)checks the given key existence and validityprotected booleanisKBHeaderMatchingKBKey(CPSMasterDataKBHeaderInfo kb, KBKey kbKey)protected booleanisKBkeyInList(java.util.List<CPSMasterDataKBHeaderInfo> knowledgebases, KBKey kbKey)protected booleanisKBValidOnDate(java.util.Date kbDate, CPSMasterDataKBHeaderInfo kb)KBKeyparseKBKeyFromExtConfig(java.lang.String productCode, java.lang.String externalcfg)parses a KBKey from the external configurationjava.lang.IntegerreadKbIdForDate(java.lang.String productcode, java.util.Date kbDate)Reads KB ID for a given product and date.voidsetCommerceExternalConfigurationStrategy(CommerceExternalConfigurationStrategy commerceExternalConfigurationStrategy)Set the configuration strategy for external configurationsvoidsetKnowledgeBasesCacheAccessService(KnowledgeBaseHeadersCacheAccessService knowledgeBasesCacheAccessService)Set the service to access the kb cachevoidsetRequestErrorHandler(RequestErrorHandler requestErrorHandler)Set the error handler for REST service calls-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.hybris.platform.sap.productconfig.runtime.cps.CharonKbDeterminationFacade
getCurrentKbIdForProduct, hasKbForExtConfig
-
-
-
-
Method Detail
-
readKbIdForDate
public java.lang.Integer readKbIdForDate(java.lang.String productcode, java.util.Date kbDate)Description copied from interface:CharonKbDeterminationFacadeReads KB ID for a given product and date. It's not required that the KB for the product/date combination is unique, if multiple knowledge bases exist, the ID for the first found KB is returned- Specified by:
readKbIdForDatein interfaceCharonKbDeterminationFacade- Parameters:
productcode- product codekbDate- Validity date of KB- Returns:
- KB ID for first matching KB
-
hasKbForDate
public boolean hasKbForDate(java.lang.String productcode, java.util.Date kbDate)Description copied from interface:CharonKbDeterminationFacadeCheck for knowledge bases on a given date- Specified by:
hasKbForDatein interfaceCharonKbDeterminationFacade- Parameters:
productcode- Product codekbDate- Validity date- Returns:
- Does at least one knowledge base exist?
-
hasKBForKey
public boolean hasKBForKey(KBKey kbKey)
Description copied from interface:CharonKbDeterminationFacadechecks the given key for existence- Specified by:
hasKBForKeyin interfaceCharonKbDeterminationFacade- Parameters:
kbKey- key to check- Returns:
true, only if the given KBKey is known by the configuration engine
-
hasValidKBForKey
public boolean hasValidKBForKey(KBKey kbKey)
Description copied from interface:CharonKbDeterminationFacadechecks the given key existence and validity- Specified by:
hasValidKBForKeyin interfaceCharonKbDeterminationFacade- Parameters:
kbKey- key to check- Returns:
true, only if the given KBKey is known by the configuration engine and valid as of today
-
parseKBKeyFromExtConfig
public KBKey parseKBKeyFromExtConfig(java.lang.String productCode, java.lang.String externalcfg)
Description copied from interface:CharonKbDeterminationFacadeparses a KBKey from the external configuration- Specified by:
parseKBKeyFromExtConfigin interfaceCharonKbDeterminationFacade- Parameters:
productCode- productCodeexternalcfg- extConfig- Returns:
- KBKey with all fields filled
-
getAllKBsOfProduct
protected java.util.List<CPSMasterDataKBHeaderInfo> getAllKBsOfProduct(java.lang.String productcode)
-
filterKBsByDate
protected final java.util.List<CPSMasterDataKBHeaderInfo> filterKBsByDate(java.util.Date kbDate, java.util.List<CPSMasterDataKBHeaderInfo> knowledgebases)
-
isKBValidOnDate
protected boolean isKBValidOnDate(java.util.Date kbDate, CPSMasterDataKBHeaderInfo kb)
-
isKBkeyInList
protected boolean isKBkeyInList(java.util.List<CPSMasterDataKBHeaderInfo> knowledgebases, KBKey kbKey)
-
isKBHeaderMatchingKBKey
protected boolean isKBHeaderMatchingKBKey(CPSMasterDataKBHeaderInfo kb, KBKey kbKey)
-
getCommerceExternalConfigurationStrategy
protected CommerceExternalConfigurationStrategy getCommerceExternalConfigurationStrategy()
- Returns:
- the commerceExternalConfigurationStrategy
-
getObjectMapper
protected com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
- Returns:
- the objectMapper
-
getRequestErrorHandler
protected RequestErrorHandler getRequestErrorHandler()
-
setRequestErrorHandler
public void setRequestErrorHandler(RequestErrorHandler requestErrorHandler)
Set the error handler for REST service calls- Parameters:
requestErrorHandler- For wrapping the http errors we receive from the REST service call
-
getKnowledgeBasesCacheAccessService
protected KnowledgeBaseHeadersCacheAccessService getKnowledgeBasesCacheAccessService()
-
setKnowledgeBasesCacheAccessService
public void setKnowledgeBasesCacheAccessService(KnowledgeBaseHeadersCacheAccessService knowledgeBasesCacheAccessService)
Set the service to access the kb cache- Parameters:
knowledgeBasesCacheAccessService- the knowledgeBasesCacheAccessService to set
-
setCommerceExternalConfigurationStrategy
public void setCommerceExternalConfigurationStrategy(CommerceExternalConfigurationStrategy commerceExternalConfigurationStrategy)
Set the configuration strategy for external configurations- Parameters:
commerceExternalConfigurationStrategy- The commerceExternalConfigurationStrategy to set
-
-