@Override public void validate(BpmnModel bpmnModel, List<ValidationError> errors) { if (bpmnModel.getMessages() != null && !bpmnModel.getMessages().isEmpty()) { for (Message message : bpmnModel.getMessages()) { // Item ref if (StringUtils.isNotEmpty(message.getItemRef())) { if (!bpmnModel.getItemDefinitions().containsKey(message.getItemRef())) { addError(errors, Problems.MESSAGE_INVALID_ITEM_REF, null, message, "Item reference is invalid: not found"); } } } } }
protected void createItemDefinitions() { for (org.flowable.bpmn.model.ItemDefinition itemDefinitionElement : bpmnModel.getItemDefinitions().values()) { StructureDefinition structure = null; try { // it is a class Class<?> classStructure = ReflectUtil.loadClass(itemDefinitionElement.getStructureRef()); structure = new ClassStructureDefinition(classStructure); } catch (ActivitiException e) { // it is a reference to a different structure structure = this.structures.get(itemDefinitionElement.getStructureRef()); } ItemDefinition itemDefinition = new ItemDefinition(itemDefinitionElement.getId(), structure); if (StringUtils.isNotEmpty(itemDefinitionElement.getItemKind())) { itemDefinition.setItemKind(ItemKind.valueOf(itemDefinitionElement.getItemKind())); } itemDefinitions.put(itemDefinition.getId(), itemDefinition); } }
protected void createItemDefinitions(BpmnModel bpmnModel) { for (org.flowable.bpmn.model.ItemDefinition itemDefinitionElement : bpmnModel.getItemDefinitions().values()) { if (!itemDefinitionMap.containsKey(itemDefinitionElement.getId())) { StructureDefinition structure = null; try { // it is a class Class<?> classStructure = ReflectUtil.loadClass(itemDefinitionElement.getStructureRef()); structure = new ClassStructureDefinition(classStructure); } catch (FlowableException e) { // it is a reference to a different structure structure = structureDefinitionMap.get(itemDefinitionElement.getStructureRef()); } ItemDefinition itemDefinition = new ItemDefinition(itemDefinitionElement.getId(), structure); if (StringUtils.isNotEmpty(itemDefinitionElement.getItemKind())) { itemDefinition.setItemKind(ItemKind.valueOf(itemDefinitionElement.getItemKind())); } itemDefinitionMap.put(itemDefinition.getId(), itemDefinition); } } }