protected FlowElement convertJsonToElement(JsonNode elementNode, JsonNode modelNode, Map<String, JsonNode> shapeMap) { StartEvent startEvent = new StartEvent(); startEvent.setInitiator(getPropertyValueAsString(PROPERTY_NONE_STARTEVENT_INITIATOR, elementNode)); String stencilId = BpmnJsonConverterUtil.getStencilId(elementNode); if (STENCIL_EVENT_START_NONE.equals(stencilId)) { String formKey = getPropertyValueAsString(PROPERTY_FORMKEY, elementNode); if (StringUtils.isNotEmpty(formKey)) { startEvent.setFormKey(formKey); } else { JsonNode formReferenceNode = getProperty(PROPERTY_FORM_REFERENCE, elementNode); if (formReferenceNode != null && formReferenceNode.get("id") != null) { if (formMap != null && formMap.containsKey(formReferenceNode.get("id").asText())) { startEvent.setFormKey(formMap.get(formReferenceNode.get("id").asText())); } } } convertJsonToFormProperties(elementNode, startEvent); } else if (STENCIL_EVENT_START_TIMER.equals(stencilId)) { convertJsonToTimerDefinition(elementNode, startEvent); } else if (STENCIL_EVENT_START_ERROR.equals(stencilId)) { convertJsonToErrorDefinition(elementNode, startEvent); } else if (STENCIL_EVENT_START_MESSAGE.equals(stencilId)) { convertJsonToMessageDefinition(elementNode, startEvent); } else if (STENCIL_EVENT_START_SIGNAL.equals(stencilId)) { convertJsonToSignalDefinition(elementNode, startEvent); } return startEvent; }
@Override protected BaseElement convertXMLToElement(XMLStreamReader xtr, BpmnModel model) throws Exception { String formKey = xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_FORM_FORMKEY); StartEvent startEvent = null; if (StringUtils.isNotEmpty(formKey) && model.getStartEventFormTypes() != null && model.getStartEventFormTypes().contains(formKey)) { startEvent = new AlfrescoStartEvent(); } if (startEvent == null) { startEvent = new StartEvent(); } BpmnXMLUtil.addXMLLocation(startEvent, xtr); startEvent.setInitiator(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_EVENT_START_INITIATOR)); boolean interrupting = true; String interruptingAttribute = xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_EVENT_START_INTERRUPTING); if (ATTRIBUTE_VALUE_FALSE.equalsIgnoreCase(interruptingAttribute)) { interrupting = false; } startEvent.setInterrupting(interrupting); startEvent.setFormKey(formKey); parseChildElements(getXMLElementName(), startEvent, model, xtr); return startEvent; }
@Override protected BaseElement convertXMLToElement(XMLStreamReader xtr) throws Exception { String formKey = xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_FORM_FORMKEY); StartEvent startEvent = null; if (StringUtils.isNotEmpty(formKey)) { if (formTypes.contains(formKey)) { startEvent = new AlfrescoStartEvent(); } } if (startEvent == null) { startEvent = new StartEvent(); } BpmnXMLUtil.addXMLLocation(startEvent, xtr); startEvent.setInitiator(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_EVENT_START_INITIATOR)); startEvent.setFormKey(formKey); parseChildElements(getXMLElementName(), startEvent, xtr); return startEvent; }
protected FlowElement convertJsonToElement(JsonNode elementNode, JsonNode modelNode, Map<String, JsonNode> shapeMap) { StartEvent startEvent = new StartEvent(); startEvent.setInitiator(getPropertyValueAsString(PROPERTY_NONE_STARTEVENT_INITIATOR, elementNode)); String stencilId = BpmnJsonConverterUtil.getStencilId(elementNode); if (STENCIL_EVENT_START_NONE.equals(stencilId)) { String formKey = getPropertyValueAsString(PROPERTY_FORMKEY, elementNode); if (StringUtils.isNotEmpty(formKey)) { startEvent.setFormKey(formKey); } else { JsonNode formReferenceNode = getProperty(PROPERTY_FORM_REFERENCE, elementNode); if (formReferenceNode != null && formReferenceNode.get("id") != null) { if (formMap != null && formMap.containsKey(formReferenceNode.get("id").asText())) { startEvent.setFormKey(formMap.get(formReferenceNode.get("id").asText())); } } } convertJsonToFormProperties(elementNode, startEvent); } else if (STENCIL_EVENT_START_TIMER.equals(stencilId)) { convertJsonToTimerDefinition(elementNode, startEvent); } else if (STENCIL_EVENT_START_ERROR.equals(stencilId)) { convertJsonToErrorDefinition(elementNode, startEvent); } else if (STENCIL_EVENT_START_MESSAGE.equals(stencilId)) { convertJsonToMessageDefinition(elementNode, startEvent); } else if (STENCIL_EVENT_START_SIGNAL.equals(stencilId)) { convertJsonToSignalDefinition(elementNode, startEvent); } return startEvent; }
@Override protected BaseElement convertXMLToElement(XMLStreamReader xtr, BpmnModel model) throws Exception { String formKey = xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_FORM_FORMKEY); StartEvent startEvent = null; if (StringUtils.isNotEmpty(formKey)) { if (model.getStartEventFormTypes() != null && model.getStartEventFormTypes().contains(formKey)) { startEvent = new AlfrescoStartEvent(); } } if (startEvent == null) { startEvent = new StartEvent(); } BpmnXMLUtil.addXMLLocation(startEvent, xtr); startEvent.setInitiator(xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_EVENT_START_INITIATOR)); boolean interrupting = true; String interruptingAttribute = xtr.getAttributeValue(ACTIVITI_EXTENSIONS_NAMESPACE, ATTRIBUTE_EVENT_START_INTERRUPTING); if (ATTRIBUTE_VALUE_FALSE.equalsIgnoreCase(interruptingAttribute)) { interrupting = false; } startEvent.setInterrupting(interrupting); startEvent.setFormKey(formKey); parseChildElements(getXMLElementName(), startEvent, model, xtr); return startEvent; }
startEvent.setInitiator(getInitiatorVariable());