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, CommandContext commandContext) protected PlanItemInstanceEntitycreatePlanItemInstanceDuplicateForRepetition(PlanItemInstanceEntity planItemInstanceEntity, CommandContext commandContext) protected PlanItemInstanceEntitycreateStageHierarchy(org.flowable.cmmn.model.Stage stage, PlanItemInstanceEntity defaultParentPlanItemInstance, Map<String, org.flowable.cmmn.model.Stage> stagesToCreate, CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, CommandContext commandContext) protected PlanItemInstanceEntitycreateStagesAndPlanItemInstances(org.flowable.cmmn.model.PlanItem planItem, CaseInstanceEntity caseInstance, CaseInstanceChangeState caseInstanceChangeState, CommandContext commandContext) protected voiddeleteChildPlanItemInstances(PlanItemInstanceEntity planItemInstance, CommandContext commandContext) protected voiddoMovePlanItemState(CaseInstanceChangeState caseInstanceChangeState, CommandContext commandContext) 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 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 StringgetCaseDefinitionIdToMigrateTo(CaseInstanceChangeState caseInstanceChangeState) protected StringgetCounterVariable(PlanItemInstanceEntity repeatingPlanItemInstanceEntity) protected intgetRepetitionCounter(PlanItemInstanceEntity repeatingPlanItemInstanceEntity) protected voidhandleHumanTaskNewAssignee(PlanItemInstanceEntity taskPlanItemInstance, String newAssigneeId, CommandContext commandContext) protected booleanhasRepetitionRule(PlanItemInstanceEntity planItemInstanceEntity) protected abstract booleanisDirectPlanItemDefinitionMigration(org.flowable.cmmn.model.PlanItemDefinition currentPlanItemDefinition, org.flowable.cmmn.model.PlanItemDefinition newPlanItemDefinition) protected booleanisExpression(String variableName) protected booleanisStageAncestor(String stageId, org.flowable.cmmn.model.PlanItemDefinition planItemDefinition) protected booleanisStageAncestorOfAnyPlanItemInstance(String stageId, Map<String, List<PlanItemInstanceEntity>> planItemInstanceMap) 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 org.flowable.cmmn.model.PlanItemresolvePlanItemFromCmmnModel(org.flowable.cmmn.model.CmmnModel cmmnModel, String planItemId, String caseDefinitionId) protected org.flowable.cmmn.model.PlanItemresolvePlanItemFromCmmnModelWithDefinitionId(String planItemDefinitionId, String caseDefinitionId) protected Map<String,List<PlanItemInstanceEntity>> retrievePlanItemInstances(String caseInstanceId) protected voidsetRepetitionCounter(PlanItemInstanceEntity repeatingPlanItemInstanceEntity, int counterValue) protected voidterminatePlanItemInstance(PlanItemInstanceEntity planItemInstance, CommandContext commandContext)
-
Field Details
-
LOGGER
protected final org.slf4j.Logger LOGGER -
cmmnEngineConfiguration
-
-
Constructor Details
-
AbstractCmmnDynamicStateManager
-
-
Method Details
-
resolvePlanItemFromCmmnModelWithDefinitionId
-
resolvePlanItemFromCmmnModel
-
doMovePlanItemState
protected void doMovePlanItemState(CaseInstanceChangeState caseInstanceChangeState, 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) -
executeTerminatePlanItemInstances
protected void executeTerminatePlanItemInstances(CaseInstanceChangeState caseInstanceChangeState, CaseInstanceEntity caseInstance, CommandContext commandContext) -
isDirectPlanItemDefinitionMigration
protected abstract boolean isDirectPlanItemDefinitionMigration(org.flowable.cmmn.model.PlanItemDefinition currentPlanItemDefinition, org.flowable.cmmn.model.PlanItemDefinition newPlanItemDefinition) -
retrievePlanItemInstances
-
isStageContainerOfAnyPlanItemDefinition
protected boolean isStageContainerOfAnyPlanItemDefinition(String stageId, Collection<MovePlanItemInstanceEntityContainer.PlanItemMoveEntry> moveToPlanItems) -
resolveParentPlanItemInstanceToDelete
protected PlanItemInstanceEntity resolveParentPlanItemInstanceToDelete(PlanItemInstanceEntity planItemInstance, List<MovePlanItemInstanceEntityContainer.PlanItemMoveEntry> moveToPlanItems) -
createStagesAndPlanItemInstances
protected PlanItemInstanceEntity createStagesAndPlanItemInstances(org.flowable.cmmn.model.PlanItem planItem, CaseInstanceEntity caseInstance, CaseInstanceChangeState caseInstanceChangeState, CommandContext commandContext) -
createChildPlanItemInstancesForStage
protected void createChildPlanItemInstancesForStage(List<PlanItemInstanceEntity> newPlanItemInstances, Map<String, List<PlanItemInstanceEntity>> runtimePlanItemInstanceMap, Map<String, PlanItemInstanceEntity> terminatedPlanItemInstances, Set<String> newPlanItemInstanceIds, CommandContext commandContext) -
isStageAncestorOfAnyPlanItemInstance
protected boolean isStageAncestorOfAnyPlanItemInstance(String stageId, Map<String, List<PlanItemInstanceEntity>> planItemInstanceMap) -
isStageAncestor
protected boolean isStageAncestor(String stageId, org.flowable.cmmn.model.PlanItemDefinition planItemDefinition) -
createStageHierarchy
protected PlanItemInstanceEntity createStageHierarchy(org.flowable.cmmn.model.Stage stage, PlanItemInstanceEntity defaultParentPlanItemInstance, Map<String, org.flowable.cmmn.model.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
-