Class 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 Detail

      • PublishPostWorkflowAction

        public PublishPostWorkflowAction()
    • Method Detail

      • 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 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 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>
      • setItemSynchronizationService

        public void setItemSynchronizationService​(ItemSynchronizationService itemSynchronizationService)
      • getSyncConfig

        protected SyncConfig getSyncConfig()
      • setSyncConfig

        public void setSyncConfig​(SyncConfig syncConfig)