コード例 #1
0
ファイル: SapInputMeta.java プロジェクト: hoverzheng/kettle
  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();
  }
コード例 #2
0
ファイル: SapInputMeta.java プロジェクト: hoverzheng/kettle
  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);
    }
  }
コード例 #3
0
ファイル: SapInputMeta.java プロジェクト: hoverzheng/kettle
  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);
    }
  }