@Override protected void writeAdditionalChildElements(BaseElement element, BpmnModel model, XMLStreamWriter xtw) throws Exception { ScriptTask scriptTask = (ScriptTask) element; if (StringUtils.isNotEmpty(scriptTask.getScript())) { xtw.writeStartElement(ATTRIBUTE_TASK_SCRIPT_TEXT); xtw.writeCData(scriptTask.getScript()); xtw.writeEndElement(); } } }
@Override protected void convertElementToJson(ObjectNode propertiesNode, BaseElement baseElement) { ScriptTask scriptTask = (ScriptTask) baseElement; propertiesNode.put(PROPERTY_SCRIPT_FORMAT, scriptTask.getScriptFormat()); propertiesNode.put(PROPERTY_SCRIPT_TEXT, scriptTask.getScript()); propertiesNode.put(PROPERTY_SCRIPT_AUTO_STORE_VARIABLES, scriptTask.isAutoStoreVariables()); }
@Override public ScriptTaskActivityBehavior createScriptTaskActivityBehavior(ScriptTask scriptTask) { String language = scriptTask.getScriptFormat(); if (language == null) { language = ScriptingEngines.DEFAULT_SCRIPTING_LANGUAGE; } return new ScriptTaskActivityBehavior(scriptTask.getId(), scriptTask.getScript(), language, scriptTask.getResultVariable(), scriptTask.isAutoStoreVariables()); }
@Override protected void executeValidation(BpmnModel bpmnModel, Process process, List<ValidationError> errors) { List<ScriptTask> scriptTasks = process.findFlowElementsOfType(ScriptTask.class); for (ScriptTask scriptTask : scriptTasks) { if (StringUtils.isEmpty(scriptTask.getScript())) { addError(errors, Problems.SCRIPT_TASK_MISSING_SCRIPT, process, scriptTask, "No script provided for script task"); } } }
@Override public ScriptTaskActivityBehavior createScriptTaskActivityBehavior(ScriptTask scriptTask) { String language = scriptTask.getScriptFormat(); if (language == null) { language = ScriptingEngines.DEFAULT_SCRIPTING_LANGUAGE; } return new ScriptTaskActivityBehavior(scriptTask.getId(), scriptTask.getScript(), language, scriptTask.getResultVariable(), scriptTask.isAutoStoreVariables()); }
@Override protected ObjectNode createPropertiesNode(FlowElement flowElement, ObjectNode flowElementNode, ObjectMapper objectMapper) { ScriptTask scriptTask = (ScriptTask) flowElement; ObjectNode scriptTextNode = objectMapper.createObjectNode(); putPropertyValue(BPMN_MODEL_VALUE, scriptTask.getScript(), scriptTextNode); putPropertyValue(DYNAMIC_VALUE, flowElementNode.path(SCRIPT_TASK_SCRIPT).textValue(), scriptTextNode); ObjectNode propertiesNode = objectMapper.createObjectNode(); propertiesNode.set(SCRIPT_TASK_SCRIPT, scriptTextNode); return propertiesNode; }
public void setValues(ScriptTask otherElement) { super.setValues(otherElement); setScriptFormat(otherElement.getScriptFormat()); setScript(otherElement.getScript()); setResultVariable(otherElement.getResultVariable()); setAutoStoreVariables(otherElement.isAutoStoreVariables()); } }
@Override protected ObjectNode createPropertiesNode(FlowElement flowElement, ObjectNode flowElementNode, ObjectMapper objectMapper) { ScriptTask scriptTask = (ScriptTask) flowElement; ObjectNode scriptTextNode = objectMapper.createObjectNode(); putPropertyValue(BPMN_MODEL_VALUE, scriptTask.getScript(), scriptTextNode); putPropertyValue(DYNAMIC_VALUE, flowElementNode.path(SCRIPT_TASK_SCRIPT).textValue(), scriptTextNode); ObjectNode propertiesNode = objectMapper.createObjectNode(); propertiesNode.set(SCRIPT_TASK_SCRIPT, scriptTextNode); return propertiesNode; }
public void setValues(ScriptTask otherElement) { super.setValues(otherElement); setScriptFormat(otherElement.getScriptFormat()); setScript(otherElement.getScript()); setResultVariable(otherElement.getResultVariable()); setAutoStoreVariables(otherElement.isAutoStoreVariables()); } }
@Override protected void executeParse(BpmnParse bpmnParse, ScriptTask scriptTask) { if (StringUtils.isEmpty(scriptTask.getScript())) { LOGGER.warn("No script provided for scriptTask {}", scriptTask.getId()); } scriptTask.setBehavior(bpmnParse.getActivityBehaviorFactory().createScriptTaskActivityBehavior(scriptTask)); }
@Override protected void executeParse(BpmnParse bpmnParse, ScriptTask scriptTask) { if (StringUtils.isEmpty(scriptTask.getScript())) { LOGGER.warn("No script provided for scriptTask {}", scriptTask.getId()); } ActivityImpl activity = createActivityOnCurrentScope(bpmnParse, scriptTask, BpmnXMLConstants.ELEMENT_TASK_SCRIPT); activity.setAsync(scriptTask.isAsynchronous()); activity.setExclusive(!scriptTask.isNotExclusive()); activity.setActivityBehavior(bpmnParse.getActivityBehaviorFactory().createScriptTaskActivityBehavior(scriptTask)); }