if (caseModel.getPlanModel().getPlanItems().isEmpty()) {
protected void processElements(List<PlanItem> planItemList, CmmnModel model, ArrayNode elementArray, ArrayNode flowArray, GraphicInfo diagramInfo) { for (PlanItem planItem : planItemList) { ObjectNode elementNode = objectMapper.createObjectNode(); elementNode.put("id", planItem.getId()); elementNode.put("name", planItem.getName()); GraphicInfo graphicInfo = model.getGraphicInfo(planItem.getId()); if (graphicInfo != null) { fillGraphicInfo(elementNode, graphicInfo, true); fillDiagramInfo(graphicInfo, diagramInfo); } PlanItemDefinition planItemDefinition = planItem.getPlanItemDefinition(); String className = planItemDefinition.getClass().getSimpleName(); elementNode.put("type", className); if (planItemDefinition instanceof ServiceTask) { ServiceTask serviceTask = (ServiceTask) planItemDefinition; if (HttpServiceTask.HTTP_TASK.equals(serviceTask.getType())) { elementNode.put("taskType", "http"); } } elementArray.add(elementNode); processCriteria(planItem.getEntryCriteria(), "EntryCriterion", model, elementArray); processCriteria(planItem.getExitCriteria(), "ExitCriterion", model, elementArray); if (planItemDefinition instanceof Stage) { Stage stage = (Stage) planItemDefinition; processElements(stage.getPlanItems(), model, elementArray, flowArray, diagramInfo); } } }
Stage stage = (Stage) planItemDefinition; processElements(stage.getPlanItems(), model, elementArray, flowArray, completedElements, activeElements, availableElements, diagramInfo);
processElements(caseObject.getPlanModel().getPlanItems(), pojoModel, elementArray, associationArray, completedElements, activeElements, availableElements, diagramInfo);
processElements(caseObject.getPlanModel().getPlanItems(), pojoModel, elementArray, flowArray, diagramInfo);
@Override protected void writePlanItemDefinitionBody(CmmnModel model, Stage stage, XMLStreamWriter xtw) throws Exception { super.writePlanItemDefinitionBody(model, stage, xtw); for (PlanItem planItem : stage.getPlanItems()) { PlanItemExport.writePlanItem(model, planItem, xtw); } for (Sentry sentry : stage.getSentries()) { SentryExport.writeSentry(sentry, xtw); } for (PlanItemDefinition planItemDefinition : stage.getPlanItemDefinitions()) { PlanItemDefinitionExport.writePlanItemDefinition(model, planItemDefinition, xtw); } if (stage.isPlanModel() && stage.getExitCriteria() != null && !stage.getExitCriteria().isEmpty()) { CriteriaExport.writeCriteriaElements(ELEMENT_EXIT_CRITERION, stage.getExitCriteria(), xtw); } } }
@Override public void run() { super.run(); Stage stage = CaseDefinitionUtil.getCase(caseInstanceEntity.getCaseDefinitionId()).getPlanModel(); createPlanItemInstances(commandContext, stage.getPlanItems(), caseInstanceEntity.getCaseDefinitionId(), caseInstanceEntity.getId(), null, caseInstanceEntity.getTenantId()); CommandContextUtil.getAgenda(commandContext).planEvaluateCriteriaOperation(caseInstanceEntity.getId()); }
for (PlanItem stagePlanItem : newPlanItem.getParentStage().getPlanItems()) { if (!stagePlanItem.getId().equals(newPlanItem.getId())) { PlanItemInstanceEntity childStagePlanItemInstance = CommandContextUtil.getPlanItemInstanceEntityManager(commandContext)
@Override public void run() { Stage stage = getStage(planItemInstanceEntity); String oldState = planItemInstanceEntity.getState(); String newState = PlanItemInstanceState.ACTIVE; planItemInstanceEntity.setState(newState); PlanItemLifeCycleListenerUtil.callLifecycleListeners(commandContext, planItemInstanceEntity, oldState, newState); planItemInstanceEntity.setStage(true); createPlanItemInstances(commandContext, stage.getPlanItems(), planItemInstanceEntity.getCaseDefinitionId(), planItemInstanceEntity.getCaseInstanceId(), planItemInstanceEntity, planItemInstanceEntity.getTenantId()); planItemInstanceEntity.setLastStartedTime(getCurrentTime(commandContext)); CommandContextUtil.getCmmnHistoryManager(commandContext).recordPlanItemInstanceStarted(planItemInstanceEntity); }