Class ConfigurationProviderMockImpl
- java.lang.Object
-
- de.hybris.platform.sap.productconfig.runtime.mock.provider.impl.ConfigurationProviderMockImpl
-
- All Implemented Interfaces:
ConfigurationProvider
public class ConfigurationProviderMockImpl extends java.lang.Object implements ConfigurationProvider
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanasynchronousPricingActivestatic java.lang.StringSTATIC_DELTA_PRICESprefix for static delta prices
-
Constructor Summary
Constructors Constructor Description ConfigurationProviderMockImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringchangeConfiguration(ConfigModel model)Checks the configuration model for changes since the last update and will send only the changes to the configuration engine, if any.protected voidcheckConfigIsKnown(java.lang.String configId)protected ConfigModelcreateConfigMock(java.lang.String sapProductId, java.lang.String variantProductCode)ConfigModelcreateConfigurationFromExternalSource(Configuration extConfig)Creates a configuration from the configuration in external format which can be provided from outside, e.g.ConfigModelcreateConfigurationFromExternalSource(KBKey kbKey, java.lang.String extConfig)Creates a configuration from an XML string containing the configuration in external format.ConfigModelcreateDefaultConfiguration(KBKey kbKey)Creates a default configuration for the required knowledge base.protected voidensureNotToManyExtConfigs()protected booleanextConfigBelongsToValidProduct(java.lang.String configId)protected java.lang.StringextractConfigIdFromExtConfig(java.lang.String extConfig)Extracts the config id from an external configuration string.KBKeyextractKbKey(java.lang.String productCode, java.lang.String externalConfig)extracts the KBKey from the external configurationprotected java.lang.StringgenerateConfigId()ConfigModelgetCachedConfig(java.lang.String configId)ConfigMockFactorygetConfigMockFactory()protected java.lang.StringincrementVersion(ConfigModel model)protected voidinitVersion(ConfigModel model)booleanisKbForDateExists(java.lang.String productCode, java.util.Date kbDate)booleanisKbVersionExists(KBKey kbKey)booleanisKbVersionValid(KBKey kbKey)protected java.lang.StringparseAttributeValue(java.lang.String extConfig, java.lang.String tag, java.lang.String attribute)voidreleaseSession(java.lang.String configId)Releases the configuration sessions identified by the provided ID and all associated resources.voidreleaseSession(java.lang.String configId, java.lang.String version)Releases the configuration sessions identified by the provided ID and all associated resources.protected voidremoveDeltaPrices(InstanceModel instance)protected voidremovePrices(ConfigModel model)ConfigModelretrieveConfigurationFromVariant(java.lang.String baseProductCode, java.lang.String variantProductCode)Simple returns the default configuration of the base product as a variantConfigModelretrieveConfigurationModel(java.lang.String configId)Retrieve the current state of the configuration model for the requestedconfigId.java.lang.StringretrieveExternalConfiguration(java.lang.String configId)Retrieve the current state of the configuration for the requestedconfigIdas an XML string containing the configuration in external format.voidsetAsynchronousPricingActive(boolean active)protected voidsetAuthorSystemForAllCstics(InstanceModel instance)protected voidsetAuthorUserForAllChangedCstics(InstanceModel instance)voidsetConfigMockFactory(ConfigMockFactory configMockFactory)voidsetI18NService(I18NService notNeededYet)booleanupdateConfiguration(ConfigModel model)Checks the configuration model for changes since the last update and will send only the changes to the configuration engine, if any.-
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.interf.ConfigurationProvider
isConfigureVariantSupported, isKbVersionExists, retrieveConfigurationModel
-
-
-
-
Field Detail
-
asynchronousPricingActive
protected boolean asynchronousPricingActive
-
STATIC_DELTA_PRICES
public static final java.lang.String STATIC_DELTA_PRICES
prefix for static delta prices- See Also:
- Constant Field Values
-
-
Method Detail
-
setAsynchronousPricingActive
public void setAsynchronousPricingActive(boolean active)
-
createDefaultConfiguration
public ConfigModel createDefaultConfiguration(KBKey kbKey)
Description copied from interface:ConfigurationProviderCreates a default configuration for the required knowledge base. The knowledge base (KB) can be identified e.g. via the product code or via the KB name, version and logical system.- Specified by:
createDefaultConfigurationin interfaceConfigurationProvider- Parameters:
kbKey- Information needed to identify a knowledge base- Returns:
- The configurable product with default configuration
-
createConfigMock
protected ConfigModel createConfigMock(java.lang.String sapProductId, java.lang.String variantProductCode)
-
removePrices
protected void removePrices(ConfigModel model)
-
removeDeltaPrices
protected void removeDeltaPrices(InstanceModel instance)
-
setAuthorSystemForAllCstics
protected void setAuthorSystemForAllCstics(InstanceModel instance)
-
setAuthorUserForAllChangedCstics
protected void setAuthorUserForAllChangedCstics(InstanceModel instance)
-
updateConfiguration
public boolean updateConfiguration(ConfigModel model)
Description copied from interface:ConfigurationProviderChecks the configuration model for changes since the last update and will send only the changes to the configuration engine, if any.- Specified by:
updateConfigurationin interfaceConfigurationProvider- Parameters:
model- Updated model- Returns:
true, only if it was necessary to send an update to the configuration engine
-
retrieveConfigurationModel
public ConfigModel retrieveConfigurationModel(java.lang.String configId)
Description copied from interface:ConfigurationProviderRetrieve the current state of the configuration model for the requestedconfigId.- Specified by:
retrieveConfigurationModelin interfaceConfigurationProvider- Parameters:
configId- Unique configuration ID- Returns:
- The actual configuration
-
checkConfigIsKnown
protected void checkConfigIsKnown(java.lang.String configId)
-
retrieveExternalConfiguration
public java.lang.String retrieveExternalConfiguration(java.lang.String configId)
Description copied from interface:ConfigurationProviderRetrieve the current state of the configuration for the requestedconfigIdas an XML string containing the configuration in external format.- Specified by:
retrieveExternalConfigurationin interfaceConfigurationProvider- Parameters:
configId- Unique configuration ID- Returns:
- The actual configuration as XML string
-
extConfigBelongsToValidProduct
protected boolean extConfigBelongsToValidProduct(java.lang.String configId)
-
ensureNotToManyExtConfigs
protected void ensureNotToManyExtConfigs()
-
setI18NService
public void setI18NService(I18NService notNeededYet)
-
createConfigurationFromExternalSource
public ConfigModel createConfigurationFromExternalSource(Configuration extConfig)
Description copied from interface:ConfigurationProviderCreates a configuration from the configuration in external format which can be provided from outside, e.g. from the configuration prepared in the back end.
This API does _not_ force the KB related attributes to be existing. In case only the product ID is provided, a matching KB version is determined.- Specified by:
createConfigurationFromExternalSourcein interfaceConfigurationProvider- Parameters:
extConfig- External configuration in external format- Returns:
- Configuration model
-
createConfigurationFromExternalSource
public ConfigModel createConfigurationFromExternalSource(KBKey kbKey, java.lang.String extConfig)
Description copied from interface:ConfigurationProviderCreates a configuration from an XML string containing the configuration in external format.
This API requires the KB related attributes as part of the external configuration to be available, they are directly forwarded to the configuration engine.- Specified by:
createConfigurationFromExternalSourcein interfaceConfigurationProvider- Parameters:
kbKey- Information needed to create a knowledge baseextConfig- External configuration as XML string- Returns:
- Configuration model
-
generateConfigId
protected java.lang.String generateConfigId()
-
extractConfigIdFromExtConfig
protected java.lang.String extractConfigIdFromExtConfig(java.lang.String extConfig)
Extracts the config id from an external configuration string. The config id is stored as child element of the TEST_PROPERTIES tag. Example:1 - Parameters:
extConfig-- Returns:
- configId
-
parseAttributeValue
protected java.lang.String parseAttributeValue(java.lang.String extConfig, java.lang.String tag, java.lang.String attribute)
-
getCachedConfig
public ConfigModel getCachedConfig(java.lang.String configId)
-
releaseSession
public void releaseSession(java.lang.String configId)
Description copied from interface:ConfigurationProviderReleases the configuration sessions identified by the provided ID and all associated resources. Accessing the session afterwards is not possible anymore.- Specified by:
releaseSessionin interfaceConfigurationProvider- Parameters:
configId- session id
-
retrieveConfigurationFromVariant
public ConfigModel retrieveConfigurationFromVariant(java.lang.String baseProductCode, java.lang.String variantProductCode)
Simple returns the default configuration of the base product as a variant- Specified by:
retrieveConfigurationFromVariantin interfaceConfigurationProvider- Returns:
- The pre-filled configuration model
-
isKbForDateExists
public boolean isKbForDateExists(java.lang.String productCode, java.util.Date kbDate)- Specified by:
isKbForDateExistsin interfaceConfigurationProvider- Returns:
trueonly if a valid KBVersion exists for the given product and date.
-
getConfigMockFactory
public ConfigMockFactory getConfigMockFactory()
- Returns:
- the runTimeConfigMockFactory
-
setConfigMockFactory
public void setConfigMockFactory(ConfigMockFactory configMockFactory)
- Parameters:
configMockFactory- the runTimeConfigMockFactory to set
-
changeConfiguration
public java.lang.String changeConfiguration(ConfigModel model) throws ConfigurationEngineException
Description copied from interface:ConfigurationProviderChecks the configuration model for changes since the last update and will send only the changes to the configuration engine, if any. The version of the runtime configuration must be included in the configuration model and the method returns the new version after the update.- Specified by:
changeConfigurationin interfaceConfigurationProvider- Parameters:
model- Updated model- Returns:
- new configuration runtime version if update successful, otherwise null
- Throws:
ConfigurationEngineException
-
initVersion
protected void initVersion(ConfigModel model)
-
incrementVersion
protected java.lang.String incrementVersion(ConfigModel model)
-
releaseSession
public void releaseSession(java.lang.String configId, java.lang.String version)Description copied from interface:ConfigurationProviderReleases the configuration sessions identified by the provided ID and all associated resources. Accessing the session afterwards is not possible anymore.- Specified by:
releaseSessionin interfaceConfigurationProvider- Parameters:
configId- session idversion- version of the runtime configuration
-
extractKbKey
public KBKey extractKbKey(java.lang.String productCode, java.lang.String externalConfig)
Description copied from interface:ConfigurationProviderextracts the KBKey from the external configuration- Specified by:
extractKbKeyin interfaceConfigurationProvider- Returns:
- returns the kBKey of the given external config
-
isKbVersionExists
public boolean isKbVersionExists(KBKey kbKey)
- Specified by:
isKbVersionExistsin interfaceConfigurationProvider- Returns:
- returns
trueonly if the KB version identified by the the given KBKey is known by the underlying configuration engine.
-
isKbVersionValid
public boolean isKbVersionValid(KBKey kbKey)
- Specified by:
isKbVersionValidin interfaceConfigurationProvider- Returns:
- returns
trueonly if the KB version identified by the the given KBKey is known by the underlying configuration engine and if it is still valid on the given date.
-
-