public List<RowMetaInterface> getRecommendedIndexes() { List<RowMetaInterface> indexes = new ArrayList<RowMetaInterface>(); LogTableField keyField = getKeyField(); if ( keyField.isEnabled() ) { RowMetaInterface batchIndex = new RowMeta(); ValueMetaInterface keyMeta = new ValueMetaBase( keyField.getFieldName(), keyField.getDataType() ); keyMeta.setLength( keyField.getLength() ); batchIndex.addValueMeta( keyMeta ); indexes.add( batchIndex ); } return indexes; } }
protected String getFieldsXML() { StringBuilder retval = new StringBuilder(); for ( LogTableField field : fields ) { retval.append( " " ).append( XMLHandler.openTag( XML_TAG ) ).append( Const.CR ); retval.append( " " ).append( XMLHandler.addTagValue( "id", field.getId() ) ); retval.append( " " ).append( XMLHandler.addTagValue( "enabled", field.isEnabled() ) ); retval.append( " " ).append( XMLHandler.addTagValue( "name", field.getFieldName() ) ); if ( field.isSubjectAllowed() ) { retval.append( " " ).append( XMLHandler.addTagValue( "subject", field.getSubject() == null ? null : field.getSubject().toString() ) ); } retval.append( " " ).append( XMLHandler.closeTag( XML_TAG ) ).append( Const.CR ); } return retval.toString(); }
/** * @return the field that represents the logging text (or null if none is found) */ public LogTableField getLogField() { for ( LogTableField field : fields ) { if ( field.isLogField() ) { return field; } } return null; }
public void loadFieldsXML( Node node ) { int nr = XMLHandler.countNodes( node, BaseLogTable.XML_TAG ); for ( int i = 0; i < nr; i++ ) { Node fieldNode = XMLHandler.getSubNodeByNr( node, BaseLogTable.XML_TAG, i ); String id = XMLHandler.getTagValue( fieldNode, "id" ); LogTableField field = findField( id ); if ( field == null && i < fields.size() ) { field = fields.get( i ); // backward compatible until we go GA } if ( field != null ) { field.setFieldName( XMLHandler.getTagValue( fieldNode, "name" ) ); field.setEnabled( "Y".equalsIgnoreCase( XMLHandler.getTagValue( fieldNode, "enabled" ) ) ); } } }
LogTableField field = fields.get( i ); TableItem item = wOptionFields.table.getItem( i ); item.setChecked( field.isEnabled() ); item.setText( new String[] { "", Const.NVL( field.getFieldName(), "" ), Const.NVL( field.getDescription(), "" ) } );
if ( !field.isLogField() ) { ColumnInfo column = new ColumnInfo( field.getName(), ColumnInfo.COLUMN_TYPE_TEXT, false, true ); int valueType = field.getDataType(); String conversionMask = null; switch ( field.getDataType() ) { case ValueMetaInterface.TYPE_INTEGER: conversionMask = "###,###,##0"; ValueMetaInterface valueMeta = new ValueMeta( field.getFieldName(), valueType, field.getLength(), -1 ); if ( conversionMask != null ) { valueMeta.setConversionMask( conversionMask );
private void getTransLogTableOptions() { if ( previousLogTableIndex == LOG_INDEX_TRANS ) { // The connection... // transLogTable.setConnectionName( wLogconnection.getText() ); transLogTable.setSchemaName( wLogSchema.getText() ); transLogTable.setTableName( wLogTable.getText() ); transLogTable.setLogInterval( wLogInterval.getText() ); transLogTable.setLogSizeLimit( wLogSizeLimit.getText() ); transLogTable.setTimeoutInDays( wLogTimeout.getText() ); for ( int i = 0; i < transLogTable.getFields().size(); i++ ) { TableItem item = wOptionFields.table.getItem( i ); LogTableField field = transLogTable.getFields().get( i ); field.setEnabled( item.getChecked() ); field.setFieldName( item.getText( 1 ) ); if ( field.isSubjectAllowed() ) { field.setSubject( transMeta.findStep( item.getText( 2 ) ) ); } } } }
LogTableField keyField = getKeyField(); ValueMetaInterface keyMeta = new ValueMetaBase( keyField.getFieldName(), keyField.getDataType() ); keyMeta.setLength( keyField.getLength() ); batchIndex.addValueMeta( keyMeta ); LogTableField errorsField = findField( ID.ERRORS ); if ( errorsField != null ) { ValueMetaInterface valueMeta = new ValueMetaBase( errorsField.getFieldName(), errorsField.getDataType() ); valueMeta.setLength( errorsField.getLength() ); lookupIndex.addValueMeta( valueMeta ); ValueMetaInterface valueMeta = new ValueMetaBase( statusField.getFieldName(), statusField.getDataType() ); valueMeta.setLength( statusField.getLength() ); lookupIndex.addValueMeta( valueMeta ); ValueMetaInterface valueMeta = new ValueMetaBase( transNameField.getFieldName(), transNameField.getDataType() ); valueMeta.setLength( transNameField.getLength() ); lookupIndex.addValueMeta( valueMeta );
boolean first = true; for ( LogTableField field : logTable.getFields() ) { if ( field.isEnabled() && field.isVisible() ) { if ( !first ) { sql.append( ", " ); sql.append( logConnection.quoteField( field.getFieldName() ) ); sql.append( " WHERE " ).append( logConnection.quoteField( nameField.getFieldName() ) ).append( " LIKE ?" ); params.addValue( new ValueMetaString( "transname_literal", 255, -1 ), transMeta.getName() ); sql.append( " OR " ).append( logConnection.quoteField( nameField.getFieldName() ) ).append( " LIKE ?" ); params.addValue( new ValueMetaString( "transname_cluster", 255, -1 ), transMeta.getName() + " (%" ); } else { sql.append( " WHERE " ).append( logConnection.quoteField( nameField.getFieldName() ) ).append( " = ?" ); params.addValue( new ValueMetaString( "transname_literal", 255, -1 ), transMeta.getName() ); if ( keyField != null && keyField.isEnabled() ) { sql.append( " ORDER BY " ).append( logConnection.quoteField( keyField.getFieldName() ) ).append( " DESC" );
LogTableField field = fields.get( i ); TableItem item = wOptionFields.table.getItem( i ); item.setChecked( field.isEnabled() ); item .setText( new String[] { "", Const.NVL( field.getFieldName(), "" ), field.getSubject() == null ? "" : field.getSubject().toString(), Const.NVL( field.getDescription(), "" ) } );
database.connect(); String sql = "SELECT "; sql += dbMeta.quoteField( logTable.getStatusField().getFieldName() ) + ", "; sql += dbMeta.quoteField( logTable.getLogDateField().getFieldName() ) + ", "; sql += dbMeta.quoteField( logTable.getErrorsField().getFieldName() ) + ""; sql += " FROM "; sql += dbMeta.getQuotedSchemaTableCombination( logTable.getSchemaName(), logTable.getTableName() ); sql += " ORDER BY " + dbMeta.quoteField( logTable.getLogDateField().getFieldName() ) + " DESC";
public void loadFromRepository( RepositoryAttributeInterface attributeInterface ) throws KettleException { super.loadFromRepository( attributeInterface ); logInterval = attributeInterface.getAttributeString( getLogTableCode() + PROP_LOG_TABLE_INTERVAL ); logSizeLimit = attributeInterface.getAttributeString( getLogTableCode() + PROP_LOG_TABLE_SIZE_LIMIT ); for ( int i = 0; i < getFields().size(); i++ ) { String id = attributeInterface.getAttributeString( getLogTableCode() + PROP_LOG_TABLE_FIELD_ID + i ); // Only read further if the ID is available. // For backward compatibility, this might not be provided yet! // if ( id != null ) { LogTableField field = findField( id ); if ( field.isSubjectAllowed() ) { // BaseLogTable.loadFromRepository sets subject as a String // String stepname = (String) field.getSubject(); if ( !Utils.isEmpty( stepname ) ) { field.setSubject( StepMeta.findStep( steps, stepname ) ); } else { field.setSubject( null ); } } } } }
public void loadXML( Node node, List<DatabaseMeta> databases, List<StepMeta> steps ) { connectionName = XMLHandler.getTagValue( node, "connection" ); schemaName = XMLHandler.getTagValue( node, "schema" ); tableName = XMLHandler.getTagValue( node, "table" ); logSizeLimit = XMLHandler.getTagValue( node, "size_limit_lines" ); logInterval = XMLHandler.getTagValue( node, "interval" ); timeoutInDays = XMLHandler.getTagValue( node, "timeout_days" ); int nr = XMLHandler.countNodes( node, BaseLogTable.XML_TAG ); for ( int i = 0; i < nr; i++ ) { Node fieldNode = XMLHandler.getSubNodeByNr( node, BaseLogTable.XML_TAG, i ); String id = XMLHandler.getTagValue( fieldNode, "id" ); LogTableField field = findField( id ); if ( field == null ) { field = fields.get( i ); } if ( field != null ) { field.setFieldName( XMLHandler.getTagValue( fieldNode, "name" ) ); field.setEnabled( "Y".equalsIgnoreCase( XMLHandler.getTagValue( fieldNode, "enabled" ) ) ); field.setSubject( StepMeta.findStep( steps, XMLHandler.getTagValue( fieldNode, "subject" ) ) ); } } }
String sql = "SELECT * FROM " + schemaTable + " WHERE " + databaseMeta.quoteField( jeLogTable.getKeyField().getFieldName() ) + " = " + batchId; .findField( JobEntryLogTable.ID.JOBENTRYNAME.toString() ).getFieldName() ); int jobEntryResultIndex = rowMeta .indexOfValue( jeLogTable.findField( JobEntryLogTable.ID.RESULT.toString() ).getFieldName() ); int jobEntryErrorsIndex = rowMeta .indexOfValue( jeLogTable.findField( JobEntryLogTable.ID.ERRORS.toString() ).getFieldName() ); LogTableField copyNrField = jeLogTable.findField( JobEntryLogTable.ID.COPY_NR.toString() ); int jobEntryCopyNrIndex = copyNrField == null ? -1 : ( copyNrField.isEnabled() ? rowMeta.indexOfValue( copyNrField .getFieldName() ) : -1 );
public boolean isFieldDisabled( int rowNr ) { if ( rowNr >= 0 && rowNr < fields.size() ) { LogTableField field = fields.get( rowNr ); return field.isSubjectAllowed(); } else { return true; } } };
public void setStepInput( StepMeta input ) { findField( ID.LINES_INPUT ).setSubject( input ); }
public void setBatchIdUsed( boolean use ) { findField( ID.ID_JOB ).setEnabled( use ); }
public void setLogTable( LogTableInterface logTable ) { this.logTable = logTable; logTableFields.clear(); for ( LogTableField field : logTable.getFields() ) { if ( field.isEnabled() && field.isVisible() ) { logTableFields.add( field ); } } // Recreate table view as log table has changed if ( logDisplayTableView != null ) { Composite tableParent = logDisplayTableView.getParent(); TableView newTable = createTransLogTableView( tableParent ); newTable.moveAbove( logDisplayTableView ); logDisplayTableView.dispose(); tableParent.layout( false ); logDisplayTableView = newTable; } }
if ( readField.getSubject() == null && mappingInputs != null && mappingInputs.length >= 1 ) { readField.setSubject( mappingInputs[0].getStepMeta() ); if ( writeField.getSubject() == null && mappingOutputs != null && mappingOutputs.length >= 1 ) { writeField.setSubject( mappingOutputs[0].getStepMeta() );
.setSubject( findStep( XMLHandler.getTagValue( infonode, "log", "read" ) ) ); transLogTable.findField( TransLogTable.ID.LINES_WRITTEN ) .setSubject( findStep( XMLHandler.getTagValue( infonode, "log", "write" ) ) ); transLogTable.findField( TransLogTable.ID.LINES_INPUT ) .setSubject( findStep( XMLHandler.getTagValue( infonode, "log", "input" ) ) ); transLogTable.findField( TransLogTable.ID.LINES_OUTPUT ) .setSubject( findStep( XMLHandler.getTagValue( infonode, "log", "output" ) ) ); transLogTable.findField( TransLogTable.ID.LINES_UPDATED ) .setSubject( findStep( XMLHandler.getTagValue( infonode, "log", "update" ) ) ); transLogTable.findField( TransLogTable.ID.LINES_REJECTED ) .setSubject( findStep( XMLHandler.getTagValue( infonode, "log", "rejected" ) ) ); transLogTable.setTableName( XMLHandler.getTagValue( infonode, "log", "table" ) ); transLogTable.findField( TransLogTable.ID.ID_BATCH ) .setEnabled( "Y".equalsIgnoreCase( XMLHandler.getTagValue( infonode, "log", "use_batchid" ) ) ); transLogTable.findField( TransLogTable.ID.LOG_FIELD ) .setEnabled( "Y".equalsIgnoreCase( XMLHandler.getTagValue( infonode, "log", "USE_LOGFIELD" ) ) ); transLogTable.setLogSizeLimit( XMLHandler.getTagValue( infonode, "log", "size_limit_lines" ) ); transLogTable.setLogInterval( XMLHandler.getTagValue( infonode, "log", "interval" ) ); transLogTable.findField( TransLogTable.ID.CHANNEL_ID ).setEnabled( false ); transLogTable.findField( TransLogTable.ID.LINES_REJECTED ).setEnabled( false ); performanceLogTable.setConnectionName( transLogTable.getConnectionName() ); performanceLogTable.setTableName( XMLHandler.getTagValue( infonode, "log", "step_performance_table" ) );