Java Code Examples for org.pentaho.di.job.JobMeta#addNote()

The following examples show how to use org.pentaho.di.job.JobMeta#addNote() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: JobHasANoteImportRuleIT.java    From pentaho-kettle with Apache License 2.0 5 votes vote down vote up
public void testRule() throws Exception {

    // Create a job to test.
    //
    JobMeta jobMeta = new JobMeta();
    NotePadMeta note = new NotePadMeta( "A note documenting the transformation", 50, 50, 200, 50 );
    jobMeta.addNote( note );

    // Load the plugin to test from the registry.
    //
    PluginRegistry registry = PluginRegistry.getInstance();
    PluginInterface plugin = registry.findPluginWithId( ImportRulePluginType.class, "JobHasANote" );
    assertNotNull( "The 'job has a note' rule could not be found in the plugin registry!", plugin );

    JobHasANoteImportRule rule = (JobHasANoteImportRule) registry.loadClass( plugin );
    assertNotNull( "The 'job has a note' rule class could not be loaded by the plugin registry!", plugin );

    rule.setEnabled( true );

    List<ImportValidationFeedback> feedback = rule.verifyRule( jobMeta );
    assertTrue( "We didn't get any feedback from the 'job has a note'", !feedback.isEmpty() );
    assertTrue(
      "An approval ruling was expected",
      feedback.get( 0 ).getResultType() == ImportValidationResultType.APPROVAL );

    jobMeta.removeNote( 0 );

    feedback = rule.verifyRule( jobMeta );
    assertTrue( "We didn't get any feedback from the 'job has a note' rule", !feedback.isEmpty() );
    assertTrue(
      "An error ruling was expected", feedback.get( 0 ).getResultType() == ImportValidationResultType.ERROR );

    rule.setEnabled( false );

    feedback = rule.verifyRule( jobMeta );
    assertTrue( "We didn't expect any feedback from the 'job has no note' rule while disabled", feedback.isEmpty() );
  }
 
Example 2
Source File: RepositoryTestBase.java    From pentaho-kettle with Apache License 2.0 4 votes vote down vote up
protected JobMeta createJobMeta( String jobName ) throws Exception {
  RepositoryDirectoryInterface rootDir = loadStartDirectory();
  JobMeta jobMeta = new JobMeta();
  jobMeta.setName( jobName );
  jobMeta.setDescription( EXP_JOB_DESC );
  jobMeta.setExtendedDescription( EXP_JOB_EXTENDED_DESC );
  jobMeta.setRepositoryDirectory( rootDir.findDirectory( DIR_JOBS ) );
  jobMeta.setJobversion( EXP_JOB_VERSION );
  jobMeta.setJobstatus( EXP_JOB_STATUS );
  jobMeta.setCreatedUser( EXP_JOB_CREATED_USER );
  jobMeta.setCreatedDate( EXP_JOB_CREATED_DATE );
  jobMeta.setModifiedUser( EXP_JOB_MOD_USER );
  jobMeta.setModifiedDate( EXP_JOB_MOD_DATE );
  jobMeta.addParameterDefinition( EXP_JOB_PARAM_1_NAME, EXP_JOB_PARAM_1_DEF, EXP_JOB_PARAM_1_DESC );
  // TODO mlowery other jobLogTable fields could be set for testing here
  JobLogTable jobLogTable = JobLogTable.getDefault( jobMeta, jobMeta );
  jobLogTable.setConnectionName( EXP_JOB_LOG_TABLE_CONN_NAME );
  jobLogTable.setLogInterval( EXP_JOB_LOG_TABLE_INTERVAL );
  jobLogTable.setSchemaName( EXP_JOB_LOG_TABLE_SCHEMA_NAME );
  jobLogTable.setLogSizeLimit( EXP_JOB_LOG_TABLE_SIZE_LIMIT );
  jobLogTable.setTableName( EXP_JOB_LOG_TABLE_TABLE_NAME );
  jobLogTable.setTimeoutInDays( EXP_JOB_LOG_TABLE_TIMEOUT_IN_DAYS );
  jobMeta.setJobLogTable( jobLogTable );
  // TODO mlowery other jobEntryLogTable fields could be set for testing here
  JobEntryLogTable jobEntryLogTable = JobEntryLogTable.getDefault( jobMeta, jobMeta );
  jobEntryLogTable.setConnectionName( EXP_JOB_LOG_TABLE_CONN_NAME );
  jobEntryLogTable.setSchemaName( EXP_JOB_LOG_TABLE_SCHEMA_NAME );
  jobEntryLogTable.setTableName( EXP_JOB_LOG_TABLE_TABLE_NAME );
  jobEntryLogTable.setTimeoutInDays( EXP_JOB_LOG_TABLE_TIMEOUT_IN_DAYS );
  jobMeta.setJobEntryLogTable( jobEntryLogTable );
  // TODO mlowery other channelLogTable fields could be set for testing here
  ChannelLogTable channelLogTable = ChannelLogTable.getDefault( jobMeta, jobMeta );
  channelLogTable.setConnectionName( EXP_JOB_LOG_TABLE_CONN_NAME );
  channelLogTable.setSchemaName( EXP_JOB_LOG_TABLE_SCHEMA_NAME );
  channelLogTable.setTableName( EXP_JOB_LOG_TABLE_TABLE_NAME );
  channelLogTable.setTimeoutInDays( EXP_JOB_LOG_TABLE_TIMEOUT_IN_DAYS );
  jobMeta.setChannelLogTable( channelLogTable );
  jobMeta.setBatchIdPassed( EXP_JOB_BATCH_ID_PASSED );
  jobMeta.setSharedObjectsFile( EXP_JOB_SHARED_OBJECTS_FILE );
  DatabaseMeta entryDbMeta = createDatabaseMeta( EXP_DBMETA_NAME_JOB.concat( jobName ) );
  repository.save( entryDbMeta, VERSION_COMMENT_V1, null );
  deleteStack.push( entryDbMeta );
  JobEntryCopy jobEntryCopy1 = createJobEntry1Copy( entryDbMeta );
  jobMeta.addJobEntry( jobEntryCopy1 );
  JobEntryCopy jobEntryCopy2 = createJobEntry2Copy( entryDbMeta );
  jobMeta.addJobEntry( jobEntryCopy2 );
  jobMeta.addJobHop( createJobHopMeta( jobEntryCopy1, jobEntryCopy2 ) );
  jobMeta.addNote( createNotePadMeta( jobName ) );
  return jobMeta;
}