Class MerchIndexingListener
- java.lang.Object
-
- com.hybris.merchandising.indexer.listeners.MerchIndexingListener
-
- All Implemented Interfaces:
IndexerBatchListener
,IndexerListener
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanFactoryAware
public class MerchIndexingListener extends java.lang.Object implements IndexerBatchListener, org.springframework.beans.factory.BeanFactoryAware, IndexerListener
MerchIndexingListener is a listener for carrying out actions following a Solr index.
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
ACTION_KEY
protected static java.lang.String
CATALOG_ID
protected static java.lang.String
CATALOG_VERSION
protected static java.lang.String
DEFAULT_QUERY_TEMPLATE
protected static java.lang.String
DESCRIPTION_KEY
protected static java.lang.String
EXECUTE
protected static java.lang.String
FACET_KEY
protected static java.lang.String
FACET_VALUES_KEY
protected static java.lang.String
ID_KEY
protected static java.lang.String
IMAGES_KEY
protected static java.lang.String
NAME_KEY
protected static java.lang.String
SUMMARY_KEY
protected static java.lang.String
URL_KEY
-
Constructor Summary
Constructors Constructor Description MerchIndexingListener()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterBatch(IndexerBatchContext batchContext)
Handles a notification that the processing for a particularIndexerBatchContext
has just been completed.void
afterBatchError(IndexerBatchContext batchContext)
Handles a notification that the processing for a particularIndexerBatchContext
failed.void
afterIndex(IndexerContext context)
Handles a notification that the indexing for a particularIndexerContext
has just been completed.void
afterIndexError(IndexerContext context)
Handles a notification that the indexing for a particularIndexerContext
failed.void
beforeBatch(IndexerBatchContext batchContext)
Handles a notification that the processing for a particularIndexerBatchContext
is about to begin.void
beforeIndex(IndexerContext context)
Handles a notification that the indexing for a particularIndexerContext
is about to begin.protected java.lang.String
createActionForIndexOperation(IndexOperation indexOperation)
createActionForIndexOperation is a method for retrieving the action to use when sending to Merchandising for a givenIndexOperation
.protected java.util.Map<java.lang.Object,java.lang.Object>
createFacetValueMapping(java.lang.Object fieldValue, SearchQuery query, IndexedProperty indexedProperty, java.lang.Object displayNameProvider)
createFacetValueMapping creates a map of key -> value pairs for a given facet.protected java.util.Map<java.lang.String,com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo>
createIndexedPropertiesMapping(IndexerBatchContext batchContext, SearchQuery searchQuery)
createIndexedPropertiesMapping is a method for retrieving a map of configured key value pairs for handling mapping between Solr internal data model and what to export.protected com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo
createIndexedPropertyInfo(SearchQuery searchQuery, IndexedProperty indexedProperty)
createIndexedPropertyInfo is a method for returning anMerchIndexingListener.IndexedPropertyInfo
representing a mapping from the Solr output to the configured Merchandising specific output.protected java.util.Map<java.lang.String,FacetField>
createMerchFacetPropertiesMapping(IndexerBatchContext batchContext, SearchQuery searchQuery, java.util.Map<java.lang.String,com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo> indexedPropertiesMapping)
createMerchFacetPropertiesMapping is a method for mapping facets to output for consumption by Merchandising.protected java.util.List<java.util.Map<java.lang.Object,java.lang.Object>>
createMerchFacetValues(FacetField facet, SearchQuery query, IndexedProperty indexedProperty, InputDocument document, com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo indexedPropertyInfo)
createMerchFacetValues is a method for retrieving the values for a provided facet.protected java.util.Map<java.lang.String,java.lang.String>
createMerchImagePropertiesMapping(java.util.List<MerchImagePropertyModel> merchImageProperties, java.util.Map<java.lang.String,com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo> indexedPropertiesMapping)
createMerchImagePropertiesMapping is an image specific method from mapping from a configured list ofMerchImagePropertyModel
to the indexed properties within Solr.protected java.util.Map<java.lang.String,java.lang.String>
createMerchPropertiesMapping(java.util.List<MerchPropertyModel> merchProperties, java.util.Map<java.lang.String,com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo> indexedPropertiesMapping)
createMerchPropertiesMapping is a method for mapping from the configured list ofMerchPropertyModel
to the indexed properties within Solr.protected SearchQuery
createSearchQuery(IndexerBatchContext batchContext, MerchIndexingConfigModel merchIndexingConfig)
createSearchQuery is used to generate an instance ofSearchQuery
to query Solr to retrieve updated product information.protected java.lang.String
extractPropName(AbstractMerchPropertyModel merchProp)
extractPropName is a method for retrieving the name of an indexed property.protected java.lang.String
extractPropTranslatedName(AbstractMerchPropertyModel merchProp)
extractPropTranslatedName is a method for retrieving the mapped name of an indexed property.protected CommonI18NService
getCommonI18NService()
FacetSearchService
getFacetSearchService()
FieldNameTranslator
getFieldNameTranslator()
MerchCatalogServiceClient
getMerchCatalogServiceClient()
protected MerchCategoryExporter
getMerchCategoryExporter()
protected MerchIndexingConfigService
getMerchIndexingConfigService()
protected SessionService
getSessionService()
protected boolean
isMerchIndexingEnabled(java.util.Optional<MerchIndexingConfigModel> merchIdxConf)
protected boolean
isToSynchronize(java.util.List<CatalogVersionModel> catalogVersionsToExport, InputDocument document)
isToSynchonize is a method for determining whether a given document is for the Online or Staging catalog.protected void
populateBasicProperties(java.util.Map<java.lang.String,java.lang.Object> product, IndexerBatchContext batchContext)
populateBasicProperties is used to retrieve a value from theIndexerBatchContext
and update it in the provided output map.protected void
populateMerchFacetProperties(java.util.Map<java.lang.String,java.lang.Object> product, InputDocument document, java.util.Map<java.lang.String,FacetField> merchFacetPropertiesMapping, java.util.Map<java.lang.String,com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo> indexedPropertiesMapping, SearchQuery searchQuery)
populateMerchFacetProperties is a method for populating facet information in the mapping to Merchandising.protected void
populateMerchImagesProperties(java.util.Map<java.lang.String,java.lang.Object> product, InputDocument document, java.util.Map<java.lang.String,java.lang.String> merchImagesPropertiesMapping, java.util.Map<java.lang.String,com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo> indexedPropertiesMapping, MerchIndexingConfigModel merchIndexingConfig)
populateMerchImagesProperties is a method for retrieving values from the providedInputDocument
.protected void
populateMerchProperties(java.util.Map<java.lang.String,java.lang.Object> product, InputDocument document, java.util.Map<java.lang.String,java.lang.String> merchPropertiesMapping, java.util.Map<java.lang.String,com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo> indexedPropertiesMapping, MerchIndexingConfigModel indexConfig)
populateMerchProperties is a method for retrieving values from the providedInputDocument
.protected java.lang.String
resolveFacetValueDisplayName(SearchQuery searchQuery, IndexedProperty indexedProperty, java.lang.Object facetDisplayNameProvider, java.lang.String facetValue)
resolveFacetValueDisplayName is a method for retrieving the display name for a given facet.protected java.lang.Object
resolveFacetValuesDisplayNameProvider(java.lang.String beanName)
resolveFacetValuesDisplayNameProvider is a utility method for retrieving a bean from the configured bean factory.protected void
sanitiseFields(java.util.Map<java.lang.String,java.lang.Object> product)
Sanitise fields is a method for URL encoding specific fields of a product.void
setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
void
setCommonI18NService(CommonI18NService commonI18NService)
void
setFacetSearchService(FacetSearchService facetSearchService)
void
setFieldNameTranslator(FieldNameTranslator fieldNameTranslator)
void
setMerchCatalogServiceClient(MerchCatalogServiceClient merchCatalogServiceClient)
void
setMerchCategoryExporter(MerchCategoryExporter merchCategoryExporter)
void
setMerchIndexingConfigService(MerchIndexingConfigService merchIndexingConfigService)
void
setSessionService(SessionService sessionService)
protected java.lang.String
translateField(SearchQuery query, java.lang.String field)
translateField returns the translated value for a given query and field.
-
-
-
Field Detail
-
DEFAULT_QUERY_TEMPLATE
protected static final java.lang.String DEFAULT_QUERY_TEMPLATE
- See Also:
- Constant Field Values
-
EXECUTE
protected static final java.lang.String EXECUTE
- See Also:
- Constant Field Values
-
ID_KEY
protected static final java.lang.String ID_KEY
- See Also:
- Constant Field Values
-
NAME_KEY
protected static final java.lang.String NAME_KEY
- See Also:
- Constant Field Values
-
DESCRIPTION_KEY
protected static final java.lang.String DESCRIPTION_KEY
- See Also:
- Constant Field Values
-
SUMMARY_KEY
protected static final java.lang.String SUMMARY_KEY
- See Also:
- Constant Field Values
-
ACTION_KEY
protected static final java.lang.String ACTION_KEY
- See Also:
- Constant Field Values
-
IMAGES_KEY
protected static final java.lang.String IMAGES_KEY
- See Also:
- Constant Field Values
-
FACET_KEY
protected static final java.lang.String FACET_KEY
- See Also:
- Constant Field Values
-
FACET_VALUES_KEY
protected static final java.lang.String FACET_VALUES_KEY
- See Also:
- Constant Field Values
-
URL_KEY
protected static final java.lang.String URL_KEY
- See Also:
- Constant Field Values
-
CATALOG_VERSION
protected static final java.lang.String CATALOG_VERSION
- See Also:
- Constant Field Values
-
CATALOG_ID
protected static final java.lang.String CATALOG_ID
- See Also:
- Constant Field Values
-
-
Method Detail
-
afterBatch
public void afterBatch(IndexerBatchContext batchContext) throws IndexerException
Handles a notification that the processing for a particularIndexerBatchContext
has just been completed.- Specified by:
afterBatch
in interfaceIndexerBatchListener
- Parameters:
batchContext
- - theIndexerBatchContext
- Throws:
IndexerException
- if an error occurs
-
isToSynchronize
protected boolean isToSynchronize(java.util.List<CatalogVersionModel> catalogVersionsToExport, InputDocument document)
isToSynchonize is a method for determining whether a given document is for the Online or Staging catalog.- Parameters:
catalogVersionsToExport
- a list of configured catalog versions for synchronizing with Merchandising.document
- theInputDocument
which has been indexed.- Returns:
- true if the catalog / catalog version are to be synchronized, false otherwise.
-
sanitiseFields
protected void sanitiseFields(java.util.Map<java.lang.String,java.lang.Object> product)
Sanitise fields is a method for URL encoding specific fields of a product.- Parameters:
product
- the product to sanitise (as a Map).
-
createSearchQuery
protected SearchQuery createSearchQuery(IndexerBatchContext batchContext, MerchIndexingConfigModel merchIndexingConfig) throws IndexerException
createSearchQuery is used to generate an instance ofSearchQuery
to query Solr to retrieve updated product information.- Parameters:
batchContext
- theIndexerBatchContext
representing the indexer batch.merchIndexingConfig
- theMerchIndexingConfigModel
representing the config we are using for the indexing.- Returns:
- an
SearchQuery
to use with the search. - Throws:
IndexerException
- in case of error.
-
createIndexedPropertiesMapping
protected java.util.Map<java.lang.String,com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo> createIndexedPropertiesMapping(IndexerBatchContext batchContext, SearchQuery searchQuery)
createIndexedPropertiesMapping is a method for retrieving a map of configured key value pairs for handling mapping between Solr internal data model and what to export.- Parameters:
batchContext
- theIndexerBatchContext
to retrieve from.searchQuery
- theSearchQuery
used to create the indexed property with.- Returns:
- a Map containing key value pairs for the mapping.
-
createIndexedPropertyInfo
protected com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo createIndexedPropertyInfo(SearchQuery searchQuery, IndexedProperty indexedProperty)
createIndexedPropertyInfo is a method for returning anMerchIndexingListener.IndexedPropertyInfo
representing a mapping from the Solr output to the configured Merchandising specific output.- Parameters:
searchQuery
- theSearchQuery
being used to retrieve the value from.indexedProperty
- theIndexedProperty
being used for the query.- Returns:
- an
IndexedPropertyInfo
representing the mapping.
-
createMerchPropertiesMapping
protected java.util.Map<java.lang.String,java.lang.String> createMerchPropertiesMapping(java.util.List<MerchPropertyModel> merchProperties, java.util.Map<java.lang.String,com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo> indexedPropertiesMapping)
createMerchPropertiesMapping is a method for mapping from the configured list ofMerchPropertyModel
to the indexed properties within Solr.- Parameters:
merchProperties
- the mapping we wish to use for the output.indexedPropertiesMapping
- the Solr mapping.- Returns:
- a Map containing the mapped output.
-
createMerchImagePropertiesMapping
protected java.util.Map<java.lang.String,java.lang.String> createMerchImagePropertiesMapping(java.util.List<MerchImagePropertyModel> merchImageProperties, java.util.Map<java.lang.String,com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo> indexedPropertiesMapping)
createMerchImagePropertiesMapping is an image specific method from mapping from a configured list ofMerchImagePropertyModel
to the indexed properties within Solr.- Parameters:
merchImageProperties
- the mapping we wish to use for the image output.indexedPropertiesMapping
- the Solr mapping.- Returns:
- a Map containing the mapped output.
-
extractPropName
protected java.lang.String extractPropName(AbstractMerchPropertyModel merchProp)
extractPropName is a method for retrieving the name of an indexed property.- Parameters:
merchProp
- anAbstractMerchPropertyModel
we wish to retrieve the name of.- Returns:
- a String containing the name.
-
extractPropTranslatedName
protected java.lang.String extractPropTranslatedName(AbstractMerchPropertyModel merchProp)
extractPropTranslatedName is a method for retrieving the mapped name of an indexed property. If not present, we default to the name of the indexed property.- Parameters:
merchProp
- theAbstractMerchPropertyModel
we wish to retrieve the name of.- Returns:
- a String containing the name.
-
createMerchFacetPropertiesMapping
protected java.util.Map<java.lang.String,FacetField> createMerchFacetPropertiesMapping(IndexerBatchContext batchContext, SearchQuery searchQuery, java.util.Map<java.lang.String,com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo> indexedPropertiesMapping)
createMerchFacetPropertiesMapping is a method for mapping facets to output for consumption by Merchandising.- Parameters:
batchContext
- theIndexerBatchContext
representing the indexer batch.searchQuery
- theSearchQuery
used for the request.indexedPropertiesMapping
- the mapping used for the request.- Returns:
- a Map containing key -> facet pairs.
-
populateBasicProperties
protected void populateBasicProperties(java.util.Map<java.lang.String,java.lang.Object> product, IndexerBatchContext batchContext)
populateBasicProperties is used to retrieve a value from theIndexerBatchContext
and update it in the provided output map.- Parameters:
product
- aMap
representing the product output.batchContext
- anIndexerBatchContext
to retrieve product details from.
-
populateMerchProperties
protected void populateMerchProperties(java.util.Map<java.lang.String,java.lang.Object> product, InputDocument document, java.util.Map<java.lang.String,java.lang.String> merchPropertiesMapping, java.util.Map<java.lang.String,com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo> indexedPropertiesMapping, MerchIndexingConfigModel indexConfig)
populateMerchProperties is a method for retrieving values from the providedInputDocument
.- Parameters:
product
- aMap
representing the product output.document
- theInputDocument
representing the search result.merchPropertiesMapping
- a key -> value pair mapping for mapping to Merchandising output.indexedPropertiesMapping
- a map containing indexed properties.indexConfig
- an instance ofMerchIndexingConfigModel
containing the configuration being used for this indexing.
-
populateMerchImagesProperties
protected void populateMerchImagesProperties(java.util.Map<java.lang.String,java.lang.Object> product, InputDocument document, java.util.Map<java.lang.String,java.lang.String> merchImagesPropertiesMapping, java.util.Map<java.lang.String,com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo> indexedPropertiesMapping, MerchIndexingConfigModel merchIndexingConfig)
populateMerchImagesProperties is a method for retrieving values from the providedInputDocument
.- Parameters:
product
- aMap
representing the product output.document
- theInputDocument
representing the search result.merchImagesPropertiesMapping
- a key -> value pair mapping for mapping to Merchandising output.indexedPropertiesMapping
- a map containing indexed properties.merchIndexingConfig
- an instance ofMerchIndexingConfigModel
containing the configuration being used for this indexing.
-
populateMerchFacetProperties
protected void populateMerchFacetProperties(java.util.Map<java.lang.String,java.lang.Object> product, InputDocument document, java.util.Map<java.lang.String,FacetField> merchFacetPropertiesMapping, java.util.Map<java.lang.String,com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo> indexedPropertiesMapping, SearchQuery searchQuery)
populateMerchFacetProperties is a method for populating facet information in the mapping to Merchandising.- Parameters:
product
- aMap
representing the product output.document
- theInputDocument
representing the search result.merchFacetPropertiesMapping
- a key -> value pair mapping for mapping to Merchandising output.indexedPropertiesMapping
- a map containing indexed properties.searchQuery
- theSearchQuery
being used to retrieve facets from.
-
createMerchFacetValues
protected java.util.List<java.util.Map<java.lang.Object,java.lang.Object>> createMerchFacetValues(FacetField facet, SearchQuery query, IndexedProperty indexedProperty, InputDocument document, com.hybris.merchandising.indexer.listeners.MerchIndexingListener.IndexedPropertyInfo indexedPropertyInfo)
createMerchFacetValues is a method for retrieving the values for a provided facet.- Parameters:
facet
- theFacetField
we are retrieving values for.query
- theSearchQuery
to retrieve values using.indexedProperty
- theIndexedProperty
representing the value we wish to retrieve.indexedPropertyInfo
- theMerchIndexingListener.IndexedPropertyInfo
representing the field to retrieve.- Returns:
- a Map containing the facet mapping.
-
resolveFacetValuesDisplayNameProvider
protected java.lang.Object resolveFacetValuesDisplayNameProvider(java.lang.String beanName)
resolveFacetValuesDisplayNameProvider is a utility method for retrieving a bean from the configured bean factory.- Parameters:
beanName
- the bean to retrieve.- Returns:
- an
Object
representing the bean if found, null otherwise.
-
resolveFacetValueDisplayName
protected java.lang.String resolveFacetValueDisplayName(SearchQuery searchQuery, IndexedProperty indexedProperty, java.lang.Object facetDisplayNameProvider, java.lang.String facetValue)
resolveFacetValueDisplayName is a method for retrieving the display name for a given facet.- Parameters:
searchQuery
- theSearchQuery
we are using for the retrieval.indexedProperty
- theIndexedProperty
we are retrieving.facetDisplayNameProvider
- the value provider for the display name.facetValue
- the value we wish to retrieve.- Returns:
- the display name for the facet.
-
createFacetValueMapping
protected java.util.Map<java.lang.Object,java.lang.Object> createFacetValueMapping(java.lang.Object fieldValue, SearchQuery query, IndexedProperty indexedProperty, java.lang.Object displayNameProvider)
createFacetValueMapping creates a map of key -> value pairs for a given facet.- Parameters:
fieldValue
- the value of the facet to use.query
- theSearchQuery
being used to resolve the display name from.indexedProperty
- theIndexedProperty
being used to resolve the display name from.displayNameProvider
- the configured display name provider.- Returns:
- a Map containing facet value mapping.
-
translateField
protected java.lang.String translateField(SearchQuery query, java.lang.String field)
translateField returns the translated value for a given query and field.- Parameters:
query
- theSearchQuery
we are using to retrieve the translated value from.field
- the query's field to retrieve.- Returns:
- a String containing the translated field.
-
createActionForIndexOperation
protected java.lang.String createActionForIndexOperation(IndexOperation indexOperation)
createActionForIndexOperation is a method for retrieving the action to use when sending to Merchandising for a givenIndexOperation
.- Parameters:
indexOperation
- the operation to retrieve the value for.- Returns:
- the action to use.
-
isMerchIndexingEnabled
protected boolean isMerchIndexingEnabled(java.util.Optional<MerchIndexingConfigModel> merchIdxConf)
-
afterIndex
public void afterIndex(IndexerContext context) throws IndexerException
Handles a notification that the indexing for a particularIndexerContext
has just been completed.- Specified by:
afterIndex
in interfaceIndexerListener
- Parameters:
context
- - theIndexerContext
- Throws:
IndexerException
- if an error occurs
-
beforeBatch
public void beforeBatch(IndexerBatchContext batchContext) throws IndexerException
Handles a notification that the processing for a particularIndexerBatchContext
is about to begin.- Specified by:
beforeBatch
in interfaceIndexerBatchListener
- Parameters:
batchContext
- - theIndexerBatchContext
- Throws:
IndexerException
- if an error occurs
-
afterBatchError
public void afterBatchError(IndexerBatchContext batchContext) throws IndexerException
Handles a notification that the processing for a particularIndexerBatchContext
failed.- Specified by:
afterBatchError
in interfaceIndexerBatchListener
- Parameters:
batchContext
- - theIndexerBatchContext
- Throws:
IndexerException
- if an error occurs
-
beforeIndex
public void beforeIndex(IndexerContext context) throws IndexerException
Handles a notification that the indexing for a particularIndexerContext
is about to begin.- Specified by:
beforeIndex
in interfaceIndexerListener
- Parameters:
context
- - theIndexerContext
- Throws:
IndexerException
- if an error occurs
-
afterIndexError
public void afterIndexError(IndexerContext context) throws IndexerException
Handles a notification that the indexing for a particularIndexerContext
failed.- Specified by:
afterIndexError
in interfaceIndexerListener
- Parameters:
context
- - theIndexerContext
- Throws:
IndexerException
- if an error occurs
-
setBeanFactory
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) throws org.springframework.beans.BeansException
- Specified by:
setBeanFactory
in interfaceorg.springframework.beans.factory.BeanFactoryAware
- Throws:
org.springframework.beans.BeansException
-
getFacetSearchService
public FacetSearchService getFacetSearchService()
-
setFacetSearchService
public void setFacetSearchService(FacetSearchService facetSearchService)
-
getFieldNameTranslator
public FieldNameTranslator getFieldNameTranslator()
-
setFieldNameTranslator
public void setFieldNameTranslator(FieldNameTranslator fieldNameTranslator)
-
getMerchCatalogServiceClient
public MerchCatalogServiceClient getMerchCatalogServiceClient()
-
setMerchCatalogServiceClient
public void setMerchCatalogServiceClient(MerchCatalogServiceClient merchCatalogServiceClient)
-
getMerchIndexingConfigService
protected MerchIndexingConfigService getMerchIndexingConfigService()
-
setMerchIndexingConfigService
public void setMerchIndexingConfigService(MerchIndexingConfigService merchIndexingConfigService)
-
getSessionService
protected SessionService getSessionService()
-
setSessionService
public void setSessionService(SessionService sessionService)
-
getCommonI18NService
protected CommonI18NService getCommonI18NService()
-
setCommonI18NService
public void setCommonI18NService(CommonI18NService commonI18NService)
-
getMerchCategoryExporter
protected MerchCategoryExporter getMerchCategoryExporter()
-
setMerchCategoryExporter
public void setMerchCategoryExporter(MerchCategoryExporter merchCategoryExporter)
-
-