Class PublishPostWorkflowAction

java.lang.Object
de.hybris.platform.cmsfacades.workflow.postaction.impl.PublishPostWorkflowAction
All Implemented Interfaces:
PostWorkflowAction

public class PublishPostWorkflowAction extends 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 Details

    • PublishPostWorkflowAction

      public PublishPostWorkflowAction()
  • Method Details

    • isApplicable

      Specified by:
      isApplicable in interface PostWorkflowAction
    • execute

      public void execute(WorkflowModel workflow)
      Specified by:
      execute in interface PostWorkflowAction
    • publishItems

      protected void publishItems(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(Map.Entry<String,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(Map.Entry<String,Set<CMSItemModel>> itemsByCatalogVersionEntry)
      Creates a SyncRequestData object 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 Map<String,Set<CMSItemModel>> findNonActiveItemsGroupedByCatalog(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)