protected void readIOParameter(XMLStreamReader xtr, boolean isInParameter, ConversionHelper conversionHelper) { if (!(conversionHelper.getCurrentCmmnElement() instanceof ProcessTask)) { return; } ProcessTask processTask = (ProcessTask) conversionHelper.getCurrentCmmnElement(); String source = xtr.getAttributeValue(null, CmmnXmlConstants.ATTRIBUTE_IOPARAMETER_SOURCE); String sourceExpression = xtr.getAttributeValue(null, CmmnXmlConstants.ATTRIBUTE_IOPARAMETER_SOURCE_EXPRESSION); String target = xtr.getAttributeValue(null, CmmnXmlConstants.ATTRIBUTE_IOPARAMETER_TARGET); String targetExpression = xtr.getAttributeValue(null, CmmnXmlConstants.ATTRIBUTE_IOPARAMETER_TARGET_EXPRESSION); IOParameter parameter = new IOParameter(); if (StringUtils.isNotEmpty(sourceExpression)) { parameter.setSourceExpression(sourceExpression); } else { parameter.setSource(source); } if (StringUtils.isNotEmpty(targetExpression)) { parameter.setTargetExpression(targetExpression); } else { parameter.setTarget(target); } if (isInParameter) { processTask.getInParameters().add(parameter); } else { processTask.getOutParameters().add(parameter); } }
@Override protected boolean writePlanItemDefinitionExtensionElements(CmmnModel model, ProcessTask processTask, boolean didWriteExtensionElement, XMLStreamWriter xtw) throws Exception { boolean extensionElementWritten = super.writePlanItemDefinitionExtensionElements(model, processTask, didWriteExtensionElement, xtw); extensionElementWritten = writeIOParameters(ELEMENT_PROCESS_TASK_IN_PARAMETERS, processTask.getInParameters(), extensionElementWritten, xtw); extensionElementWritten = writeIOParameters(ELEMENT_PROCESS_TASK_OUT_PARAMETERS, processTask.getOutParameters(), extensionElementWritten, xtw); return extensionElementWritten; }
public ProcessTaskActivityBehavior(Process process, Expression processRefExpression, ProcessTask processTask) { super(processTask.isBlocking(), processTask.getBlockingExpression()); this.process = process; this.processRefExpression = processRefExpression; this.processRef = processTask.getProcessRef(); this.inParameters = processTask.getInParameters(); this.outParameters = processTask.getOutParameters(); this.fallbackToDefaultTenant = processTask.getFallbackToDefaultTenant(); }