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 CmmnEngineConfigurationprotected final org.slf4j.Logger -
Constructor Summary
ConstructorsConstructorDescriptionAbstractCmmnDynamicStateManager(CmmnEngineConfiguration cmmnEngineConfiguration) -
Method Summary
Modifier and TypeMethodDescriptionprotected PlanItemInstanceEntitycopyAndInsertPlanItemInstance(CommandContext commandContext, PlanItemInstanceEntity planItemInstanceEntityToCopy, boolean addToParent) protected voidcreateChildPlanItemInstancesForStage(List<PlanItemInstanceEntity> newPlanItemInstances, Map<String, List<PlanItemInstanceEntity>> runtimePlanItemInstanceMap, Map<String, PlanItemInstanceEntity> terminatedPlanItemInstances, Set<String> newPlanItemInstanceIds, CaseInstanceChangeState caseInstanceChangeState, CommandContext commandContext) protected PlanItemInstanceEntitycreatePlanItemInstanceDuplicateForRepetition(PlanItemInstanceEntity planItemInstanceEntity, CommandContext commandContext) protected PlanItemInstanceEntitycreateStageHierarchy(Stage stage, PlanItemInstanceEntity defaultParentPlanItemInstance, Map<String, Stage> stagesToCreate, CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, CommandContext commandContext) protected PlanItemInstanceEntitycreateStagesAndPlanItemInstances(PlanItem planItem, CaseInstanceEntity caseInstance, CaseInstanceChangeState caseInstanceChangeState, ActivatePlanItemDefinitionMapping planItemDefinitionMapping, CommandContext commandContext) protected voiddeleteChildPlanItemInstances(PlanItemInstanceEntity planItemInstance, CommandContext commandContext) protected voiddoMovePlanItemState(CaseInstanceChangeState caseInstanceChangeState, String originalCaseDefinitionId, CommandContext commandContext) protected <T extends PlanItemDefinitionMapping>
booleanevaluateCondition(VariableContainer variableContainer, T planItemDefinitionMapping) protected booleanevaluateRepetitionRule(PlanItemInstanceEntity planItemInstanceEntity, CommandContext commandContext) protected booleanevaluateRepetitionRule(VariableContainer variableContainer, String repetitionCondition, CommandContext commandContext) protected voidexecuteActivatePlanItemInstances(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, boolean onlyStages, CommandContext commandContext) protected voidexecuteAddWaitingForRepetitionPlanItemInstances(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, CommandContext commandContext) protected voidexecuteChangePlanItemDefinitionWithNewTargetIds(CaseInstanceChangeState caseInstanceChangeState, String originalCaseDefinitionId, CommandContext commandContext) protected voidexecuteChangePlanItemIds(CaseInstanceChangeState caseInstanceChangeState, String originalCaseDefinitionId, CommandContext commandContext) protected voidexecuteChangePlanItemInstancesToAvailableState(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, boolean onlyStages, CommandContext commandContext) protected voidexecuteRemoveWaitingForRepetitionPlanItemInstances(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, CommandContext commandContext) protected voidexecuteTerminatePlanItemInstances(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, CommandContext commandContext) protected voidexecuteVerifySatisfiedSentryParts(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, String originalCaseDefinitionId, CommandContext commandContext) protected StringgetCaseDefinitionIdToMigrateTo(CaseInstanceChangeState caseInstanceChangeState) protected StringgetCounterVariable(PlanItemInstanceEntity repeatingPlanItemInstanceEntity) protected intgetRepetitionCounter(PlanItemInstanceEntity repeatingPlanItemInstanceEntity) protected PlanItemInstanceEntitygetStageAncestorOfAnyPlanItemInstance(String stageId, Map<String, List<PlanItemInstanceEntity>> planItemInstanceMap) protected voidhandleHumanTaskNewAssignee(PlanItemInstanceEntity taskPlanItemInstance, String newAssigneeId, CommandContext commandContext) protected booleanhasRepetitionRule(PlanItemInstanceEntity planItemInstanceEntity) protected abstract booleanisDirectPlanItemDefinitionMigration(PlanItemDefinition currentPlanItemDefinition, PlanItemDefinition newPlanItemDefinition) protected booleanisExpression(String variableName) protected booleanisStageAncestor(String stageId, PlanItemDefinition planItemDefinition) protected booleanisStageContainerOfAnyPlanItemDefinition(String stageId, Collection<MovePlanItemInstanceEntityContainer.PlanItemMoveEntry> moveToPlanItems) protected voidnavigatePlanItemInstances(Map<String, List<PlanItemInstanceEntity>> stagesByPlanItemDefinitionId, CaseDefinition caseDefinition) protected CaseDefinitionresolveCaseDefinition(String caseDefinitionKey, Integer caseDefinitionVersion, String tenantId, CommandContext commandContext) protected PlanItemInstanceEntityresolveParentPlanItemInstanceToDelete(PlanItemInstanceEntity planItemInstance, List<MovePlanItemInstanceEntityContainer.PlanItemMoveEntry> moveToPlanItems) protected PlanItemresolvePlanItemFromCmmnModel(CmmnModel cmmnModel, String planItemId, String caseDefinitionId) protected PlanItemresolvePlanItemFromCmmnModelWithDefinitionId(String planItemDefinitionId, String caseDefinitionId) protected Map<String,List<PlanItemInstanceEntity>> retrievePlanItemInstances(String caseInstanceId) protected voidsetCaseDefinitionIdForPlanItemInstances(Map<String, List<PlanItemInstanceEntity>> stagesByPlanItemDefinitionId, CaseDefinition caseDefinition) protected voidsetRepetitionCounter(PlanItemInstanceEntity repeatingPlanItemInstanceEntity, int counterValue) protected voidterminatePlanItemInstance(PlanItemInstanceEntity planItemInstance, CommandContext commandContext) protected voidverifySatisfiedSentryPartsForCriterion(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)
-