Class AbstractCmmnDynamicStateManager
java.lang.Object
org.flowable.cmmn.engine.impl.runtime.AbstractCmmnDynamicStateManager
- Direct Known Subclasses:
CaseInstanceMigrationManagerImpl
,DefaultCmmnDynamicStateManager
- Author:
- Tijs Rademakers, Valentin Zickner
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected CmmnEngineConfiguration
protected final org.slf4j.Logger
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractCmmnDynamicStateManager
(CmmnEngineConfiguration cmmnEngineConfiguration) -
Method Summary
Modifier and TypeMethodDescriptionprotected PlanItemInstanceEntity
copyAndInsertPlanItemInstance
(CommandContext commandContext, PlanItemInstanceEntity planItemInstanceEntityToCopy, boolean addToParent) protected void
createChildPlanItemInstancesForStage
(List<PlanItemInstanceEntity> newPlanItemInstances, Map<String, List<PlanItemInstanceEntity>> runtimePlanItemInstanceMap, Map<String, PlanItemInstanceEntity> terminatedPlanItemInstances, Set<String> newPlanItemInstanceIds, CaseInstanceChangeState caseInstanceChangeState, CommandContext commandContext) protected PlanItemInstanceEntity
createPlanItemInstanceDuplicateForRepetition
(PlanItemInstanceEntity planItemInstanceEntity, CommandContext commandContext) protected PlanItemInstanceEntity
createStageHierarchy
(Stage stage, PlanItemInstanceEntity defaultParentPlanItemInstance, Map<String, Stage> stagesToCreate, CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, CommandContext commandContext) protected PlanItemInstanceEntity
createStagesAndPlanItemInstances
(PlanItem planItem, CaseInstanceEntity caseInstance, CaseInstanceChangeState caseInstanceChangeState, ActivatePlanItemDefinitionMapping planItemDefinitionMapping, CommandContext commandContext) protected void
deleteChildPlanItemInstances
(PlanItemInstanceEntity planItemInstance, CommandContext commandContext) protected void
doMovePlanItemState
(CaseInstanceChangeState caseInstanceChangeState, String originalCaseDefinitionId, CommandContext commandContext) protected <T extends PlanItemDefinitionMapping>
booleanevaluateCondition
(VariableContainer variableContainer, T planItemDefinitionMapping) protected boolean
evaluateRepetitionRule
(PlanItemInstanceEntity planItemInstanceEntity, CommandContext commandContext) protected boolean
evaluateRepetitionRule
(VariableContainer variableContainer, String repetitionCondition, CommandContext commandContext) protected void
executeActivatePlanItemInstances
(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, boolean onlyStages, CommandContext commandContext) protected void
executeAddWaitingForRepetitionPlanItemInstances
(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, CommandContext commandContext) protected void
executeChangePlanItemDefinitionWithNewTargetIds
(CaseInstanceChangeState caseInstanceChangeState, String originalCaseDefinitionId, CommandContext commandContext) protected void
executeChangePlanItemIds
(CaseInstanceChangeState caseInstanceChangeState, String originalCaseDefinitionId, CommandContext commandContext) protected void
executeChangePlanItemInstancesToAvailableState
(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, boolean onlyStages, CommandContext commandContext) protected void
executeRemoveWaitingForRepetitionPlanItemInstances
(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, CommandContext commandContext) protected void
executeTerminatePlanItemInstances
(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, CommandContext commandContext) protected void
executeVerifySatisfiedSentryParts
(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, String originalCaseDefinitionId, CommandContext commandContext) protected String
getCaseDefinitionIdToMigrateTo
(CaseInstanceChangeState caseInstanceChangeState) protected String
getCounterVariable
(PlanItemInstanceEntity repeatingPlanItemInstanceEntity) protected int
getRepetitionCounter
(PlanItemInstanceEntity repeatingPlanItemInstanceEntity) protected PlanItemInstanceEntity
getStageAncestorOfAnyPlanItemInstance
(String stageId, Map<String, List<PlanItemInstanceEntity>> planItemInstanceMap) protected void
handleHumanTaskNewAssignee
(PlanItemInstanceEntity taskPlanItemInstance, String newAssigneeId, CommandContext commandContext) protected boolean
hasRepetitionRule
(PlanItemInstanceEntity planItemInstanceEntity) protected abstract boolean
isDirectPlanItemDefinitionMigration
(PlanItemDefinition currentPlanItemDefinition, PlanItemDefinition newPlanItemDefinition) protected boolean
isExpression
(String variableName) protected boolean
isStageAncestor
(String stageId, PlanItemDefinition planItemDefinition) protected boolean
isStageContainerOfAnyPlanItemDefinition
(String stageId, Collection<MovePlanItemInstanceEntityContainer.PlanItemMoveEntry> moveToPlanItems) protected void
navigatePlanItemInstances
(Map<String, List<PlanItemInstanceEntity>> stagesByPlanItemDefinitionId, CaseDefinition caseDefinition) protected CaseDefinition
resolveCaseDefinition
(String caseDefinitionKey, Integer caseDefinitionVersion, String tenantId, CommandContext commandContext) protected PlanItemInstanceEntity
resolveParentPlanItemInstanceToDelete
(PlanItemInstanceEntity planItemInstance, List<MovePlanItemInstanceEntityContainer.PlanItemMoveEntry> moveToPlanItems) protected PlanItem
resolvePlanItemFromCmmnModel
(CmmnModel cmmnModel, String planItemId, String caseDefinitionId) protected PlanItem
resolvePlanItemFromCmmnModelWithDefinitionId
(String planItemDefinitionId, String caseDefinitionId) protected Map<String,
List<PlanItemInstanceEntity>> retrievePlanItemInstances
(String caseInstanceId) protected void
setCaseDefinitionIdForPlanItemInstances
(Map<String, List<PlanItemInstanceEntity>> stagesByPlanItemDefinitionId, CaseDefinition caseDefinition) protected void
setRepetitionCounter
(PlanItemInstanceEntity repeatingPlanItemInstanceEntity, int counterValue) protected void
terminatePlanItemInstance
(PlanItemInstanceEntity planItemInstance, CommandContext commandContext) protected void
verifySatisfiedSentryPartsForCriterion
(Criterion criterion, PlanItemInstanceEntity planItemInstanceEntity, Map<String, List<SentryPartInstanceEntity>> sentryInstanceMap, List<String> skipSentryPartInstanceForDeleteIds, boolean isExitCriterion, CmmnModel cmmnModel, SentryPartInstanceEntityManager sentryPartInstanceEntityManager)
-
Field Details
-
LOGGER
protected final org.slf4j.Logger LOGGER -
cmmnEngineConfiguration
-
-
Constructor Details
-
AbstractCmmnDynamicStateManager
-
-
Method Details
-
resolvePlanItemFromCmmnModelWithDefinitionId
-
resolvePlanItemFromCmmnModel
-
doMovePlanItemState
protected void doMovePlanItemState(CaseInstanceChangeState caseInstanceChangeState, String originalCaseDefinitionId, CommandContext commandContext) -
executeChangePlanItemIds
protected void executeChangePlanItemIds(CaseInstanceChangeState caseInstanceChangeState, String originalCaseDefinitionId, CommandContext commandContext) -
executeChangePlanItemDefinitionWithNewTargetIds
protected void executeChangePlanItemDefinitionWithNewTargetIds(CaseInstanceChangeState caseInstanceChangeState, String originalCaseDefinitionId, CommandContext commandContext) -
executeActivatePlanItemInstances
protected void executeActivatePlanItemInstances(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, boolean onlyStages, CommandContext commandContext) -
executeChangePlanItemInstancesToAvailableState
protected void executeChangePlanItemInstancesToAvailableState(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, boolean onlyStages, CommandContext commandContext) -
executeAddWaitingForRepetitionPlanItemInstances
protected void executeAddWaitingForRepetitionPlanItemInstances(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, CommandContext commandContext) -
executeRemoveWaitingForRepetitionPlanItemInstances
protected void executeRemoveWaitingForRepetitionPlanItemInstances(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, CommandContext commandContext) -
executeVerifySatisfiedSentryParts
protected void executeVerifySatisfiedSentryParts(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, String originalCaseDefinitionId, CommandContext commandContext) -
verifySatisfiedSentryPartsForCriterion
protected void verifySatisfiedSentryPartsForCriterion(Criterion criterion, PlanItemInstanceEntity planItemInstanceEntity, Map<String, List<SentryPartInstanceEntity>> sentryInstanceMap, List<String> skipSentryPartInstanceForDeleteIds, boolean isExitCriterion, CmmnModel cmmnModel, SentryPartInstanceEntityManager sentryPartInstanceEntityManager) -
executeTerminatePlanItemInstances
protected void executeTerminatePlanItemInstances(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, CommandContext commandContext) -
isDirectPlanItemDefinitionMigration
protected abstract boolean isDirectPlanItemDefinitionMigration(PlanItemDefinition currentPlanItemDefinition, PlanItemDefinition newPlanItemDefinition) -
retrievePlanItemInstances
-
setCaseDefinitionIdForPlanItemInstances
protected void setCaseDefinitionIdForPlanItemInstances(Map<String, List<PlanItemInstanceEntity>> stagesByPlanItemDefinitionId, CaseDefinition caseDefinition) -
isStageContainerOfAnyPlanItemDefinition
protected boolean isStageContainerOfAnyPlanItemDefinition(String stageId, Collection<MovePlanItemInstanceEntityContainer.PlanItemMoveEntry> moveToPlanItems) -
resolveParentPlanItemInstanceToDelete
protected PlanItemInstanceEntity resolveParentPlanItemInstanceToDelete(PlanItemInstanceEntity planItemInstance, List<MovePlanItemInstanceEntityContainer.PlanItemMoveEntry> moveToPlanItems) -
createStagesAndPlanItemInstances
protected PlanItemInstanceEntity createStagesAndPlanItemInstances(PlanItem planItem, CaseInstanceEntity caseInstance, CaseInstanceChangeState caseInstanceChangeState, ActivatePlanItemDefinitionMapping planItemDefinitionMapping, CommandContext commandContext) -
createChildPlanItemInstancesForStage
protected void createChildPlanItemInstancesForStage(List<PlanItemInstanceEntity> newPlanItemInstances, Map<String, List<PlanItemInstanceEntity>> runtimePlanItemInstanceMap, Map<String, PlanItemInstanceEntity> terminatedPlanItemInstances, Set<String> newPlanItemInstanceIds, CaseInstanceChangeState caseInstanceChangeState, CommandContext commandContext) -
getStageAncestorOfAnyPlanItemInstance
protected PlanItemInstanceEntity getStageAncestorOfAnyPlanItemInstance(String stageId, Map<String, List<PlanItemInstanceEntity>> planItemInstanceMap) -
isStageAncestor
-
createStageHierarchy
protected PlanItemInstanceEntity createStageHierarchy(Stage stage, PlanItemInstanceEntity defaultParentPlanItemInstance, Map<String, Stage> stagesToCreate, CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, CommandContext commandContext) -
terminatePlanItemInstance
protected void terminatePlanItemInstance(PlanItemInstanceEntity planItemInstance, CommandContext commandContext) -
deleteChildPlanItemInstances
protected void deleteChildPlanItemInstances(PlanItemInstanceEntity planItemInstance, CommandContext commandContext) -
handleHumanTaskNewAssignee
protected void handleHumanTaskNewAssignee(PlanItemInstanceEntity taskPlanItemInstance, String newAssigneeId, CommandContext commandContext) -
hasRepetitionRule
-
evaluateRepetitionRule
protected boolean evaluateRepetitionRule(PlanItemInstanceEntity planItemInstanceEntity, CommandContext commandContext) -
evaluateRepetitionRule
protected boolean evaluateRepetitionRule(VariableContainer variableContainer, String repetitionCondition, CommandContext commandContext) -
createPlanItemInstanceDuplicateForRepetition
protected PlanItemInstanceEntity createPlanItemInstanceDuplicateForRepetition(PlanItemInstanceEntity planItemInstanceEntity, CommandContext commandContext) -
copyAndInsertPlanItemInstance
protected PlanItemInstanceEntity copyAndInsertPlanItemInstance(CommandContext commandContext, PlanItemInstanceEntity planItemInstanceEntityToCopy, boolean addToParent) -
getRepetitionCounter
-
setRepetitionCounter
protected void setRepetitionCounter(PlanItemInstanceEntity repeatingPlanItemInstanceEntity, int counterValue) -
getCounterVariable
-
isExpression
-
resolveCaseDefinition
protected CaseDefinition resolveCaseDefinition(String caseDefinitionKey, Integer caseDefinitionVersion, String tenantId, CommandContext commandContext) -
getCaseDefinitionIdToMigrateTo
-
evaluateCondition
protected <T extends PlanItemDefinitionMapping> boolean evaluateCondition(VariableContainer variableContainer, T planItemDefinitionMapping)
-