private List<IOParameter> convertToIOParameters(String propertyName, JsonNode elementNode) { List<IOParameter> ioParameters = new ArrayList<IOParameter>(); JsonNode parametersNode = getProperty(propertyName, elementNode); if (parametersNode != null) { JsonNode itemsArrayNode = parametersNode.get(EDITOR_PROPERTIES_GENERAL_ITEMS); 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)); } 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; }