Exemple #1
0
  /** Copy information from the meta-data input to the dialog fields. */
  public void getData() {
    int i;
    logDebug(BaseMessages.getString(PKG, "DBProcDialog.Log.GettingKeyInfo")); // $NON-NLS-1$

    if (input.getArgument() != null)
      for (i = 0; i < input.getArgument().length; i++) {
        TableItem item = wFields.table.getItem(i);
        if (input.getArgument()[i] != null) item.setText(1, input.getArgument()[i]);
        if (input.getArgumentDirection()[i] != null)
          item.setText(2, input.getArgumentDirection()[i]);
        item.setText(3, ValueMeta.getTypeDesc(input.getArgumentType()[i]));
      }

    if (input.getDatabase() != null) wConnection.setText(input.getDatabase().getName());
    else if (transMeta.nrDatabases() == 1) {
      wConnection.setText(transMeta.getDatabase(0).getName());
    }
    if (input.getProcedure() != null) wProcName.setText(input.getProcedure());
    if (input.getResultName() != null) wResult.setText(input.getResultName());
    wResultType.setText(ValueMeta.getTypeDesc(input.getResultType()));

    wAutoCommit.setSelection(input.isAutoCommit());

    wFields.setRowNums();
    wFields.optWidth(true);
    wStepname.selectAll();
  }
