Class PublishPostWorkflowAction
- java.lang.Object
-
- de.hybris.platform.cmsfacades.workflow.postaction.impl.PublishPostWorkflowAction
-
- All Implemented Interfaces:
PostWorkflowAction
public class PublishPostWorkflowAction extends java.lang.Object implements PostWorkflowAction
Automatic action performed after the completion of the Publish action in the workflow.Note: Purposefully not implemented as an
AutomatedWorkflowTemplateJob; see CMSX-8521 for more details.
-
-
Constructor Summary
Constructors Constructor Description PublishPostWorkflowAction()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected SyncRequestDatabuildSyncRequestData(java.util.Map.Entry<java.lang.String,java.util.Set<CMSItemModel>> itemsByCatalogVersionEntry)Creates aSyncRequestDataobject determining the catalog and catalog versions to be used by the synchronization job.voidexecute(WorkflowModel workflow)protected java.util.Map<java.lang.String,java.util.Set<CMSItemModel>>findNonActiveItemsGroupedByCatalog(java.util.List<CMSItemModel> items)Find all items defined in a non-active catalog version and group the items by catalog.protected ItemSynchronizationServicegetItemSynchronizationService()protected SyncConfiggetSyncConfig()protected CMSWorkflowActionServicegetWorkflowActionService()java.util.function.BiPredicate<WorkflowModel,CMSWorkflowOperationData>isApplicable()protected voidperformItemsSync(java.util.Map.Entry<java.lang.String,java.util.Set<CMSItemModel>> itemsByCatalogVersionEntry)Synchronizes all items defined in the same catalog version to the associated active catalog version.protected voidpublishItems(java.util.List<CMSItemModel> items)Synchronizes items from a non-active catalog version to the respective active catalog version.voidsetItemSynchronizationService(ItemSynchronizationService itemSynchronizationService)voidsetSyncConfig(SyncConfig syncConfig)voidsetWorkflowActionService(CMSWorkflowActionService workflowActionService)
-
-
-
Method Detail
-
isApplicable
public java.util.function.BiPredicate<WorkflowModel,CMSWorkflowOperationData> isApplicable()
- Specified by:
isApplicablein interfacePostWorkflowAction
-
execute
public void execute(WorkflowModel workflow)
- Specified by:
executein interfacePostWorkflowAction
-
publishItems
protected void publishItems(java.util.List<CMSItemModel> items)
Synchronizes items from a non-active catalog version to the respective active catalog version.- Parameters:
items- the items to be synchronized
-
performItemsSync
protected void performItemsSync(java.util.Map.Entry<java.lang.String,java.util.Set<CMSItemModel>> itemsByCatalogVersionEntry)
Synchronizes all items defined in the same catalog version to the associated active catalog version.- Parameters:
itemsByCatalogVersionEntry- the entry containing the source catalog version name and a collection of items that are defined in the same source catalog version.
-
buildSyncRequestData
protected SyncRequestData buildSyncRequestData(java.util.Map.Entry<java.lang.String,java.util.Set<CMSItemModel>> itemsByCatalogVersionEntry)
Creates aSyncRequestDataobject determining the catalog and catalog versions to be used by the synchronization job.- Parameters:
itemsByCatalogVersionEntry- the entry containing the source catalog version name and a collection of items that are defined in the same source catalog version.
-
findNonActiveItemsGroupedByCatalog
protected java.util.Map<java.lang.String,java.util.Set<CMSItemModel>> findNonActiveItemsGroupedByCatalog(java.util.List<CMSItemModel> items)
Find all items defined in a non-active catalog version and group the items by catalog.- Returns:
- a map of
<catalogId, CMSItems>
-
getItemSynchronizationService
protected ItemSynchronizationService getItemSynchronizationService()
-
setItemSynchronizationService
public void setItemSynchronizationService(ItemSynchronizationService itemSynchronizationService)
-
getSyncConfig
protected SyncConfig getSyncConfig()
-
setSyncConfig
public void setSyncConfig(SyncConfig syncConfig)
-
getWorkflowActionService
protected CMSWorkflowActionService getWorkflowActionService()
-
setWorkflowActionService
public void setWorkflowActionService(CMSWorkflowActionService workflowActionService)
-
-