Class PromoteWorkflowManagerImpl
java.lang.Object
com.broadleafcommerce.enterprise.workflow.admin.service.AbstractWorkflowSupport
com.broadleafcommerce.enterprise.workflow.admin.service.AbstractPersistenceManagerAware
com.broadleafcommerce.enterprise.workflow.admin.service.behavior.AbstractWorkflowManager
com.broadleafcommerce.enterprise.workflow.admin.service.behavior.PromoteWorkflowManagerImpl
- All Implemented Interfaces:
PromoteWorkflowManager,PromotionStrategy,QualifiedStrategy,PersistenceManagerAware,WorkflowSupport,org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware,org.springframework.core.Ordered
- Direct Known Subclasses:
SimplePromotionStrategy
@Service("blPromoteWorkflowManager")
public class PromoteWorkflowManagerImpl
extends AbstractWorkflowManager
implements PromoteWorkflowManager
- Author:
- Jeff Fischer
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.broadleafcommerce.openadmin.server.security.remote.SecurityVerifierprotected org.broadleafcommerce.openadmin.server.security.remote.AdminSecurityServiceRemoteprotected BasicWorkflowPersistenceModuleprotected CacheInvalidationProducerprotected ConnectionExceptionHelperprotected com.broadleafcommerce.jobsevents.dao.DatabaseSystemEventDaostatic final Stringstatic final Stringprotected EnterpriseEventProducerprotected org.springframework.transaction.PlatformTransactionManagerprotected org.broadleafcommerce.common.util.StreamingTransactionCapableUtilprotected com.broadleafcommerce.enterprise.common.extension.enterprise.WorkflowManagerExtensionManagerprotected org.broadleafcommerce.common.id.service.IdGenerationServiceprotected ExecutionLockUtilprotected com.broadleafcommerce.jobsevents.service.ProcessStatusManagerprotected List<SolrSandBoxChangeProducer>protected SolrWorkflowSandBoxUtilprotected SyncWorkflowManagerprotected com.broadleafcommerce.jobsevents.service.DatabaseSystemEventNodeprotected com.broadleafcommerce.jobsevents.service.SystemEventSenderDeprecated.No longer used internallyprotected VersionManagerprotected WorkflowEventServiceprotected WorkflowFeatureServiceprotected WorkflowManagerFields inherited from class com.broadleafcommerce.enterprise.workflow.admin.service.behavior.AbstractWorkflowManager
applicationContext, enterpriseStateManager, entityItemDao, entityItemService, moduleManager, reconstituteForAddHandlers, sandBoxService, sbItemService, transUtil, workflowLogger, workflowStateManagerFields inherited from class com.broadleafcommerce.enterprise.workflow.admin.service.AbstractPersistenceManagerAware
sandBoxHelperFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddSandboxItemChangesToExistingDeployment(Long deploymentId, Long[] ids, Long[] eventIds, String message) Add the requestedWorkflowSandBoxIteminstances to an existing deploymentaddSandboxItemChangesToNewDeployment(WorkflowDeploymentRecurrenceType recurrenceType, Date deploymentDate, Long[] ids, Long[] eventIds, String name, String message) Setup a job that will launch a deployment of the requestedWorkflowSandBoxIteminstances on the specified date.Long[]Review the passed list ofWorkflowSandBoxItemids and determine what portion of the list is qualified to transition using this strategy.approveItemChanges(Long[] sandBoxItemIds, Long sandboxId) voidasyncPromoteSandBoxItemChanges(Long targetSandBox, Long[] sandBoxItemIds, boolean createEvent, String eventName, String eventMessage, Boolean isCritical) MoveWorkflowSandBoxIteminstances from their current sandbox to a parent sandbox.protected voidbuildContextRelatedDetails(com.broadleafcommerce.jobsevents.domain.ScheduledJob job) protected StringbuildDailyRecurrenceCron(Date deployTime) protected StringbuildMonthlyRecurrenceCron(Date deployTime) protected StringbuildNonRecurrenceCron(Date deployTime) protected com.broadleafcommerce.enterprise.common.extension.enterprise.PromotionOperationbuildPromotionOperation(boolean isProd, Long[] holder, List<String> maxedRegions, Long targetSandBox, String eventMessage, Long[] event) protected com.broadleafcommerce.jobsevents.domain.ScheduledJobbuildScheduleRelatedDetails(Date deployTime, String msg, WorkflowDeploymentRecurrenceType recurrenceType) protected StringbuildWeeklyRecurrenceCron(Date deployTime) protected StringbuildYearlyRecurrenceCron(Date deployTime) voidcancelDeployment(Long deploymentId) Cancel a deployment schedule.voidcancelEvents(Long[] events) A deployment schedule can be made up of several events.createDeploymentItem(Long[] events, Date deployTime, String message, WorkflowDeploymentRecurrenceType recurrenceType, String deploymentName) Creates an emptyWorkflowDeploymentscheduled for the given deploy time and recurrence typecreateDeploymentItem(Long[] events, Date deployTime, String message, WorkflowDeploymentRecurrenceType recurrenceType, String deploymentName, Long adminUserId) Creates an emptyWorkflowDeploymentscheduled for the given deploy time and recurrence typeprotected voidcreateDeploymentJob(WorkflowDeployment deployment, Date deployTime, Long[] sandBoxItemIds, Long[] events, Long[] deploymentId) createEmptyDeploymentJob(WorkflowDeployment deployment) Create a scheduled job that will launch a deployment of the requestedWorkflowDeploymenton the specified date.protected voidcreateProcessStatusMarker(boolean prod, Long[] holder) protected voidcreatePromotionSystemEvent(Long eventId, Long[] sandBoxItemIds, Boolean isCritical) protected voidfinalizePromote(boolean prod, Long[] holder) Deprecated.No longer used internallyprotected StringgenerateEventListKey(Long[] events) intgetOrder()protected PromotionEventSynchronizationAdapterprotected WorkflowManagervoidinit()protected voidinvalidateAndIndex(Long targetSandBox, WorkflowSandBoxItem sourceItem, boolean prod, Long processStatusMarker, List<String> maxedRegions, WorkflowSandBoxItem promotedItem) voidmarkEventsAsApproved(Long[] eventIds) Mark spefcifiedWorkflowEventinstances as APPROVEDprotected voidmarkItemsScheduled(Long[] sandBoxItemIds, Long[] events, Date deployTime, boolean isApproval) protected voidmarkPromotionError(Long sandBoxItemId, Exception e) protected booleanpromoteSandBoxItemChange(WorkflowSandBoxItem sandBoxItem, Long targetSandBox, String msg, Long processStatusMarker, boolean prod, Long event, List<String> maxedRegions, Set<Long> abandonedSandBoxItemIds) promoteSandBoxItemChanges(Long targetSandBox, Long[] sandBoxItemIds, boolean createEvent, String eventName, String eventMessage) MoveWorkflowSandBoxIteminstances from their current sandbox to a parent sandbox.promoteSandBoxItemChanges(Long targetSandBox, Long[] sandBoxItemIds, boolean createEvent, String eventName, String eventMessage, boolean isCritical) MoveWorkflowSandBoxIteminstances from their current sandbox to a parent sandbox.protected LongpromoteSandBoxItemChanges(Long targetSandBox, Long[] sandBoxItemIds, WorkflowEventDTO eventDTO) promoteSandBoxItemChanges(Long targetSandBox, Long[] sandBoxItemIds, Long eventId, String eventMessage, boolean isCritical) MoveWorkflowSandBoxIteminstances from their current sandbox to a parent sandbox.static voidscheduleSandBoxItemChanges(Long[] events, String msg, Date deployTime, WorkflowDeploymentRecurrenceType recurrenceType, String deploymentName) Setup a job that will launch a deployment of the requestedWorkflowSandBoxIteminstances on the specified date.scheduleUserSandboxItemChanges(Long[] sandBoxItemIds, Long sandboxId, String msg, Date deployTime, WorkflowDeploymentRecurrenceType recurrenceType, String deploymentName) protected voidsetPromotionMarker(Long[] sandBoxItemIds, Long event) protected LongsetupAsyncPromote(Long targetSandBox, String eventName, String eventMessage, Long[] sandBoxItemIds, Date deployTime) protected Long[]setupEvent(Long targetSandBox, Long[] sandBoxItemIds, WorkflowEventDTO eventDTO) protected voidsetupProcessStatusManager(Long eventId) protected voidstartPromoteEvent(Long id, List<Long> sandBoxItemIds) protected voidunMarkItemsScheduled(Long[] sandBoxItemIds, Long[] events) voidunsetAsyncApproval(Long eventId) Revert the setup for an asynchronous approval.voidunsetAsyncPromote(Long eventId, Long[] sandBoxItemIds) Revert the setup for an asynchronous promotion.intunsetAsyncPromoteWithStatus(Long eventId, Long[] sandBoxItemIds) protected voidvalidateSandboxItemForAddState(Long sandBoxItemId, Long[] allPromotingSandboxItemIds) protected voidvalidateSyncStateForItem(WorkflowSandBoxItem child, boolean checkAutoSync, Long targetSandBox) protected voidvalidateSyncStateForItems(Long[] sandBoxItemIds) Methods inherited from class com.broadleafcommerce.enterprise.workflow.admin.service.behavior.AbstractWorkflowManager
checkProductionDeploy, replayAdd, replayChange, replayDelete, replayUpdate, revertPreviousSandBoxChange, setApplicationContext, shouldReplayMethods inherited from class com.broadleafcommerce.enterprise.workflow.admin.service.AbstractPersistenceManagerAware
getCeilingImpl, getCeilingImpl, getDefaultFieldManager, getDefaultPersistenceManager, getDynamicEntityDao, getFieldManager, getFieldManager, getIdentifier, getIdProperty, getIdType, getOriginalId, getPersistenceManager, getPersistenceManager, getProdSandBoxVersionId, getProductionOriginalId, getSandBoxVersionId, load, mergeCloneIdsMethods inherited from class com.broadleafcommerce.enterprise.workflow.admin.service.AbstractWorkflowSupport
getGroupNameGeneralizationMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.broadleafcommerce.enterprise.workflow.admin.service.WorkflowSupport
getGroupNameGeneralization
-
Field Details
-
cacheInvalidationProducer
-
solrSandBoxChangeProducers
-
versionManager
-
syncWorkflowManager
-
idGenerationService
protected org.broadleafcommerce.common.id.service.IdGenerationService idGenerationService -
databaseSystemEventDao
protected com.broadleafcommerce.jobsevents.dao.DatabaseSystemEventDao databaseSystemEventDao -
adminSecurityServiceRemote
protected org.broadleafcommerce.openadmin.server.security.remote.AdminSecurityServiceRemote adminSecurityServiceRemote -
eventTransUtil
protected org.broadleafcommerce.common.util.StreamingTransactionCapableUtil eventTransUtil -
eventTransactionManager
protected org.springframework.transaction.PlatformTransactionManager eventTransactionManager -
workflowEventService
-
lockUtil
-
adminRemoteSecurityService
protected org.broadleafcommerce.openadmin.server.security.remote.SecurityVerifier adminRemoteSecurityService -
basicWorkflowPersistenceModule
-
extensionManager
protected com.broadleafcommerce.enterprise.common.extension.enterprise.WorkflowManagerExtensionManager extensionManager -
systemEventSender
Deprecated.No longer used internally -
enterpriseEventProducer
-
solrWorkflowSandBoxUtil
-
systemEventNode
protected com.broadleafcommerce.jobsevents.service.DatabaseSystemEventNode systemEventNode -
processStatusManager
protected com.broadleafcommerce.jobsevents.service.ProcessStatusManager processStatusManager -
workflowManager
-
connectionExceptionHelper
-
workflowFeatureService
-
DELETE_TARGET_ITEM_ID_ATTRIBUTE
- See Also:
-
DELETE_TARGET_TYPE_ATTRIBUTE
- See Also:
-
-
Constructor Details
-
PromoteWorkflowManagerImpl
public PromoteWorkflowManagerImpl()
-
-
Method Details
-
registerPromotionEventSynchronizationAdapter
public static void registerPromotionEventSynchronizationAdapter(PromotionEventSynchronizationAdapter adapter) -
getRegisteredPromotionEventSynchronizationAdapter
public static PromotionEventSynchronizationAdapter getRegisteredPromotionEventSynchronizationAdapter() -
init
@PostConstruct public void init() -
allow
Description copied from interface:QualifiedStrategyReview the passed list ofWorkflowSandBoxItemids and determine what portion of the list is qualified to transition using this strategy.- Specified by:
allowin interfaceQualifiedStrategy- Parameters:
sandBoxItemIds- The list of items to check (usually a batch of items).- Returns:
- The subset of items (or all) that are qualified to transition using this strategy.
-
getOrder
public int getOrder()- Specified by:
getOrderin interfaceorg.springframework.core.Ordered
-
scheduleSandBoxItemChanges
public Long scheduleSandBoxItemChanges(Long[] events, String msg, Date deployTime, WorkflowDeploymentRecurrenceType recurrenceType, String deploymentName) throws com.broadleafcommerce.enterprise.common.exception.ReplayException Description copied from interface:PromoteWorkflowManagerSetup a job that will launch a deployment of the requestedWorkflowSandBoxIteminstances on the specified date.- Specified by:
scheduleSandBoxItemChangesin interfacePromoteWorkflowManager- Parameters:
events- the event ids associated with the sandBoxItemIdsmsg- a deployment messagedeployTime- the time in the future to perform the deploymentrecurrenceType- the deployment recurrence type- Returns:
- the id of the
WorkflowDeploymentinstance created for this schedule - Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
approveItemChanges
- Specified by:
approveItemChangesin interfacePromoteWorkflowManager
-
scheduleUserSandboxItemChanges
public Long scheduleUserSandboxItemChanges(Long[] sandBoxItemIds, Long sandboxId, String msg, Date deployTime, WorkflowDeploymentRecurrenceType recurrenceType, String deploymentName) throws com.broadleafcommerce.enterprise.common.exception.ReplayException - Specified by:
scheduleUserSandboxItemChangesin interfacePromoteWorkflowManager- Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
asyncPromoteSandBoxItemChanges
public void asyncPromoteSandBoxItemChanges(Long targetSandBox, Long[] sandBoxItemIds, boolean createEvent, String eventName, String eventMessage, Boolean isCritical) throws com.broadleafcommerce.enterprise.common.exception.ReplayException Description copied from interface:PromoteWorkflowManagerMoveWorkflowSandBoxIteminstances from their current sandbox to a parent sandbox. The original WorkflowSandBoxItem is archived and a new one is created in the target sandbox. Additionally, as part of the promotion, the change tied to the WorkflowSandBoxItem is replayed on the target sandbox and the same changes in the current sandbox are archived. This method causes the operation to perform asynchronously by sending a system event. SeePromotionSystemEventConsumerfor event consumption details.- Specified by:
asyncPromoteSandBoxItemChangesin interfacePromoteWorkflowManager- Parameters:
targetSandBox- the sandbox to which the items will be promotedsandBoxItemIds- the primary key values representing the WorkflowSandBoxItem instances to be promotedcreateEvent- whether or not aWorkflowEventshould be created to encapsulate this promotioneventName- the name of the event to be created (can be null)eventMessage- the message associated with the event to be created (can be null)- Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
cancelDeployment
public void cancelDeployment(Long deploymentId) throws com.broadleafcommerce.enterprise.common.exception.ReplayException Description copied from interface:PromoteWorkflowManagerCancel a deployment schedule. This removed the schedule and puts all the scheduled items back in approval state.- Specified by:
cancelDeploymentin interfacePromoteWorkflowManager- Parameters:
deploymentId- the primary key value of theWorkflowDeploymentinstance for this schedule- Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
cancelEvents
public void cancelEvents(Long[] events) throws com.broadleafcommerce.enterprise.common.exception.ReplayException Description copied from interface:PromoteWorkflowManagerA deployment schedule can be made up of several events. Remove one or more of these events without cancelling the entire deployment schedule using this method.- Specified by:
cancelEventsin interfacePromoteWorkflowManager- Parameters:
events- the event ids to remove from the scheduled deployment- Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
promoteSandBoxItemChanges
public Long promoteSandBoxItemChanges(Long targetSandBox, Long[] sandBoxItemIds, Long eventId, String eventMessage, boolean isCritical) throws com.broadleafcommerce.enterprise.common.exception.ReplayException Description copied from interface:PromotionStrategyMoveWorkflowSandBoxIteminstances from their current sandbox to a parent sandbox. The original WorkflowSandBoxItem is archived and a new one is created in the target sandbox. Additionally, as part of the promotion, the change tied to the WorkflowSandBoxItem is replayed on the target sandbox and the same changes in the current sandbox are archived. This method is generally not called directly. Rather,PromoteWorkflowManager.asyncPromoteSandBoxItemChanges(Long, Long[], boolean, String, String, Boolean)orPromoteWorkflowManager.scheduleSandBoxItemChanges(Long[], String, Date, WorkflowDeploymentRecurrenceType, String)are called for asynchronous operation and engagement of theProcessStatusManagerfor catastrophic recovery. In order to maintain ProcessStatusManager recovery functionality during a non-asynchronous call, it is desireable to create aSystemEventwith a scopeType ofEventScopeType.NON_ASYNC_LOCALorEventScopeType.NON_ASYNC_LOCAL_NO_RESUMEand then use theSystemEventSenderto launch the operation as a non-async, consumable event.- Specified by:
promoteSandBoxItemChangesin interfacePromotionStrategy- Parameters:
targetSandBox- the sandbox to which the items will be promotedsandBoxItemIds- the primary key values representing the WorkflowSandBoxItem instances to be promotedeventId- the id of a pre-existing eventeventMessage- the message associated with the event to be created (can be null)- Returns:
- Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
promoteSandBoxItemChanges
public Long promoteSandBoxItemChanges(Long targetSandBox, Long[] sandBoxItemIds, boolean createEvent, String eventName, String eventMessage, boolean isCritical) throws com.broadleafcommerce.enterprise.common.exception.ReplayException Description copied from interface:PromotionStrategyMoveWorkflowSandBoxIteminstances from their current sandbox to a parent sandbox. The original WorkflowSandBoxItem is archived and a new one is created in the target sandbox. Additionally, as part of the promotion, the change tied to the WorkflowSandBoxItem is replayed on the target sandbox and the same changes in the current sandbox are archived. This method is generally not called directly. Rather,PromoteWorkflowManager.asyncPromoteSandBoxItemChanges(Long, Long[], boolean, String, String, Boolean)orPromoteWorkflowManager.scheduleSandBoxItemChanges(Long[], String, Date, WorkflowDeploymentRecurrenceType, String)are called for asynchronous operation and engagement of theProcessStatusManagerfor catastrophic recovery. In order to maintain ProcessStatusManager recovery functionality during a non-asynchronous call, it is desireable to create aSystemEventwith a scopeType ofEventScopeType.NON_ASYNC_LOCALorEventScopeType.NON_ASYNC_LOCAL_NO_RESUMEand then use theSystemEventSenderto launch the operation as a non-async, consumable event.- Specified by:
promoteSandBoxItemChangesin interfacePromotionStrategy- Parameters:
targetSandBox- the sandbox to which the items will be promotedsandBoxItemIds- the primary key values representing the WorkflowSandBoxItem instances to be promotedcreateEvent- whether or not aWorkflowEventshould be created to encapsulate this promotioneventName- the name of the event to be created (can be null)eventMessage- the message associated with the event to be created (can be null)- Returns:
- unique id marker for this promotion
- Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
promoteSandBoxItemChanges
public Long promoteSandBoxItemChanges(Long targetSandBox, Long[] sandBoxItemIds, boolean createEvent, String eventName, String eventMessage) throws com.broadleafcommerce.enterprise.common.exception.ReplayException Description copied from interface:PromotionStrategyMoveWorkflowSandBoxIteminstances from their current sandbox to a parent sandbox. The original WorkflowSandBoxItem is archived and a new one is created in the target sandbox. Additionally, as part of the promotion, the change tied to the WorkflowSandBoxItem is replayed on the target sandbox and the same changes in the current sandbox are archived. This method is generally not called directly. Rather,PromoteWorkflowManager.asyncPromoteSandBoxItemChanges(Long, Long[], boolean, String, String, Boolean)orPromoteWorkflowManager.scheduleSandBoxItemChanges(Long[], String, Date, WorkflowDeploymentRecurrenceType, String)are called for asynchronous operation and engagement of theProcessStatusManagerfor catastrophic recovery. In order to maintain ProcessStatusManager recovery functionality during a non-asynchronous call, it is desireable to create aSystemEventwith a scopeType ofEventScopeType.NON_ASYNC_LOCALorEventScopeType.NON_ASYNC_LOCAL_NO_RESUMEand then use theSystemEventSenderto launch the operation as a non-async, consumable event.- Specified by:
promoteSandBoxItemChangesin interfacePromotionStrategy- Parameters:
targetSandBox- the sandbox to which the items will be promotedsandBoxItemIds- the primary key values representing the WorkflowSandBoxItem instances to be promotedcreateEvent- whether or not aWorkflowEventshould be created to encapsulate this promotioneventName- the name of the event to be created (can be null)eventMessage- the message associated with the event to be created (can be null)- Returns:
- unique id marker for this promotion
- Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
unsetAsyncPromote
Description copied from interface:PromoteWorkflowManagerRevert the setup for an asynchronous promotion. This includes archiving the empty event and unmarking all the sandbox items so that they are once again visible for promotion.- Specified by:
unsetAsyncPromotein interfacePromoteWorkflowManager
-
unsetAsyncPromoteWithStatus
- Specified by:
unsetAsyncPromoteWithStatusin interfacePromoteWorkflowManager
-
unsetAsyncApproval
Description copied from interface:PromoteWorkflowManagerRevert the setup for an asynchronous approval. This includes unmarking all the events and items so that they are once again visible for approval.- Specified by:
unsetAsyncApprovalin interfacePromoteWorkflowManager
-
setupProcessStatusManager
-
getPromotionEventSynchronizationAdapter
-
setupEvent
-
promoteSandBoxItemChanges
protected Long promoteSandBoxItemChanges(Long targetSandBox, Long[] sandBoxItemIds, WorkflowEventDTO eventDTO) throws com.broadleafcommerce.enterprise.common.exception.ReplayException - Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
validateSandboxItemForAddState
protected void validateSandboxItemForAddState(Long sandBoxItemId, Long[] allPromotingSandboxItemIds) - Parameters:
sandBoxItemId- the current sandbox item we are promotingallPromotingSandboxItemIds- all of the sandbox ids within this entire promotion
-
markPromotionError
-
startPromoteEvent
-
buildPromotionOperation
-
createPromotionSystemEvent
-
createDeploymentJob
protected void createDeploymentJob(WorkflowDeployment deployment, Date deployTime, Long[] sandBoxItemIds, Long[] events, Long[] deploymentId) -
createDeploymentItem
public WorkflowDeployment createDeploymentItem(Long[] events, Date deployTime, String message, WorkflowDeploymentRecurrenceType recurrenceType, String deploymentName) Description copied from interface:PromoteWorkflowManagerCreates an emptyWorkflowDeploymentscheduled for the given deploy time and recurrence type- Specified by:
createDeploymentItemin interfacePromoteWorkflowManager
-
createDeploymentItem
public WorkflowDeployment createDeploymentItem(Long[] events, Date deployTime, String message, WorkflowDeploymentRecurrenceType recurrenceType, String deploymentName, Long adminUserId) Description copied from interface:PromoteWorkflowManagerCreates an emptyWorkflowDeploymentscheduled for the given deploy time and recurrence type- Specified by:
createDeploymentItemin interfacePromoteWorkflowManager
-
setupAsyncPromote
protected Long setupAsyncPromote(Long targetSandBox, String eventName, String eventMessage, Long[] sandBoxItemIds, Date deployTime) throws com.broadleafcommerce.enterprise.common.exception.ReplayException - Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
markItemsScheduled
protected void markItemsScheduled(Long[] sandBoxItemIds, Long[] events, Date deployTime, boolean isApproval) throws com.broadleafcommerce.enterprise.common.exception.ReplayException - Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
unMarkItemsScheduled
-
promoteSandBoxItemChange
protected boolean promoteSandBoxItemChange(WorkflowSandBoxItem sandBoxItem, Long targetSandBox, String msg, Long processStatusMarker, boolean prod, Long event, List<String> maxedRegions, Set<Long> abandonedSandBoxItemIds) throws com.broadleafcommerce.enterprise.common.exception.ReplayException - Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
invalidateAndIndex
protected void invalidateAndIndex(Long targetSandBox, WorkflowSandBoxItem sourceItem, boolean prod, Long processStatusMarker, List<String> maxedRegions, WorkflowSandBoxItem promotedItem) -
finalizePromote
Deprecated.No longer used internally- Parameters:
prod-holder-
-
createProcessStatusMarker
-
addSandboxItemChangesToNewDeployment
public Long addSandboxItemChangesToNewDeployment(WorkflowDeploymentRecurrenceType recurrenceType, Date deploymentDate, Long[] ids, Long[] eventIds, String name, String message) throws com.broadleafcommerce.enterprise.common.exception.ReplayException Description copied from interface:PromoteWorkflowManagerSetup a job that will launch a deployment of the requestedWorkflowSandBoxIteminstances on the specified date.- Specified by:
addSandboxItemChangesToNewDeploymentin interfacePromoteWorkflowManager- Parameters:
recurrenceType- the recurrence type (ONCE, DAILY, WEEKLY, etc)deploymentDate- the time in the future to perform the deploymentids- the ids associated with the sandBoxItemIdseventIds- the event ids associated with the workflowEventmessage- a deployment message- Returns:
- the id of the
WorkflowDeploymentinstance created for this schedule - Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
markEventsAsApproved
Description copied from interface:PromoteWorkflowManagerMark spefcifiedWorkflowEventinstances as APPROVED- Specified by:
markEventsAsApprovedin interfacePromoteWorkflowManager- Parameters:
eventIds- the eventIds to mark
-
createEmptyDeploymentJob
Description copied from interface:PromoteWorkflowManagerCreate a scheduled job that will launch a deployment of the requestedWorkflowDeploymenton the specified date.- Specified by:
createEmptyDeploymentJobin interfacePromoteWorkflowManager- Parameters:
deployment- the deployment to schedule
-
addSandboxItemChangesToExistingDeployment
public Long addSandboxItemChangesToExistingDeployment(Long deploymentId, Long[] ids, Long[] eventIds, String message) throws com.broadleafcommerce.enterprise.common.exception.ReplayException Description copied from interface:PromoteWorkflowManagerAdd the requestedWorkflowSandBoxIteminstances to an existing deployment- Specified by:
addSandboxItemChangesToExistingDeploymentin interfacePromoteWorkflowManager- Parameters:
deploymentId- the recurrence type (ONCE, DAILY, WEEKLY, etc)ids- the ids associated with the sandBoxItemIdseventIds- the event ids associated with the workflowEventmessage- a deployment message- Returns:
- the id of the
WorkflowDeploymentinstance created for this schedule - Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
setPromotionMarker
-
buildScheduleRelatedDetails
protected com.broadleafcommerce.jobsevents.domain.ScheduledJob buildScheduleRelatedDetails(Date deployTime, String msg, WorkflowDeploymentRecurrenceType recurrenceType) -
buildNonRecurrenceCron
-
buildDailyRecurrenceCron
-
buildWeeklyRecurrenceCron
-
buildMonthlyRecurrenceCron
-
buildYearlyRecurrenceCron
-
buildContextRelatedDetails
protected void buildContextRelatedDetails(com.broadleafcommerce.jobsevents.domain.ScheduledJob job) -
generateEventListKey
-
validateSyncStateForItems
protected void validateSyncStateForItems(Long[] sandBoxItemIds) throws com.broadleafcommerce.enterprise.common.exception.ReplayException - Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
validateSyncStateForItem
protected void validateSyncStateForItem(WorkflowSandBoxItem child, boolean checkAutoSync, Long targetSandBox) throws com.broadleafcommerce.enterprise.common.exception.ReplayException - Throws:
com.broadleafcommerce.enterprise.common.exception.ReplayException
-
getWorkflowManager
-