public String getXML() { StringBuffer retval = new StringBuffer(); retval.append( " " + XMLHandler.addTagValue( "connection", databaseMeta == null ? "" : databaseMeta.getName())); retval.append(" ").append(XMLHandler.openTag(XML_TAG_FUNCTION)).append(Const.CR); if (function != null && !Const.isEmpty(function.getName())) { retval.append(" " + XMLHandler.addTagValue("name", function.getName())); retval.append(" " + XMLHandler.addTagValue("description", function.getDescription())); retval.append(" " + XMLHandler.addTagValue("group", function.getGroup())); retval.append(" " + XMLHandler.addTagValue("application", function.getApplication())); retval.append(" " + XMLHandler.addTagValue("host", function.getHost())); } retval.append(" ").append(XMLHandler.closeTag(XML_TAG_FUNCTION)).append(Const.CR); retval.append(" ").append(XMLHandler.openTag(XML_TAG_PARAMETERS)).append(Const.CR); for (SapParameter parameter : parameters) { retval.append(" ").append(XMLHandler.openTag(XML_TAG_PARAMETER)); retval.append(XMLHandler.addTagValue("field_name", parameter.getFieldName(), false)); retval.append(XMLHandler.addTagValue("sap_type", parameter.getSapType().getCode(), false)); retval.append(XMLHandler.addTagValue("table_name", parameter.getTableName(), false)); retval.append(XMLHandler.addTagValue("parameter_name", parameter.getParameterName(), false)); retval.append( XMLHandler.addTagValue( "target_type", ValueMeta.getTypeDesc(parameter.getTargetType()), false)); retval.append(" ").append(XMLHandler.closeTag(XML_TAG_PARAMETER)).append(Const.CR); } retval.append(" ").append(XMLHandler.closeTag(XML_TAG_PARAMETERS)).append(Const.CR); retval.append(" ").append(XMLHandler.openTag(XML_TAG_FIELDS)).append(Const.CR); for (SapOutputField parameter : outputFields) { retval.append(" ").append(XMLHandler.openTag(XML_TAG_FIELD)); retval.append(XMLHandler.addTagValue("field_name", parameter.getSapFieldName(), false)); retval.append(XMLHandler.addTagValue("sap_type", parameter.getSapType().getCode(), false)); retval.append(XMLHandler.addTagValue("table_name", parameter.getTableName(), false)); retval.append(XMLHandler.addTagValue("new_name", parameter.getNewName(), false)); retval.append( XMLHandler.addTagValue( "target_type", ValueMeta.getTypeDesc(parameter.getTargetType()), false)); retval.append(" ").append(XMLHandler.closeTag(XML_TAG_FIELD)).append(Const.CR); } retval.append(" ").append(XMLHandler.closeTag(XML_TAG_FIELDS)).append(Const.CR); return retval.toString(); }
public void getFields( RowMetaInterface row, String origin, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space) throws KettleStepException { row.clear(); // TODO: add an option to also include the input data... for (SapOutputField field : outputFields) { ValueMetaInterface valueMeta = new ValueMeta(field.getNewName(), field.getTargetType()); valueMeta.setOrigin(origin); row.addValueMeta(valueMeta); } }
public void saveRep(Repository rep, ObjectId id_transformation, ObjectId id_step) throws KettleException { try { rep.saveDatabaseMetaStepAttribute(id_transformation, id_step, "id_connection", databaseMeta); if (function != null && !Const.isEmpty(function.getName())) { rep.saveStepAttribute(id_transformation, id_step, "function_name", function.getName()); rep.saveStepAttribute( id_transformation, id_step, "function_description", function.getDescription()); rep.saveStepAttribute(id_transformation, id_step, "function_group", function.getGroup()); rep.saveStepAttribute( id_transformation, id_step, "function_application", function.getApplication()); rep.saveStepAttribute(id_transformation, id_step, "function_host", function.getHost()); } for (int i = 0; i < parameters.size(); i++) { SapParameter parameter = parameters.get(i); rep.saveStepAttribute( id_transformation, id_step, i, "parameter_field_name", parameter.getFieldName()); rep.saveStepAttribute( id_transformation, id_step, i, "parameter_sap_type", parameter.getSapType() == null ? null : parameter.getSapType().getCode()); rep.saveStepAttribute( id_transformation, id_step, i, "parameter_table_name", parameter.getTableName()); rep.saveStepAttribute( id_transformation, id_step, i, "parameter_name", parameter.getParameterName()); rep.saveStepAttribute( id_transformation, id_step, i, "parameter_target_type", ValueMeta.getTypeDesc(parameter.getTargetType())); } for (int i = 0; i < outputFields.size(); i++) { SapOutputField field = outputFields.get(i); rep.saveStepAttribute( id_transformation, id_step, i, "field_sap_field_name", field.getSapFieldName()); rep.saveStepAttribute( id_transformation, id_step, i, "field_sap_type", field.getSapType() == null ? null : field.getSapType().getCode()); rep.saveStepAttribute( id_transformation, id_step, i, "field_table_name", field.getTableName()); rep.saveStepAttribute( id_transformation, id_step, i, "field_target_type", ValueMeta.getTypeDesc(field.getTargetType())); rep.saveStepAttribute(id_transformation, id_step, i, "field_new_name", field.getNewName()); } } catch (Exception e) { throw new KettleException( "Unable to save step information to the repository for id_step=" + id_step, e); } }