@Override public String getXML() { StringBuffer retval = new StringBuffer( 300 ); retval.append( " <" + StorageKeys.NODE_FIELDS + ">" ).append( Const.CR ); for ( int i = 0; i < ruleResultColumns.size(); i++ ) { retval.append( " <" + StorageKeys.SUBNODE_FIELD + ">" ).append( Const.CR ); retval.append( " " ).append( XMLHandler.addTagValue( StorageKeys.COLUMN_NAME.toString(), ruleResultColumns.get( i ).getName() ) ); retval.append( " " ).append( XMLHandler.addTagValue( StorageKeys.COLUMN_TYPE.toString(), ruleResultColumns.get( i ).getTypeDesc() ) ); retval.append( " </" + StorageKeys.SUBNODE_FIELD + ">" ).append( Const.CR ); } retval.append( " </" + StorageKeys.NODE_FIELDS + ">" ).append( Const.CR ); retval.append( " " ).append( XMLHandler.addTagValue( StorageKeys.RULE_FILE.toString(), getRuleFile() ) ); retval.append( " " ).append( XMLHandler.addTagValue( StorageKeys.RULE_DEFINITION.toString(), getRuleDefinition() ) ); return retval.toString(); }
@Override public String getXML() { StringBuffer retval = new StringBuffer( 300 ); retval.append( " <" + StorageKeys.NODE_FIELDS + ">" ).append( Const.CR ); for ( int i = 0; i < ruleResultColumns.size(); i++ ) { retval.append( " <" + StorageKeys.SUBNODE_FIELD + ">" ).append( Const.CR ); retval.append( " " ).append( XMLHandler.addTagValue( StorageKeys.COLUMN_NAME.toString(), ruleResultColumns.get( i ).getName() ) ); retval.append( " " ).append( XMLHandler.addTagValue( StorageKeys.COLUMN_TYPE.toString(), ruleResultColumns.get( i ).getTypeDesc() ) ); retval.append( " </" + StorageKeys.SUBNODE_FIELD + ">" ).append( Const.CR ); } retval.append( " </" + StorageKeys.NODE_FIELDS + ">" ).append( Const.CR ); retval.append( " " ).append( XMLHandler.addTagValue( StorageKeys.RULE_FILE.toString(), getRuleFile() ) ); retval.append( " " ).append( XMLHandler.addTagValue( StorageKeys.RULE_DEFINITION.toString(), getRuleDefinition() ) ); return retval.toString(); }
/** * Get an array of strings showing the name of the values in the row padded to a maximum length, followed by the types * of the values. * * @param maxlen The length to which the name will be padded. * @return an array of strings: the names and the types of the fieldnames in the row. */ @Override public String[] getFieldNamesAndTypes( int maxlen ) { lock.readLock().lock(); try { final int size = size(); String[] retval = new String[ size ]; for ( int i = 0; i < size; i++ ) { ValueMetaInterface v = getValueMeta( i ); retval[ i ] = Const.rightPad( v.getName(), maxlen ) + " (" + v.getTypeDesc() + ")"; } return retval; } finally { lock.readLock().unlock(); } }
public void initializeColumns( RowMetaInterface inputRowMeta ) { if ( inputRowMeta == null ) { BaseMessages.getString( PKG, "RulesData.InitializeColumns.InputRowMetaIsNull" ); return; } // Create objects for insertion into the rules engine List<ValueMetaInterface> columns = inputRowMeta.getValueMetaList(); // This array must 1-1 match the row[] feteched by getRow() columnList = new Column[columns.size()]; for ( int i = 0; i < columns.size(); i++ ) { ValueMetaInterface column = columns.get( i ); Column c = new Column( true ); c.setName( column.getName() ); c.setType( column.getTypeDesc() ); c.setPayload( null ); columnList[i] = c; } }
@Override public void saveRep( Repository rep, IMetaStore metaStore, ObjectId idTransformation, ObjectId idStep ) throws KettleException { for ( int i = 0; i < ruleResultColumns.size(); i++ ) { rep.saveStepAttribute( idTransformation, idStep, i, StorageKeys.COLUMN_NAME.toString(), ruleResultColumns .get( i ).getName() ); rep.saveStepAttribute( idTransformation, idStep, i, StorageKeys.COLUMN_TYPE.toString(), ruleResultColumns .get( i ).getTypeDesc() ); } rep.saveStepAttribute( idTransformation, idStep, StorageKeys.RULE_FILE.toString(), getRuleFile() ); rep.saveStepAttribute( idTransformation, idStep, StorageKeys.RULE_DEFINITION.toString(), getRuleDefinition() ); }
@Override public void saveRep( Repository rep, IMetaStore metaStore, ObjectId idTransformation, ObjectId idStep ) throws KettleException { for ( int i = 0; i < ruleResultColumns.size(); i++ ) { rep.saveStepAttribute( idTransformation, idStep, i, StorageKeys.COLUMN_NAME.toString(), ruleResultColumns .get( i ).getName() ); rep.saveStepAttribute( idTransformation, idStep, i, StorageKeys.COLUMN_TYPE.toString(), ruleResultColumns .get( i ).getTypeDesc() ); } rep.saveStepAttribute( idTransformation, idStep, StorageKeys.RULE_FILE.toString(), getRuleFile() ); rep.saveStepAttribute( idTransformation, idStep, StorageKeys.RULE_DEFINITION.toString(), getRuleDefinition() ); }
/** * Produce the XML representation of this value. * * @return a String containing the XML to represent this Value. * @throws KettleValueException * in case there is a data conversion error, only throws in case of lazy conversion */ public String getXML() throws KettleValueException { ValueMetaInterface meta = valueMeta.clone(); meta.setDecimalSymbol( "." ); meta.setGroupingSymbol( null ); meta.setCurrencySymbol( null ); StringBuilder retval = new StringBuilder( 128 ); retval.append( "<" + XML_TAG + ">" ); retval.append( XMLHandler.addTagValue( "name", meta.getName(), false ) ); retval.append( XMLHandler.addTagValue( "type", meta.getTypeDesc(), false ) ); try { retval.append( XMLHandler.addTagValue( "text", meta.getCompatibleString( valueData ), false ) ); } catch ( KettleValueException e ) { // LogWriter.getInstance().logError(toString(), Const.getStackTracker(e)); retval.append( XMLHandler.addTagValue( "text", "", false ) ); } retval.append( XMLHandler.addTagValue( "length", meta.getLength(), false ) ); retval.append( XMLHandler.addTagValue( "precision", meta.getPrecision(), false ) ); retval.append( XMLHandler.addTagValue( "isnull", meta.isNull( valueData ), false ) ); retval.append( XMLHandler.addTagValue( "mask", meta.getConversionMask(), false ) ); retval.append( "</" + XML_TAG + ">" ); return retval.toString(); }
public void getData() { wValueType.setText( valueMeta.getTypeDesc() ); try { if ( valueData != null ) {
/** * Load data into the MetaMapper from the RulesMeta * * @param meta */ public void loadMeta( RulesExecutorMeta meta ) { setRuleFile( meta.getRuleFile() ); setRuleDefinition( meta.getRuleDefinition() ); setKeepInputFields( Boolean.toString( meta.isKeepInputFields() ) ); for ( ValueMetaInterface vm : meta.getRuleResultColumns() ) { Column c = new Column(); c.setName( vm.getName() ); c.setType( vm.getTypeDesc() ); getColumnList().add( c ); } }
/** * Load data into the MetaMapper from the RulesMeta * * @param meta */ public void loadMeta( RulesAccumulatorMeta meta ) { setRuleFile( meta.getRuleFile() ); setRuleDefinition( meta.getRuleDefinition() ); setKeepInputFields( Boolean.toString( meta.isKeepInputFields() ) ); for ( ValueMetaInterface vm : meta.getRuleResultColumns() ) { Column c = new Column(); c.setName( vm.getName() ); c.setType( vm.getTypeDesc() ); getColumnList().add( c ); } }
private void updateFields( Object[] r ) throws Exception { // Loop through fields for ( int i = 0; i < data.fieldnr; i++ ) { ValueMetaInterface sourceValueMeta = data.convertRowMeta.getValueMeta( data.fieldnrs[i] ); if ( data.outputRowMeta.getValueMeta( data.fieldnrs[i] ).isNull( r[data.fieldnrs[i]] ) ) { if ( meta.isSelectValuesType() ) { ValueMetaInterface fieldMeta = data.outputRowMeta.getValueMeta( data.fieldnrs[i] ); int pos = data.ListTypes.get( fieldMeta.getTypeDesc() ); replaceNull( r, sourceValueMeta, data.fieldnrs[i], data.defaultValues[pos], data.defaultMasks[pos], data.setEmptyString[pos] ); } else if ( meta.isSelectFields() ) { replaceNull( r, sourceValueMeta, data.fieldnrs[i], data.defaultValues[i], data.defaultMasks[i], data.setEmptyString[i] ); } else { // all if ( data.outputRowMeta.getValueMeta( data.fieldnrs[i] ).isDate() ) { replaceNull( r, sourceValueMeta, data.fieldnrs[i], data.realReplaceByValue, data.realconversionMask, false ); } else { // don't use any special date format when not a date replaceNull( r, sourceValueMeta, data.fieldnrs[i], data.realReplaceByValue, null, data.realSetEmptyString ); } } } } }
.getType() == ValueMetaInterface.TYPE_BOOLEAN ) ) { throw new KettleException( BaseMessages.getString( PKG, "ExcelInput.Exception.InvalidTypeBoolean", v .getTypeDesc() ) ); .getType() == ValueMetaInterface.TYPE_DATE ) ) { throw new KettleException( BaseMessages.getString( PKG, "ExcelInput.Exception.InvalidTypeDate", cell .getContents(), v.getTypeDesc() ) ); || v.getType() == ValueMetaInterface.TYPE_NUMBER ) { throw new KettleException( BaseMessages.getString( PKG, "ExcelInput.Exception.InvalidTypeLabel", cell .getContents(), v.getTypeDesc() ) ); || v.getType() == ValueMetaInterface.TYPE_BIGNUMBER || v.getType() == ValueMetaInterface.TYPE_NUMBER ) ) { throw new KettleException( BaseMessages.getString( PKG, "ExcelInput.Exception.InvalidTypeNumber", cell .getContents(), v.getTypeDesc() ) );
@Override public boolean tableItemInserted( TableItem tableItem, ValueMetaInterface v ) { if ( Const.indexOfString( v.getName(), groupingFields ) < 0 ) { // Not a grouping field if ( !wKeyField.getText().equalsIgnoreCase( v.getName() ) ) { // Not the key field int nr = tableItem.getParent().indexOf( tableItem ) + 1; tableItem.setText( 1, BaseMessages.getString( PKG, "DenormaliserDialog.TargetFieldname.Label" ) + nr ); // the target fieldname tableItem.setText( 2, v.getName() ); tableItem.setText( 4, v.getTypeDesc() ); if ( v.getLength() >= 0 ) { tableItem.setText( 6, "" + v.getLength() ); } if ( v.getPrecision() >= 0 ) { tableItem.setText( 7, "" + v.getPrecision() ); } } } return true; } } );
private void createStepFieldNodes() { if ( this.rowMetaInterface == null ) { String theSql = this.databaseMeta.getSQLQueryFields( this.schemaTableCombo ); GetQueryFieldsProgressDialog theProgressDialog = new GetQueryFieldsProgressDialog( this.shell, this.databaseMeta, theSql ); this.rowMetaInterface = theProgressDialog.open(); } this.model.setStepName( "Step name:" + this.schemaTableCombo ); if ( this.rowMetaInterface != null ) { StepFieldNode theStep = null; for ( int i = 0; i < this.rowMetaInterface.size(); i++ ) { theStep = new StepFieldNode(); ValueMetaInterface theMetaInterface = this.rowMetaInterface.getValueMeta( i ); theStep.setFieldName( theMetaInterface.getName() ); theStep.setType( theMetaInterface.getTypeDesc() ); theStep.setLength( Integer.toString( theMetaInterface.getLength() ) ); theStep.setPrecision( Integer.toString( theMetaInterface.getPrecision() ) ); theStep.setOrigin( theMetaInterface.getOrigin() ); theStep.setStorageType( Integer.toString( theMetaInterface.getStorageType() ) ); theStep.setConversionMask( theMetaInterface.getConversionMask() ); theStep.setDecimalSymbol( theMetaInterface.getDecimalSymbol() ); theStep.setGroupingSymbol( theMetaInterface.getGroupingSymbol() ); theStep.setTrimType( Integer.toString( theMetaInterface.getTrimType() ) ); theStep.setComments( theMetaInterface.getComments() ); this.model.addStepField( theStep ); } } }
ti.setText( 1, v.getName() ); ti.setText( 2, v.getName() ); ti.setText( 3, v.getTypeDesc() );
public boolean isEmptyValue( String valueName ) throws KettleValueException { int idx = rowMeta.indexOfValue( valueName ); if ( idx < 0 ) { throw new KettleValueException( "Unknown column '" + valueName + "'" ); } ValueMetaInterface metaType = rowMeta.getValueMeta( idx ); // find by source value type switch ( metaType.getType() ) { case ValueMetaInterface.TYPE_STRING: return rowMeta.getString( data, idx ) == null; case ValueMetaInterface.TYPE_BOOLEAN: return rowMeta.getBoolean( data, idx ) == null; case ValueMetaInterface.TYPE_INTEGER: return rowMeta.getInteger( data, idx ) == null; case ValueMetaInterface.TYPE_NUMBER: return rowMeta.getNumber( data, idx ) == null; case ValueMetaInterface.TYPE_BIGNUMBER: return rowMeta.getBigNumber( data, idx ) == null; case ValueMetaInterface.TYPE_BINARY: return rowMeta.getBinary( data, idx ) == null; case ValueMetaInterface.TYPE_DATE: case ValueMetaInterface.TYPE_TIMESTAMP: return rowMeta.getDate( data, idx ) == null; case ValueMetaInterface.TYPE_INET: return rowMeta.getString( data, idx ) == null; } throw new KettleValueException( "Unknown source type: " + metaType.getTypeDesc() ); }
@Override public void saveRep( Repository rep, ObjectId id_transformation, ObjectId id_step ) throws KettleException { try { rep.saveStepAttribute( id_transformation, id_step, "value_name", value.getValueMeta().getName() ); rep.saveStepAttribute( id_transformation, id_step, 0, "value_type", value.getValueMeta().getTypeDesc() ); rep.saveStepAttribute( id_transformation, id_step, 0, "value_text", value.getValueMeta().getString( value.getValueData() ) ); rep.saveStepAttribute( id_transformation, id_step, 0, "value_null", value.getValueMeta().isNull( value.getValueData() ) ); rep.saveStepAttribute( id_transformation, id_step, 0, "value_length", value.getValueMeta().getLength() ); rep.saveStepAttribute( id_transformation, id_step, 0, "value_precision", value.getValueMeta().getPrecision() ); } catch ( KettleDatabaseException dbe ) { throw new KettleException( "Unable to save step information to the repository, id_step=" + id_step, dbe ); } }
ValueMetaInterface field = fields.getValueMeta( j ); wFields.add( new String[] { field.getName(), field.getName(), field.getTypeDesc(), "", "-1", "", "", "", "", "none", "N" } );
item.setText( 1, value.getName() ); item.setText( 2, value.getName() ); item.setText( 3, value.getTypeDesc() );
/** * Copy information from the meta-data input to the dialog fields. */ public void getData() { int i; for ( i = 0; i < input.size(); i++ ) { TableItem item = wFields.table.getItem( i ); ValueMetaInterface v = input.getValueMeta( i ); int idx = 1; if ( v.getName() != null ) { item.setText( idx++, v.getName() ); } item.setText( idx++, v.getTypeDesc() ); item.setText( idx++, v.getLength() < 0 ? "-" : "" + v.getLength() ); item.setText( idx++, v.getPrecision() < 0 ? "-" : "" + v.getPrecision() ); item.setText( idx++, Const.NVL( v.getOrigin(), "" ) ); item.setText( idx++, ValueMetaBase.getStorageTypeCode( v.getStorageType() ) ); item.setText( idx++, Const.NVL( v.getConversionMask(), "" ) ); item.setText( idx++, Const.NVL( v.getCurrencySymbol(), "" ) ); item.setText( idx++, Const.NVL( v.getDecimalSymbol(), "" ) ); item.setText( idx++, Const.NVL( v.getGroupingSymbol(), "" ) ); item.setText( idx++, ValueMetaBase.getTrimTypeDesc( v.getTrimType() ) ); item.setText( idx++, Const.NVL( v.getComments(), "" ) ); } wFields.optWidth( true ); }