@Override public void parseChildElement(XMLStreamReader xtr, BaseElement parentElement, BpmnModel model) throws Exception { String source = xtr.getAttributeValue(null, ATTRIBUTE_IOPARAMETER_SOURCE); String sourceExpression = xtr.getAttributeValue(null, ATTRIBUTE_IOPARAMETER_SOURCE_EXPRESSION); String target = xtr.getAttributeValue(null, ATTRIBUTE_IOPARAMETER_TARGET); if ((StringUtils.isNotEmpty(source) || StringUtils.isNotEmpty(sourceExpression)) && StringUtils.isNotEmpty(target)) { IOParameter parameter = new IOParameter(); if (StringUtils.isNotEmpty(sourceExpression)) { parameter.setSourceExpression(sourceExpression); } else { parameter.setSource(source); } parameter.setTarget(target); if (parentElement instanceof CallActivity) { ((CallActivity) parentElement).getInParameters().add(parameter); } else if (parentElement instanceof CaseServiceTask) { ((CaseServiceTask) parentElement).getInParameters().add(parameter); } } } }
@Override public void parseChildElement(XMLStreamReader xtr, BaseElement parentElement, BpmnModel model) throws Exception { String source = xtr.getAttributeValue(null, ATTRIBUTE_IOPARAMETER_SOURCE); String sourceExpression = xtr.getAttributeValue(null, ATTRIBUTE_IOPARAMETER_SOURCE_EXPRESSION); String target = xtr.getAttributeValue(null, ATTRIBUTE_IOPARAMETER_TARGET); if ((StringUtils.isNotEmpty(source) || StringUtils.isNotEmpty(sourceExpression)) && StringUtils.isNotEmpty(target)) { IOParameter parameter = new IOParameter(); if (StringUtils.isNotEmpty(sourceExpression)) { parameter.setSourceExpression(sourceExpression); } else { parameter.setSource(source); } parameter.setTarget(target); if (parentElement instanceof CallActivity) { ((CallActivity) parentElement).getOutParameters().add(parameter); } else if (parentElement instanceof CaseServiceTask) { ((CaseServiceTask) parentElement).getOutParameters().add(parameter); } } } }
public void setValues(IOParameter otherElement) { super.setValues(otherElement); setSource(otherElement.getSource()); setSourceExpression(otherElement.getSourceExpression()); setTarget(otherElement.getTarget()); setTargetExpression(otherElement.getTargetExpression()); } }
private List<IOParameter> convertToIOParameters(String propertyName, String valueName, JsonNode elementNode) { List<IOParameter> ioParameters = new ArrayList<>(); JsonNode parametersNode = getProperty(propertyName, elementNode); if (parametersNode != null) { parametersNode = BpmnJsonConverterUtil.validateIfNodeIsTextual(parametersNode); JsonNode itemsArrayNode = parametersNode.get(valueName); if (itemsArrayNode != null) { for (JsonNode itemNode : itemsArrayNode) { JsonNode sourceNode = itemNode.get(PROPERTY_IOPARAMETER_SOURCE); JsonNode sourceExpressionNode = itemNode.get(PROPERTY_IOPARAMETER_SOURCE_EXPRESSION); if ((sourceNode != null && StringUtils.isNotEmpty(sourceNode.asText())) || (sourceExpressionNode != null && StringUtils.isNotEmpty(sourceExpressionNode.asText()))) { IOParameter parameter = new IOParameter(); if (StringUtils.isNotEmpty(getValueAsString(PROPERTY_IOPARAMETER_SOURCE, itemNode))) { parameter.setSource(getValueAsString(PROPERTY_IOPARAMETER_SOURCE, itemNode)); } else if (StringUtils.isNotEmpty(getValueAsString(PROPERTY_IOPARAMETER_SOURCE_EXPRESSION, itemNode))) { parameter.setSourceExpression(getValueAsString(PROPERTY_IOPARAMETER_SOURCE_EXPRESSION, itemNode)); } if (StringUtils.isNotEmpty(getValueAsString(PROPERTY_IOPARAMETER_TARGET, itemNode))) { parameter.setTarget(getValueAsString(PROPERTY_IOPARAMETER_TARGET, itemNode)); } ioParameters.add(parameter); } } } } return ioParameters; } }
public void setValues(IOParameter otherElement) { super.setValues(otherElement); setSource(otherElement.getSource()); setSourceExpression(otherElement.getSourceExpression()); setTarget(otherElement.getTarget()); setTargetExpression(otherElement.getTargetExpression()); } }