public void getFields( RowMetaInterface r, String name, RowMetaInterface info[], StepMeta nextStep, VariableSpace space, Repository repository, IMetaStore metaStore) throws KettleStepException { int i; for (i = 0; i < inputFields.length; i++) { RssInputField field = inputFields[i]; int type = field.getType(); if (type == ValueMeta.TYPE_NONE) type = ValueMeta.TYPE_STRING; try { ValueMetaInterface v = ValueMetaFactory.createValueMeta(space.environmentSubstitute(field.getName()), type); v.setLength(field.getLength(), field.getPrecision()); v.setOrigin(name); r.addValueMeta(v); } catch (Exception e) { throw new KettleStepException(e); } } if (includeUrl) { ValueMetaInterface v = new ValueMeta(space.environmentSubstitute(urlField), ValueMeta.TYPE_STRING); v.setLength(100, -1); v.setOrigin(name); r.addValueMeta(v); } if (includeRowNumber) { ValueMetaInterface v = new ValueMeta(space.environmentSubstitute(rowNumberField), ValueMeta.TYPE_INTEGER); v.setLength(ValueMetaInterface.DEFAULT_INTEGER_LENGTH, 0); v.setOrigin(name); r.addValueMeta(v); } }
public String getXML() { StringBuffer retval = new StringBuffer(); retval.append(" " + XMLHandler.addTagValue("url_in_field", urlInField)); retval.append(" " + XMLHandler.addTagValue("url_field_name", urlFieldname)); retval.append(" " + XMLHandler.addTagValue("rownum", includeRowNumber)); retval.append(" " + XMLHandler.addTagValue("rownum_field", rowNumberField)); retval.append(" " + XMLHandler.addTagValue("include_url", includeUrl)); retval.append(" " + XMLHandler.addTagValue("url_Field", urlField)); retval.append(" " + XMLHandler.addTagValue("read_from", readfrom)); retval.append(" <urls>" + Const.CR); for (int i = 0; i < url.length; i++) { retval.append(" " + XMLHandler.addTagValue("url", url[i])); } retval.append(" </urls>" + Const.CR); retval.append(" <fields>" + Const.CR); for (int i = 0; i < inputFields.length; i++) { RssInputField field = inputFields[i]; retval.append(field.getXML()); } retval.append(" </fields>" + Const.CR); retval.append(" " + XMLHandler.addTagValue("limit", rowLimit)); return retval.toString(); }
public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step) throws KettleException { try { rep.saveStepAttribute(id_transformation, id_step, "url_in_field", urlInField); rep.saveStepAttribute(id_transformation, id_step, "url_field_name", urlFieldname); rep.saveStepAttribute(id_transformation, id_step, "rownum", includeRowNumber); rep.saveStepAttribute(id_transformation, id_step, "rownum_field", rowNumberField); rep.saveStepAttribute(id_transformation, id_step, "include_url", includeUrl); rep.saveStepAttribute(id_transformation, id_step, "url_Field", urlField); rep.saveStepAttribute(id_transformation, id_step, "read_from", readfrom); rep.saveStepAttribute(id_transformation, id_step, "limit", rowLimit); for (int i = 0; i < url.length; i++) { rep.saveStepAttribute(id_transformation, id_step, i, "url_name", url[i]); } for (int i = 0; i < inputFields.length; i++) { RssInputField field = inputFields[i]; rep.saveStepAttribute(id_transformation, id_step, i, "field_name", field.getName()); rep.saveStepAttribute(id_transformation, id_step, i, "field_column", field.getColumnCode()); rep.saveStepAttribute(id_transformation, id_step, i, "field_type", field.getTypeDesc()); 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", field.getTrimTypeCode()); rep.saveStepAttribute(id_transformation, id_step, i, "field_repeat", field.isRepeated()); } } catch (Exception e) { throw new KettleException( BaseMessages.getString( PKG, "RssInputMeta.Exception.ErrorSavingToRepository", "" + id_step), e); } }
public void readRep( Repository rep, IMetaStore metaStore, ObjectId id_step, List<DatabaseMeta> databases) throws KettleException { try { urlInField = rep.getStepAttributeBoolean(id_step, "url_in_field"); urlFieldname = rep.getStepAttributeString(id_step, "url_field_name"); includeRowNumber = rep.getStepAttributeBoolean(id_step, "rownum"); rowNumberField = rep.getStepAttributeString(id_step, "rownum_field"); includeUrl = rep.getStepAttributeBoolean(id_step, "include_url"); urlField = rep.getStepAttributeString(id_step, "url_Field"); readfrom = rep.getStepAttributeString(id_step, "read_from"); rowLimit = rep.getStepAttributeInteger(id_step, "limit"); int nrFields = rep.countNrStepAttributes(id_step, "field_name"); int nrUrls = rep.countNrStepAttributes(id_step, "url_name"); allocate(nrUrls, nrFields); for (int i = 0; i < nrUrls; i++) { url[i] = rep.getStepAttributeString(id_step, i, "url_name"); } for (int i = 0; i < nrFields; i++) { RssInputField field = new RssInputField(); field.setName(rep.getStepAttributeString(id_step, i, "field_name")); field.setColumn( RssInputField.getColumnByCode(rep.getStepAttributeString(id_step, i, "field_column"))); field.setType(ValueMeta.getType(rep.getStepAttributeString(id_step, i, "field_type"))); field.setFormat(rep.getStepAttributeString(id_step, i, "field_format")); field.setCurrencySymbol(rep.getStepAttributeString(id_step, i, "field_currency")); field.setDecimalSymbol(rep.getStepAttributeString(id_step, i, "field_decimal")); field.setGroupSymbol(rep.getStepAttributeString(id_step, i, "field_group")); field.setLength((int) rep.getStepAttributeInteger(id_step, i, "field_length")); field.setPrecision((int) rep.getStepAttributeInteger(id_step, i, "field_precision")); field.setTrimType( RssInputField.getTrimTypeByCode( rep.getStepAttributeString(id_step, i, "field_trim_type"))); field.setRepeated(rep.getStepAttributeBoolean(id_step, i, "field_repeat")); inputFields[i] = field; } } catch (Exception e) { throw new KettleException( BaseMessages.getString(PKG, "RssInputMeta.Exception.ErrorReadingRepository"), e); } }