private boolean isStageAncestor(String stageId, PlanItemDefinition planItemDefinition) { while (planItemDefinition.getParentStage() != null) { String currentStageId = planItemDefinition.getParentStage().getId(); if (currentStageId != null && currentStageId.equals(stageId)) { return true; } planItemDefinition = planItemDefinition.getParentStage(); } return false; }
protected Stage getStage(PlanItemInstanceEntity planItemInstanceEntity) { PlanItemDefinition planItemDefinition = planItemInstanceEntity.getPlanItem().getPlanItemDefinition(); if (planItemDefinition instanceof Stage) { return (Stage) planItemDefinition; } else { return planItemDefinition.getParentStage(); } }
@Override public BaseElement convertToCmmnModel(XMLStreamReader xtr, ConversionHelper conversionHelper) { PlanItemDefinition planItemDefinition = (PlanItemDefinition) super.convertToCmmnModel(xtr, conversionHelper); conversionHelper.addPlanItemDefinition(planItemDefinition); if (planItemDefinition.getId() != null) { Stage parentStage = planItemDefinition.getParentStage(); if (parentStage != null) { parentStage.addPlanItemDefinition(planItemDefinition); } } return planItemDefinition; }
for (PlanItemMoveEntry planItemMoveEntry : moveToPlanItems) { PlanItemDefinition newPlanItemDefinition = planItemMoveEntry.getNewPlanItem().getPlanItemDefinition(); Stage stage = newPlanItemDefinition.getParentStage(); PlanItemDefinition newPlanItemDefinition = newPlanItem.getPlanItemDefinition(); PlanItemInstanceEntity parentPlanItemInstance = null; if (newPlanItemDefinition.getParentStage() != null && caseInstanceChangeState.getCreatedStageInstances().containsKey(newPlanItemDefinition.getParentStage().getId())) { parentPlanItemInstance = caseInstanceChangeState.getCreatedStageInstances().get(newPlanItemDefinition.getParentStage().getId()); } else { parentPlanItemInstance = defaultContinueParentPlanItemInstance;