protected List<FormDefinition> getFormDefinitionsFromModel(Case caseModel, CaseDefinition caseDefinition) { Set<String> formKeys = new HashSet<>(); List<FormDefinition> formDefinitions = new ArrayList<>(); // for all user tasks List<HumanTask> humanTasks = caseModel.getPlanModel().findPlanItemDefinitionsOfType(HumanTask.class, true); for (HumanTask humanTask : humanTasks) { if (StringUtils.isNotEmpty(humanTask.getFormKey())) { formKeys.add(humanTask.getFormKey()); } } for (String formKey : formKeys) { addFormDefinitionToCollection(formDefinitions, formKey, caseDefinition); } return formDefinitions; }
protected List<DmnDecisionTable> getDecisionTablesFromModel(Case caseModel, CaseDefinition caseDefinition) { Set<String> decisionTableKeys = new HashSet<>(); List<DmnDecisionTable> decisionTables = new ArrayList<>(); List<DecisionTask> decisionTasks = caseModel.getPlanModel().findPlanItemDefinitionsOfType(DecisionTask.class, true); for (DecisionTask decisionTask : decisionTasks) { if (decisionTask.getFieldExtensions() != null && decisionTask.getFieldExtensions().size() > 0) { for (FieldExtension fieldExtension : decisionTask.getFieldExtensions()) { if ("decisionTableReferenceKey".equals(fieldExtension.getFieldName())) { String decisionTableReferenceKey = fieldExtension.getStringValue(); if (!decisionTableKeys.contains(decisionTableReferenceKey)) { addDecisionTableToCollection(decisionTables, decisionTableReferenceKey, caseDefinition); decisionTableKeys.add(decisionTableReferenceKey); } break; } } } } return decisionTables; }
List<Stage> stages = cmmnModel.getPrimaryCase().getPlanModel().findPlanItemDefinitionsOfType(Stage.class, true);