Exemple #2
0
  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();
  }
  /** Copy information from the meta-data input to the dialog fields. */
  public void getData() {
    logDebug(BaseMessages.getString(PKG, "SapInputDialog.Log.GettingKeyInfo"));

    // The database connection name...
    //
    if (input.getDatabaseMeta() != null) {
      wConnection.setText(input.getDatabaseMeta().getName());
    } else if (transMeta.nrDatabases() == 1) {
      wConnection.setText(transMeta.getDatabase(0).getName());
    }

    // The name of the function to use
    //
    function = input.getFunction();
    if (input.getFunction() != null) {
      wFunction.setText(Const.NVL(input.getFunction().getName(), ""));
    }

    // The parameters...
    //
    for (int i = 0; i < input.getParameters().size(); i++) {
      SapParameter parameter = input.getParameters().get(i);
      TableItem item = wInput.table.getItem(i);
      int colnr = 1;
      item.setText(colnr++, Const.NVL(parameter.getFieldName(), ""));
      item.setText(colnr++, parameter.getSapType().getDescription());
      item.setText(colnr++, Const.NVL(parameter.getTableName(), ""));
      item.setText(colnr++, Const.NVL(parameter.getParameterName(), ""));
      item.setText(colnr++, ValueMeta.getTypeDesc(parameter.getTargetType()));
    }
    wInput.setRowNums();
    wInput.optWidth(true);

    // The parameters...
    //
    for (int i = 0; i < input.getOutputFields().size(); i++) {
      SapOutputField outputField = input.getOutputFields().get(i);
      TableItem item = wOutput.table.getItem(i);
      int colnr = 1;
      item.setText(colnr++, Const.NVL(outputField.getSapFieldName(), ""));
      item.setText(colnr++, outputField.getSapType().getDescription());
      item.setText(colnr++, Const.NVL(outputField.getTableName(), ""));
      item.setText(colnr++, Const.NVL(outputField.getNewName(), ""));
      item.setText(colnr++, ValueMeta.getTypeDesc(outputField.getTargetType()));
    }
    wOutput.setRowNums();
    wOutput.optWidth(true);
  }
  public void saveRep(Repository rep, ObjectId id_transformation, ObjectId id_step)
      throws KettleException {
    try {
      for (int i = 0; i < fieldName.length; i++) {
        if (fieldName[i] != null && fieldName[i].length() != 0) {
          rep.saveStepAttribute(
              id_transformation, id_step, i, "field_name", fieldName[i]); // $NON-NLS-1$
          rep.saveStepAttribute(
              id_transformation,
              id_step,
              i,
              "field_type",
              ValueMeta.getTypeDesc(fieldType[i])); // $NON-NLS-1$
          rep.saveStepAttribute(
              id_transformation, id_step, i, "field_length", fieldLength[i]); // $NON-NLS-1$
          rep.saveStepAttribute(
              id_transformation, id_step, i, "field_precision", fieldPrecision[i]); // $NON-NLS-1$
        }
      }

      rep.saveStepAttribute(
          id_transformation,
          id_step,
          "select_unspecified",
          selectingAndSortingUnspecifiedFields); //$NON-NLS-1$
    } catch (Exception e) {
      throw new KettleException(
          BaseMessages.getString(PKG, "MappingInputMeta.Exception.UnableToSaveStepInfo") + id_step,
          e); //$NON-NLS-1$
    }
  }
  public String getXML() {
    String xml = "";

    xml += "<" + XML_TAG + ">";

    xml += XMLHandler.addTagValue("field_name", fieldName);
    xml += XMLHandler.addTagValue("calc_type", getCalcTypeDesc());
    xml += XMLHandler.addTagValue("field_a", fieldA);
    xml += XMLHandler.addTagValue("field_b", fieldB);
    xml += XMLHandler.addTagValue("field_c", fieldC);
    xml += XMLHandler.addTagValue("field_d", fieldD);
    xml += XMLHandler.addTagValue("field_e", fieldE);
    xml += XMLHandler.addTagValue("value_type", ValueMeta.getTypeDesc(valueType));
    xml += XMLHandler.addTagValue("value_length", valueLength);
    xml += XMLHandler.addTagValue("value_precision", valuePrecision);
    xml += XMLHandler.addTagValue("remove", removedFromResult);
    xml += XMLHandler.addTagValue("conversion_mask", conversionMask);
    xml += XMLHandler.addTagValue("decimal_symbol", decimalSymbol);
    xml += XMLHandler.addTagValue("grouping_symbol", groupingSymbol);
    xml += XMLHandler.addTagValue("currency_symbol", currencySymbol);

    xml += "</" + XML_TAG + ">";

    return xml;
  }
  /** Copy information from the meta-data input to the dialog fields. */
  public void getData() {
    wAccField.setText(Const.NVL(input.getAcceptingField(), ""));

    for (int i = 0; i < input.getOutputFields().size(); i++) {
      SasInputField field = input.getOutputFields().get(i);

      TableItem item = new TableItem(wFields.table, SWT.NONE);
      int colnr = 1;
      item.setText(colnr++, Const.NVL(field.getName(), ""));
      item.setText(colnr++, Const.NVL(field.getRename(), ""));
      item.setText(colnr++, ValueMeta.getTypeDesc(field.getType()));
      item.setText(colnr++, Const.NVL(field.getConversionMask(), ""));
      item.setText(colnr++, field.getLength() >= 0 ? Integer.toString(field.getLength()) : "");
      item.setText(
          colnr++, field.getPrecision() >= 0 ? Integer.toString(field.getPrecision()) : "");
      item.setText(colnr++, Const.NVL(field.getDecimalSymbol(), ""));
      item.setText(colnr++, Const.NVL(field.getGroupingSymbol(), ""));
      item.setText(colnr++, Const.NVL(field.getTrimTypeDesc(), ""));
    }
    wFields.removeEmptyRows();
    wFields.setRowNums();
    wFields.optWidth(true);

    wStepname.selectAll();
    wStepname.setFocus();
  }
  public String getXML() {
    StringBuilder xml = new StringBuilder();

    xml.append(XMLHandler.openTag(XML_TAG));

    xml.append(XMLHandler.addTagValue("name", fieldName));
    xml.append(XMLHandler.addTagValue("validation_name", name));
    xml.append(XMLHandler.addTagValue("max_length", maximumLength));
    xml.append(XMLHandler.addTagValue("min_length", minimumLength));

    xml.append(XMLHandler.addTagValue("null_allowed", nullAllowed));
    xml.append(XMLHandler.addTagValue("only_null_allowed", onlyNullAllowed));
    xml.append(XMLHandler.addTagValue("only_numeric_allowed", onlyNumericAllowed));

    xml.append(XMLHandler.addTagValue("data_type", ValueMeta.getTypeDesc(dataType)));
    xml.append(XMLHandler.addTagValue("data_type_verified", dataTypeVerified));
    xml.append(XMLHandler.addTagValue("conversion_mask", conversionMask));
    xml.append(XMLHandler.addTagValue("decimal_symbol", decimalSymbol));
    xml.append(XMLHandler.addTagValue("grouping_symbol", groupingSymbol));

    xml.append(XMLHandler.addTagValue("max_value", maximumValue));
    xml.append(XMLHandler.addTagValue("min_value", minimumValue));

    xml.append(XMLHandler.addTagValue("start_string", startString));
    xml.append(XMLHandler.addTagValue("end_string", endString));
    xml.append(XMLHandler.addTagValue("start_string_not_allowed", startStringNotAllowed));
    xml.append(XMLHandler.addTagValue("end_string_not_allowed", endStringNotAllowed));

    xml.append(XMLHandler.addTagValue("regular_expression", regularExpression));
    xml.append(
        XMLHandler.addTagValue("regular_expression_not_allowed", regularExpressionNotAllowed));

    xml.append(XMLHandler.addTagValue("error_code", errorCode));
    xml.append(XMLHandler.addTagValue("error_description", errorDescription));

    xml.append(XMLHandler.addTagValue("is_sourcing_values", sourcingValues));
    xml.append(
        XMLHandler.addTagValue(
            "sourcing_step", sourcingStep == null ? sourcingStepName : sourcingStep.getName()));
    xml.append(XMLHandler.addTagValue("sourcing_field", sourcingField));

    xml.append(XMLHandler.openTag(XML_TAG_ALLOWED));
    if (allowedValues != null) {

      for (String allowedValue : allowedValues) {
        xml.append(XMLHandler.addTagValue("value", allowedValue));
      }
    }
    xml.append(XMLHandler.closeTag(XML_TAG_ALLOWED));

    xml.append(XMLHandler.closeTag(XML_TAG));

    return xml.toString();
  }
  public void saveRep(Repository rep, ObjectId id_transformation, ObjectId id_step)
      throws KettleException {
    try {
      rep.saveStepAttribute(id_transformation, id_step, "splitfield", splitField); // $NON-NLS-1$
      rep.saveStepAttribute(id_transformation, id_step, "delimiter", delimiter); // $NON-NLS-1$

      for (int i = 0; i < fieldName.length; i++) {
        rep.saveStepAttribute(
            id_transformation, id_step, i, "field_name", fieldName[i]); // $NON-NLS-1$
        rep.saveStepAttribute(id_transformation, id_step, i, "field_id", fieldID[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation, id_step, i, "field_idrem", fieldRemoveID[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation,
            id_step,
            i,
            "field_type",
            ValueMeta.getTypeDesc(fieldType[i])); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation, id_step, i, "field_format", fieldFormat[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation, id_step, i, "field_group", fieldGroup[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation, id_step, i, "field_decimal", fieldDecimal[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation, id_step, i, "field_length", fieldLength[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation, id_step, i, "field_precision", fieldPrecision[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation, id_step, i, "field_nullif", fieldNullIf[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation, id_step, i, "field_ifnull", fieldIfNull[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation,
            id_step,
            i,
            "field_trimtype",
            ValueMeta.getTrimTypeCode(fieldTrimType[i])); // $NON-NLS-1$
      }
    } catch (Exception e) {
      throw new KettleException(
          BaseMessages.getString(
                  PKG, "FieldSplitterMeta.Exception.UnalbeToSaveStepInfoToRepository")
              + id_step,
          e); //$NON-NLS-1$
    }
  }
 public void saveRep(Repository rep, long id_transformation, long id_step, int nr)
     throws KettleException {
   rep.saveStepAttribute(id_transformation, id_step, nr, "field_name", fieldName);
   rep.saveStepAttribute(id_transformation, id_step, nr, "calc_type", getCalcTypeDesc());
   rep.saveStepAttribute(id_transformation, id_step, nr, "field_a", fieldA);
   rep.saveStepAttribute(id_transformation, id_step, nr, "field_b", fieldB);
   rep.saveStepAttribute(id_transformation, id_step, nr, "field_c", fieldC);
   rep.saveStepAttribute(id_transformation, id_step, nr, "field_d", fieldD);
   rep.saveStepAttribute(id_transformation, id_step, nr, "field_e", fieldE);
   rep.saveStepAttribute(
       id_transformation, id_step, nr, "value_type", ValueMeta.getTypeDesc(valueType));
   rep.saveStepAttribute(id_transformation, id_step, nr, "value_length", valueLength);
   rep.saveStepAttribute(id_transformation, id_step, nr, "value_precision", valuePrecision);
   rep.saveStepAttribute(id_transformation, id_step, nr, "remove", removedFromResult);
   rep.saveStepAttribute(id_transformation, id_step, nr, "conversion_mask", conversionMask);
   rep.saveStepAttribute(id_transformation, id_step, nr, "decimal_symbol", decimalSymbol);
   rep.saveStepAttribute(id_transformation, id_step, nr, "grouping_symbol", groupingSymbol);
   rep.saveStepAttribute(id_transformation, id_step, nr, "currency_symbol", currencySymbol);
 }
  public String getXML() {
    StringBuffer retval = new StringBuffer(500);

    retval.append("    ").append(XMLHandler.addTagValue("filename", filename));
    retval.append("    ").append(XMLHandler.addTagValue("filename_field", filenameField));
    retval.append("    ").append(XMLHandler.addTagValue("rownum_field", rowNumField));
    retval.append("    ").append(XMLHandler.addTagValue("include_filename", includingFilename));
    retval.append("    ").append(XMLHandler.addTagValue("separator", delimiter));
    retval.append("    ").append(XMLHandler.addTagValue("enclosure", enclosure));
    retval.append("    ").append(XMLHandler.addTagValue("header", headerPresent));
    retval.append("    ").append(XMLHandler.addTagValue("buffer_size", bufferSize));
    retval.append("    ").append(XMLHandler.addTagValue("lazy_conversion", lazyConversionActive));
    retval.append("    ").append(XMLHandler.addTagValue("add_filename_result", isaddresult));
    retval.append("    ").append(XMLHandler.addTagValue("parallel", runningInParallel));
    retval.append("    ").append(XMLHandler.addTagValue("encoding", encoding));

    retval.append("    <fields>").append(Const.CR);
    for (int i = 0; i < inputFields.length; i++) {
      TextFileInputField field = inputFields[i];

      retval.append("      <field>").append(Const.CR);
      retval.append("        ").append(XMLHandler.addTagValue("name", field.getName()));
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("type", ValueMeta.getTypeDesc(field.getType())));
      retval.append("        ").append(XMLHandler.addTagValue("format", field.getFormat()));
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("currency", field.getCurrencySymbol()));
      retval.append("        ").append(XMLHandler.addTagValue("decimal", field.getDecimalSymbol()));
      retval.append("        ").append(XMLHandler.addTagValue("group", field.getGroupSymbol()));
      retval.append("        ").append(XMLHandler.addTagValue("length", field.getLength()));
      retval.append("        ").append(XMLHandler.addTagValue("precision", field.getPrecision()));
      retval
          .append("        ")
          .append(
              XMLHandler.addTagValue("trim_type", ValueMeta.getTrimTypeCode(field.getTrimType())));
      retval.append("      </field>").append(Const.CR);
    }
    retval.append("    </fields>").append(Const.CR);

    return retval.toString();
  }
  public void saveRep(Repository rep, long id_transformation, long id_step) throws KettleException {
    try {
      rep.saveStepAttribute(id_transformation, id_step, "filename", filename);
      rep.saveStepAttribute(id_transformation, id_step, "filename_field", filenameField);
      rep.saveStepAttribute(id_transformation, id_step, "rownum_field", rowNumField);
      rep.saveStepAttribute(id_transformation, id_step, "include_filename", includingFilename);
      rep.saveStepAttribute(id_transformation, id_step, "separator", delimiter);
      rep.saveStepAttribute(id_transformation, id_step, "enclosure", enclosure);
      rep.saveStepAttribute(id_transformation, id_step, "buffer_size", bufferSize);
      rep.saveStepAttribute(id_transformation, id_step, "header", headerPresent);
      rep.saveStepAttribute(id_transformation, id_step, "lazy_conversion", lazyConversionActive);
      rep.saveStepAttribute(id_transformation, id_step, "add_filename_result", isaddresult);
      rep.saveStepAttribute(id_transformation, id_step, "parallel", runningInParallel);
      rep.saveStepAttribute(id_transformation, id_step, "encoding", encoding);

      for (int i = 0; i < inputFields.length; i++) {
        TextFileInputField field = inputFields[i];

        rep.saveStepAttribute(id_transformation, id_step, i, "field_name", field.getName());
        rep.saveStepAttribute(
            id_transformation, id_step, i, "field_type", ValueMeta.getTypeDesc(field.getType()));
        rep.saveStepAttribute(id_transformation, id_step, i, "field_format", field.getFormat());
        rep.saveStepAttribute(
            id_transformation, id_step, i, "field_currency", field.getCurrencySymbol());
        rep.saveStepAttribute(
            id_transformation, id_step, i, "field_decimal", field.getDecimalSymbol());
        rep.saveStepAttribute(id_transformation, id_step, i, "field_group", field.getGroupSymbol());
        rep.saveStepAttribute(id_transformation, id_step, i, "field_length", field.getLength());
        rep.saveStepAttribute(
            id_transformation, id_step, i, "field_precision", field.getPrecision());
        rep.saveStepAttribute(
            id_transformation,
            id_step,
            i,
            "field_trim_type",
            ValueMeta.getTrimTypeCode(field.getTrimType()));
      }
    } catch (Exception e) {
      throw new KettleException(
          "Unable to save step information to the repository for id_step=" + id_step, e);
    }
  }
  public String getXML() {
    StringBuffer retval = new StringBuffer(300);

    retval.append("    <fields>").append(Const.CR); // $NON-NLS-1$
    for (int i = 0; i < fieldName.length; i++) {
      if (fieldName[i] != null && fieldName[i].length() != 0) {
        retval.append("      <field>").append(Const.CR); // $NON-NLS-1$
        retval
            .append("        ")
            .append(XMLHandler.addTagValue("name", fieldName[i])); // $NON-NLS-1$ //$NON-NLS-2$
        retval
            .append("        ")
            .append(
                XMLHandler.addTagValue(
                    "type", ValueMeta.getTypeDesc(fieldType[i]))); // $NON-NLS-1$ //$NON-NLS-2$
        retval
            .append("        ")
            .append(XMLHandler.addTagValue("length", fieldLength[i])); // $NON-NLS-1$ //$NON-NLS-2$
        retval
            .append("        ")
            .append(
                XMLHandler.addTagValue(
                    "precision", fieldPrecision[i])); // $NON-NLS-1$ //$NON-NLS-2$
        retval.append("      </field>").append(Const.CR); // $NON-NLS-1$
      }
    }

    retval
        .append("        ")
        .append(
            XMLHandler.addTagValue(
                "select_unspecified",
                selectingAndSortingUnspecifiedFields)); //$NON-NLS-1$ //$NON-NLS-2$

    retval.append("    </fields>").append(Const.CR); // $NON-NLS-1$

    return retval.toString();
  }
  private void handleNullIf() {
    data.nullIf = new Object[meta.getValue().length];

    for (int i = 0; i < meta.getValue().length; i++) {
      if (meta.getValueDefaultType()[i] < 0) {
        // logError("unknown default value type: "+dtype+" for value "+value[i]+", default to type:
        // String!");
        meta.getValueDefaultType()[i] = ValueMetaInterface.TYPE_STRING;
      }
      data.nullIf[i] = null;
      switch (meta.getValueDefaultType()[i]) {
        case ValueMetaInterface.TYPE_STRING:
          if (Const.isEmpty(meta.getValueDefault()[i])) {
            data.nullIf[i] = null;
          } else {
            data.nullIf[i] = meta.getValueDefault()[i];
          }
          break;
        case ValueMetaInterface.TYPE_DATE:
          try {
            data.nullIf[i] = DateFormat.getInstance().parse(meta.getValueDefault()[i]);
          } catch (Exception e) {
          }
          break;
        case ValueMetaInterface.TYPE_NUMBER:
          try {
            data.nullIf[i] = new Double(Double.parseDouble(meta.getValueDefault()[i]));
          } catch (Exception e) {
          }
          break;
        case ValueMetaInterface.TYPE_INTEGER:
          try {
            data.nullIf[i] = new Long(Long.parseLong(meta.getValueDefault()[i]));
          } catch (Exception e) {
          }
          break;
        case ValueMetaInterface.TYPE_BOOLEAN:
          if ("TRUE".equalsIgnoreCase(meta.getValueDefault()[i])
              || //$NON-NLS-1$
              "Y".equalsIgnoreCase(meta.getValueDefault()[i])) // $NON-NLS-1$
          data.nullIf[i] = Boolean.TRUE;
          else data.nullIf[i] = Boolean.FALSE;
          ;
          break;
        case ValueMetaInterface.TYPE_BIGNUMBER:
          try {
            data.nullIf[i] = new BigDecimal(meta.getValueDefault()[i]);
          } catch (Exception e) {
          }
          break;
        default:
          // if a default value is given and no conversion is implemented throw an error
          if (meta.getValueDefault()[i] != null && meta.getValueDefault()[i].trim().length() > 0) {
            throw new RuntimeException(
                BaseMessages.getString(PKG, "StreamLookup.Exception.ConversionNotImplemented")
                    + " "
                    + ValueMeta.getTypeDesc(meta.getValueDefaultType()[i]));
          } else {
            // no default value given: just set it to null
            data.nullIf[i] = null;
            break;
          }
      }
    }
  }
  public void saveRep(
      Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step, int i)
      throws KettleException {
    rep.saveStepAttribute(id_transformation, id_step, i, "validator_field_name", fieldName);
    rep.saveStepAttribute(id_transformation, id_step, i, "validator_field_validation_name", name);

    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_max_length", maximumLength);
    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_min_length", minimumLength);

    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_null_allowed", nullAllowed);
    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_only_null_allowed", onlyNullAllowed);
    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_only_numeric_allowed", onlyNumericAllowed);

    rep.saveStepAttribute(
        id_transformation,
        id_step,
        i,
        "validator_field_data_type",
        ValueMeta.getTypeDesc(dataType));
    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_data_type_verified", dataTypeVerified);
    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_conversion_mask", conversionMask);
    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_decimal_symbol", decimalSymbol);
    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_grouping_symbol", groupingSymbol);

    rep.saveStepAttribute(id_transformation, id_step, i, "validator_field_max_value", maximumValue);
    rep.saveStepAttribute(id_transformation, id_step, i, "validator_field_min_value", minimumValue);

    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_start_string", startString);
    rep.saveStepAttribute(id_transformation, id_step, i, "validator_field_end_string", endString);
    rep.saveStepAttribute(
        id_transformation,
        id_step,
        i,
        "validator_field_start_string_not_allowed",
        startStringNotAllowed);
    rep.saveStepAttribute(
        id_transformation,
        id_step,
        i,
        "validator_field_end_string_not_allowed",
        endStringNotAllowed);

    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_regular_expression", regularExpression);
    rep.saveStepAttribute(
        id_transformation,
        id_step,
        i,
        "validator_field_regular_expression_not_allowed",
        regularExpressionNotAllowed);

    rep.saveStepAttribute(id_transformation, id_step, i, "validator_field_error_code", errorCode);
    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_error_description", errorDescription);

    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_is_sourcing_values", sourcingValues);
    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_sourcing_step", sourcingStepName);
    rep.saveStepAttribute(
        id_transformation, id_step, i, "validator_field_sourcing_field", sourcingField);

    if (allowedValues != null) {
      for (int nr = 1; nr <= allowedValues.length; nr++) {
        rep.saveStepAttribute(
            id_transformation, id_step, i, "validator_field_value_" + nr, allowedValues[nr - 1]);
      }
    }
  }
Exemple #15
0
  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);
    }
  }
Exemple #16
0
 public String getTypeDesc() {
   return ValueMeta.getTypeDesc(type);
 }
  public String getXML() {
    final StringBuilder retval = new StringBuilder(500);

    retval
        .append("   ")
        .append(XMLHandler.addTagValue("splitfield", splitField)); // $NON-NLS-1$ //$NON-NLS-2$
    retval
        .append("   ")
        .append(XMLHandler.addTagValue("delimiter", delimiter)); // $NON-NLS-1$ //$NON-NLS-2$

    retval.append("    <fields>"); // $NON-NLS-1$
    for (int i = 0; i < fieldName.length; i++) {
      retval.append("      <field>"); // $NON-NLS-1$
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("name", fieldName[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("id", fieldID[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("idrem", fieldRemoveID[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(
              XMLHandler.addTagValue(
                  "type", ValueMeta.getTypeDesc(fieldType[i]))); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("format", fieldFormat[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("group", fieldGroup[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("decimal", fieldDecimal[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("length", fieldLength[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(
              XMLHandler.addTagValue("precision", fieldPrecision[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("nullif", fieldNullIf[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("ifnull", fieldIfNull[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(
              XMLHandler.addTagValue(
                  "trimtype",
                  ValueMeta.getTrimTypeCode(fieldTrimType[i]))); // $NON-NLS-1$ //$NON-NLS-2$
      retval.append("      </field>"); // $NON-NLS-1$
    }
    retval.append("    </fields>"); // $NON-NLS-1$

    return retval.toString();
  }
  public String getXML() {
    StringBuffer retval = new StringBuffer(500);

    retval
        .append("    ")
        .append(
            XMLHandler.addTagValue(
                "connection",
                databaseMeta == null
                    ? ""
                    : databaseMeta.getName())); // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    retval
        .append("    ")
        .append(XMLHandler.addTagValue("cache", cached)); // $NON-NLS-1$ //$NON-NLS-2$
    retval
        .append("    ")
        .append(
            XMLHandler.addTagValue(
                "cache_load_all", loadingAllDataInCache)); // $NON-NLS-1$ //$NON-NLS-2$
    retval
        .append("    ")
        .append(XMLHandler.addTagValue("cache_size", cacheSize)); // $NON-NLS-1$ //$NON-NLS-2$
    retval.append("    <lookup>").append(Const.CR); // $NON-NLS-1$
    retval
        .append("      ")
        .append(XMLHandler.addTagValue("schema", schemaName)); // $NON-NLS-1$ //$NON-NLS-2$
    retval
        .append("      ")
        .append(XMLHandler.addTagValue("table", tablename)); // $NON-NLS-1$ //$NON-NLS-2$
    retval
        .append("      ")
        .append(XMLHandler.addTagValue("orderby", orderByClause)); // $NON-NLS-1$ //$NON-NLS-2$
    retval
        .append("      ")
        .append(
            XMLHandler.addTagValue(
                "fail_on_multiple", failingOnMultipleResults)); // $NON-NLS-1$ //$NON-NLS-2$
    retval
        .append("      ")
        .append(
            XMLHandler.addTagValue(
                "eat_row_on_failure", eatingRowOnLookupFailure)); // $NON-NLS-1$ //$NON-NLS-2$

    for (int i = 0; i < streamKeyField1.length; i++) {
      retval.append("      <key>").append(Const.CR); // $NON-NLS-1$
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("name", streamKeyField1[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("field", tableKeyField[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(
              XMLHandler.addTagValue("condition", keyCondition[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("name2", streamKeyField2[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval.append("      </key>").append(Const.CR); // $NON-NLS-1$
    }

    for (int i = 0; i < returnValueField.length; i++) {
      retval.append("      <value>").append(Const.CR); // $NON-NLS-1$
      retval
          .append("        ")
          .append(XMLHandler.addTagValue("name", returnValueField[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(
              XMLHandler.addTagValue("rename", returnValueNewName[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(
              XMLHandler.addTagValue(
                  "default", returnValueDefault[i])); // $NON-NLS-1$ //$NON-NLS-2$
      retval
          .append("        ")
          .append(
              XMLHandler.addTagValue(
                  "type",
                  ValueMeta.getTypeDesc(returnValueDefaultType[i]))); // $NON-NLS-1$ //$NON-NLS-2$
      retval.append("      </value>").append(Const.CR); // $NON-NLS-1$
    }

    retval.append("    </lookup>").append(Const.CR); // $NON-NLS-1$

    return retval.toString();
  }
  public void saveRep(Repository rep, long id_transformation, long id_step) throws KettleException {
    try {
      rep.saveStepAttribute(
          id_transformation,
          id_step,
          "id_connection",
          databaseMeta == null ? -1 : databaseMeta.getID()); // $NON-NLS-1$
      rep.saveStepAttribute(id_transformation, id_step, "cache", cached); // $NON-NLS-1$
      rep.saveStepAttribute(
          id_transformation, id_step, "cache_load_all", loadingAllDataInCache); // $NON-NLS-1$
      rep.saveStepAttribute(id_transformation, id_step, "cache_size", cacheSize); // $NON-NLS-1$
      rep.saveStepAttribute(id_transformation, id_step, "lookup_schema", schemaName); // $NON-NLS-1$
      rep.saveStepAttribute(id_transformation, id_step, "lookup_table", tablename); // $NON-NLS-1$
      rep.saveStepAttribute(
          id_transformation, id_step, "lookup_orderby", orderByClause); // $NON-NLS-1$
      rep.saveStepAttribute(
          id_transformation, id_step, "fail_on_multiple", failingOnMultipleResults); // $NON-NLS-1$
      rep.saveStepAttribute(
          id_transformation,
          id_step,
          "eat_row_on_failure",
          eatingRowOnLookupFailure); //$NON-NLS-1$

      for (int i = 0; i < streamKeyField1.length; i++) {
        rep.saveStepAttribute(
            id_transformation, id_step, i, "lookup_key_name", streamKeyField1[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation, id_step, i, "lookup_key_field", tableKeyField[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation, id_step, i, "lookup_key_condition", keyCondition[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation, id_step, i, "lookup_key_name2", streamKeyField2[i]); // $NON-NLS-1$
      }

      for (int i = 0; i < returnValueField.length; i++) {
        rep.saveStepAttribute(
            id_transformation, id_step, i, "return_value_name", returnValueField[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation,
            id_step,
            i,
            "return_value_rename",
            returnValueNewName[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation,
            id_step,
            i,
            "return_value_default",
            returnValueDefault[i]); // $NON-NLS-1$
        rep.saveStepAttribute(
            id_transformation,
            id_step,
            i,
            "return_value_type",
            ValueMeta.getTypeDesc(returnValueDefaultType[i])); // $NON-NLS-1$
      }

      // Also, save the step-database relationship!
      if (databaseMeta != null)
        rep.insertStepDatabase(id_transformation, id_step, databaseMeta.getID());
    } catch (Exception e) {
      throw new KettleException(
          Messages.getString("DatabaseLookupMeta.ERROR0003.UnableToSaveStepToRepository") + id_step,
          e); //$NON-NLS-1$
    }
  }