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 ) ) ); } } } }
TransLogTable transLogTable = transMeta.getTransLogTable(); if ( !transLogTable.isDefined() ) { feedback.add( new ImportValidationFeedback( this, ImportValidationResultType.ERROR, "The logging table is not defined" ) ); } else { if ( !Utils.isEmpty( schemaName ) ) { if ( schemaName.equals( transLogTable.getSchemaName() ) ) { feedback.add( new ImportValidationFeedback( this, ImportValidationResultType.APPROVAL, "The schema name is set to: " + schemaName ) ); if ( tableName.equals( transLogTable.getTableName() ) ) { feedback.add( new ImportValidationFeedback( this, ImportValidationResultType.APPROVAL, "The table name is set to: " + tableName ) ); if ( connectionName.equals( transLogTable.getDatabaseMeta().getName() ) ) { feedback.add( new ImportValidationFeedback( this, ImportValidationResultType.APPROVAL, "The database connection used for logging is: "
private TransLogTable getTransLogTableWithAllEqFields( String fieldsValue ) { TransLogTable transLogTable = TransLogTable.getDefault( mockedVariableSpace, mockedHasDbInterface, null ); initCommonTableFields( transLogTable, fieldsValue ); transLogTable.setLogInterval( fieldsValue ); transLogTable.setLogSizeLimit( fieldsValue ); return transLogTable; }
boolean isLogTableDefined( TransLogTable logTable ) { return logTable.getDatabaseMeta() != null && !Utils.isEmpty( logTable.getTableName() ); }
rootNode.setProperty( PROP_TRANS_STATUS, transMeta.getTransstatus() < 0 ? -1L : transMeta.getTransstatus() ); rootNode.setProperty( PROP_STEP_READ, transMeta.getTransLogTable().getStepnameRead() ); rootNode.setProperty( PROP_STEP_WRITE, transMeta.getTransLogTable().getStepnameWritten() ); rootNode.setProperty( PROP_STEP_INPUT, transMeta.getTransLogTable().getStepnameInput() ); rootNode.setProperty( PROP_STEP_OUTPUT, transMeta.getTransLogTable().getStepnameOutput() ); rootNode.setProperty( PROP_STEP_UPDATE, transMeta.getTransLogTable().getStepnameUpdated() ); rootNode.setProperty( PROP_STEP_REJECTED, transMeta.getTransLogTable().getStepnameRejected() ); if ( transMeta.getTransLogTable().getDatabaseMeta() != null ) { DataNodeRef ref = new DataNodeRef( transMeta.getTransLogTable().getDatabaseMeta().getObjectId().getId() ); rootNode.setProperty( PROP_DATABASE_LOG, ref ); rootNode.setProperty( PROP_TABLE_NAME_LOG, transMeta.getTransLogTable().getTableName() ); rootNode.setProperty( PROP_USE_BATCHID, Boolean.valueOf( transMeta.getTransLogTable().isBatchIdUsed() ) ); rootNode.setProperty( PROP_USE_LOGFIELD, Boolean.valueOf( transMeta.getTransLogTable().isLogFieldUsed() ) ); rootNode.setProperty( PROP_STEP_PERFORMANCE_LOG_TABLE, transMeta.getPerformanceLogTable().getTableName() ); rootNode.setProperty( PROP_LOG_SIZE_LIMIT, transMeta.getTransLogTable().getLogSizeLimit() ); rootNode.setProperty( PROP_LOG_INTERVAL, transMeta.getTransLogTable().getLogInterval() );
transMeta.getTransLogTable().setStepRead( StepMeta.findStep( transMeta.getSteps(), getString( rootNode, PROP_STEP_READ ) ) ); transMeta.getTransLogTable().setStepWritten( StepMeta.findStep( transMeta.getSteps(), getString( rootNode, PROP_STEP_WRITE ) ) ); transMeta.getTransLogTable().setStepInput( StepMeta.findStep( transMeta.getSteps(), getString( rootNode, PROP_STEP_INPUT ) ) ); transMeta.getTransLogTable().setStepOutput( StepMeta.findStep( transMeta.getSteps(), getString( rootNode, PROP_STEP_OUTPUT ) ) ); transMeta.getTransLogTable().setStepUpdate( StepMeta.findStep( transMeta.getSteps(), getString( rootNode, PROP_STEP_UPDATE ) ) ); transMeta.getTransLogTable().setStepRejected( StepMeta.findStep( transMeta.getSteps(), getString( rootNode, PROP_STEP_REJECTED ) ) ); String id = rootNode.getProperty( PROP_DATABASE_LOG ).getRef().getId().toString(); DatabaseMeta conn = DatabaseMeta.findDatabase( transMeta.getDatabases(), new StringObjectId( id ) ); transMeta.getTransLogTable().setConnectionName( conn.getName() ); transMeta.getTransLogTable().setTableName( getString( rootNode, PROP_TABLE_NAME_LOG ) ); transMeta.getTransLogTable().setBatchIdUsed( rootNode.getProperty( PROP_USE_BATCHID ).getBoolean() ); transMeta.getTransLogTable().setLogFieldUsed( rootNode.getProperty( PROP_USE_LOGFIELD ).getBoolean() ); transMeta.setStepPerformanceCapturingSizeLimit( getString( rootNode, PROP_STEP_PERFORMANCE_CAPTURING_SIZE_LIMIT ) ); transMeta.getPerformanceLogTable().setTableName( getString( rootNode, PROP_STEP_PERFORMANCE_LOG_TABLE ) ); transMeta.getTransLogTable().setLogSizeLimit( getString( rootNode, PROP_LOG_SIZE_LIMIT ) );
logTable.findField( TransLogTable.ID.LINES_READ ).setSubject( StepMeta.findStep( transMeta.getSteps(), new LongObjectId( r.getInteger( KettleDatabaseRepository.FIELD_TRANSFORMATION_ID_STEP_READ, -1L ) ) ) ); logTable.findField( TransLogTable.ID.LINES_READ ).setSubject( StepMeta.findStep( transMeta.getSteps(), new LongObjectId( r.getInteger( KettleDatabaseRepository.FIELD_TRANSFORMATION_ID_STEP_WRITE, -1L ) ) ) ); logTable.findField( TransLogTable.ID.LINES_READ ).setSubject( StepMeta.findStep( transMeta.getSteps(), new LongObjectId( r.getInteger( KettleDatabaseRepository.FIELD_TRANSFORMATION_ID_STEP_INPUT, -1L ) ) ) ); logTable.findField( TransLogTable.ID.LINES_READ ).setSubject( StepMeta.findStep( transMeta.getSteps(), new LongObjectId( r.getInteger( KettleDatabaseRepository.FIELD_TRANSFORMATION_ID_STEP_OUTPUT, -1L ) ) ) ); logTable.findField( TransLogTable.ID.LINES_READ ).setSubject( StepMeta.findStep( transMeta.getSteps(), new LongObjectId( r.getInteger( KettleDatabaseRepository.FIELD_TRANSFORMATION_ID_STEP_UPDATE, -1L ) ) ) ); transMeta.getObjectId(), 0, KettleDatabaseRepository.TRANS_ATTRIBUTE_ID_STEP_REJECTED ); if ( id_rejected > 0 ) { logTable.findField( TransLogTable.ID.LINES_REJECTED ).setSubject( StepMeta.findStep( transMeta.getSteps(), new LongObjectId( id_rejected ) ) ); KettleDatabaseRepository.FIELD_TRANSFORMATION_ID_DATABASE_LOG, -1L ) ) ); if ( logDb != null ) { logTable.setConnectionName( logDb.getName() ); logTable.setTableName( r.getString( KettleDatabaseRepository.FIELD_TRANSFORMATION_TABLE_NAME_LOG, null ) ); logTable.setBatchIdUsed( r.getBoolean( KettleDatabaseRepository.FIELD_TRANSFORMATION_USE_BATCHID, false ) ); logTable
transLogTable.findField( TransLogTable.ID.LINES_READ ) .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.setConnectionName( XMLHandler.getTagValue( infonode, "log", "connection" ) ); transLogTable.setSchemaName( XMLHandler.getTagValue( infonode, "log", "schema" ) ); 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" ) ); } else { transLogTable.loadXML( transLogNode, databases, steps );
table.addValue( new ValueMetaInteger( KettleDatabaseRepository.FIELD_TRANSFORMATION_TRANS_STATUS ), new Long( transMeta.getTransstatus() < 0 ? -1L : transMeta.getTransstatus() ) ); TransLogTable logTable = transMeta.getTransLogTable(); StepMeta step = (StepMeta) logTable.getSubject( TransLogTable.ID.LINES_READ ); table.addValue( new ValueMetaInteger( KettleDatabaseRepository.FIELD_TRANSFORMATION_ID_STEP_READ ), step == null ? null : step.getObjectId() ); step = (StepMeta) logTable.getSubject( TransLogTable.ID.LINES_WRITTEN ); table.addValue( new ValueMetaInteger( KettleDatabaseRepository.FIELD_TRANSFORMATION_ID_STEP_WRITE ), step == null ? null : step.getObjectId() ); step = (StepMeta) logTable.getSubject( TransLogTable.ID.LINES_INPUT ); table.addValue( new ValueMetaInteger( KettleDatabaseRepository.FIELD_TRANSFORMATION_ID_STEP_INPUT ), step == null ? null : step.getObjectId() ); step = (StepMeta) logTable.getSubject( TransLogTable.ID.LINES_OUTPUT ); table.addValue( new ValueMetaInteger( KettleDatabaseRepository.FIELD_TRANSFORMATION_ID_STEP_OUTPUT ), step == null ? null : step.getObjectId() ); step = (StepMeta) logTable.getSubject( TransLogTable.ID.LINES_UPDATED ); table.addValue( new ValueMetaInteger( KettleDatabaseRepository.FIELD_TRANSFORMATION_ID_STEP_UPDATE ), step == null ? null : step.getObjectId() ); table.addValue( new ValueMetaInteger( KettleDatabaseRepository.FIELD_TRANSFORMATION_ID_DATABASE_LOG ), logTable.getDatabaseMeta() == null ? new LongObjectId( -1L ).longValue() : new LongObjectId( logTable.getDatabaseMeta().getObjectId() ).longValue() ); table.addValue( new ValueMetaString( KettleDatabaseRepository.FIELD_TRANSFORMATION_TABLE_NAME_LOG ), logTable.getDatabaseMeta() ); table.addValue( new ValueMetaBoolean( KettleDatabaseRepository.FIELD_TRANSFORMATION_USE_BATCHID ), Boolean.valueOf( logTable.isBatchIdUsed() ) ); table.addValue( new ValueMetaBoolean( KettleDatabaseRepository.FIELD_TRANSFORMATION_USE_LOGFIELD ), Boolean.valueOf( logTable.isLogFieldUsed() ) ); table.addValue( new ValueMetaInteger( KettleDatabaseRepository.FIELD_TRANSFORMATION_ID_DATABASE_MAXDATE ), transMeta.getMaxDateConnection() == null ? new LongObjectId( -1L ).longValue() : new LongObjectId( transMeta.getMaxDateConnection().getObjectId() ).longValue() ); table.addValue( new ValueMetaString( KettleDatabaseRepository.FIELD_TRANSFORMATION_TABLE_NAME_MAXDATE ), transMeta.getMaxDateTable() ); step = (StepMeta) logTable.getSubject( TransLogTable.ID.LINES_REJECTED ); if ( step != null ) { ObjectId rejectedId = step.getObjectId(); .getTransLogTable().getLogSizeLimit() ); repository.connectionDelegate.insertTransAttribute( transMeta.getObjectId(), 0, KettleDatabaseRepository.TRANS_ATTRIBUTE_LOG_INTERVAL, 0, transMeta .getTransLogTable().getLogInterval() ); repository.connectionDelegate.insertTransAttribute(
fdLogInterval.right = new FormAttachment( 100, 0 ); wLogInterval.setLayoutData( fdLogInterval ); wLogInterval.setText( Const.NVL( transLogTable.getLogInterval(), "" ) ); fdLogTimeout.right = new FormAttachment( 100, 0 ); wLogTimeout.setLayoutData( fdLogTimeout ); wLogTimeout.setText( Const.NVL( transLogTable.getTimeoutInDays(), "" ) ); fdLogSizeLimit.right = new FormAttachment( 100, 0 ); wLogSizeLimit.setLayoutData( fdLogSizeLimit ); wLogSizeLimit.setText( Const.NVL( transLogTable.getLogSizeLimit(), "" ) ); wlFields.setLayoutData( fdlFields ); final java.util.List<LogTableField> fields = transLogTable.getFields(); final int nrRows = fields.size();
public void tableFieldsChangedCorrectlyAfterNullingGlobalParams( String valueForAllFields, String expectedAfterNullingGlobalParams ) { PerformanceLogTable performanceLogTable = getPerformanceLogTableWithAllEqFields( valueForAllFields ); performanceLogTable.setAllGlobalParametersToNull(); commonTableFieldsValueChecker( performanceLogTable, expectedAfterNullingGlobalParams ); assertEquals( performanceLogTable.getLogInterval(), expectedAfterNullingGlobalParams ); JobLogTable jobLogTable = getJobLogTableWithAllEqFields( valueForAllFields ); jobLogTable.setAllGlobalParametersToNull(); commonTableFieldsValueChecker( jobLogTable, expectedAfterNullingGlobalParams ); assertEquals( jobLogTable.getLogInterval(), expectedAfterNullingGlobalParams ); assertEquals( jobLogTable.getLogSizeLimit(), expectedAfterNullingGlobalParams ); TransLogTable transLogTable = getTransLogTableWithAllEqFields( valueForAllFields ); transLogTable.setAllGlobalParametersToNull(); commonTableFieldsValueChecker( transLogTable, expectedAfterNullingGlobalParams ); assertEquals( transLogTable.getLogInterval(), expectedAfterNullingGlobalParams ); assertEquals( transLogTable.getLogSizeLimit(), expectedAfterNullingGlobalParams ); }
int intervalInSeconds = Const.toInt( environmentSubstitute( transLogTable.getLogInterval() ), -1 ); DatabaseMeta logcon = transMeta.getTransLogTable().getDatabaseMeta(); String logTable = transMeta.getTransLogTable().getActualTableName(); if ( logcon != null ) { Database ldb = null; transMeta.getTransLogTable().getActualTableName() ), e ); } finally { if ( intervalInSeconds <= 0 || ( status.equals( LogStatus.END ) || status.equals( LogStatus.STOP ) ) ) {
monitor.subTask( BaseMessages.getString( PKG, "TransMeta.Monitor.CheckingTheLoggingTableTask.Title" ) ); if ( transLogTable.getDatabaseMeta() != null ) { Database logdb = new Database( this, transLogTable.getDatabaseMeta() ); logdb.shareVariablesWith( this ); try { remarks.add( cr ); if ( transLogTable.getTableName() != null ) { if ( logdb.checkTableExists( transLogTable.getSchemaName(), transLogTable.getTableName() ) ) { cr = new CheckResult( CheckResultInterface.TYPE_RESULT_OK, BaseMessages .getString( PKG, "TransMeta.CheckResult.TypeResultOK.LoggingTableExists.Description", transLogTable.getTableName() ), null ); remarks.add( cr ); RowMetaInterface fields = transLogTable.getLogRecord( LogStatus.START, null, null ).getRowMeta(); String sql = logdb.getDDL( transLogTable.getTableName(), fields ); if ( sql == null || sql.length() == 0 ) { cr =
endDate = currentDate; DatabaseMeta logConnection = transLogTable.getDatabaseMeta(); String logTable = environmentSubstitute( transLogTable.getActualTableName() ); String logSchema = environmentSubstitute( transLogTable.getActualSchemaName() ); if ( transLogTable.isBatchIdUsed() ) { Long id_batch = logConnection.getNextBatchId( transLogTableDatabaseConnection, logSchema, logTable, transLogTable .getKeyField().getFieldName() ); setBatchId( id_batch.longValue() );
int intervalInSeconds = Const.toInt( environmentSubstitute( transLogTable.getLogInterval() ), -1 ); String logTable = transLogTable.getActualTableName();
TransLogTable transLogTable = transMeta.getTransLogTable(); if ( transLogTable != null ) { TransLogTable cloneTransLogTable = (TransLogTable) transLogTable.clone(); cloneTransLogTable.setAllGlobalParametersToNull(); transMeta.setTransLogTable( cloneTransLogTable );
/** * This method asks all steps in the transformation whether or not the specified database connection is used. The * connection is used in the transformation if any of the steps uses it or if it is being used to log to. * * @param databaseMeta * The connection to check * @return true if the connection is used in this transformation. */ public boolean isDatabaseConnectionUsed( DatabaseMeta databaseMeta ) { for ( int i = 0; i < nrSteps(); i++ ) { StepMeta stepMeta = getStep( i ); DatabaseMeta[] dbs = stepMeta.getStepMetaInterface().getUsedDatabaseConnections(); for ( int d = 0; d < dbs.length; d++ ) { if ( dbs[d].equals( databaseMeta ) ) { return true; } } } return transLogTable.getDatabaseMeta() != null && transLogTable.getDatabaseMeta().equals( databaseMeta ); }
public TransDialog( Shell parent, int style, TransMeta transMeta, Repository rep ) { super( parent, style ); this.props = PropsUI.getInstance(); this.transMeta = transMeta; this.rep = rep; this.newDirectory = null; directoryChangeAllowed = true; changed = false; // Create a copy of the trans log table object // transLogTable = (TransLogTable) transMeta.getTransLogTable().clone(); performanceLogTable = (PerformanceLogTable) transMeta.getPerformanceLogTable().clone(); channelLogTable = (ChannelLogTable) transMeta.getChannelLogTable().clone(); stepLogTable = (StepLogTable) transMeta.getStepLogTable().clone(); metricsLogTable = (MetricsLogTable) transMeta.getMetricsLogTable().clone(); }
trans_version = null; transLogTable = TransLogTable.getDefault( this, this, steps ); performanceLogTable = PerformanceLogTable.getDefault( this, this ); stepLogTable = StepLogTable.getDefault( this, this );
monitor.subTask( BaseMessages.getString( PKG, "TransMeta.Monitor.GettingTheSQLForTransformationTask.Title2" ) ); if ( transLogTable.getDatabaseMeta() != null && ( !Utils.isEmpty( transLogTable.getTableName() ) || !Utils .isEmpty( performanceLogTable.getTableName() ) ) ) { try { db = new Database( this, transLogTable.getDatabaseMeta() ); db.shareVariablesWith( this ); db.connect(); String sql = db.getDDL( schemaTable, fields ); if ( !Utils.isEmpty( sql ) ) { SQLStatement stat = new SQLStatement( "<this transformation>", transLogTable.getDatabaseMeta(), sql ); stats.add( stat ); SQLStatement stat = new SQLStatement( "<this transformation>", transLogTable.getDatabaseMeta(), null ); stat.setError( BaseMessages.getString( PKG, "TransMeta.SQLStatement.ErrorDesc.ErrorObtainingTransformationLogTableInfo" )