本文整理汇总了Java中org.pentaho.di.core.ProgressMonitorListener.subTask方法的典型用法代码示例。如果您正苦于以下问题:Java ProgressMonitorListener.subTask方法的具体用法?Java ProgressMonitorListener.subTask怎么用?Java ProgressMonitorListener.subTask使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.pentaho.di.core.ProgressMonitorListener
的用法示例。
在下文中一共展示了ProgressMonitorListener.subTask方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: checkJobEntries
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
/**
* Check all job entries within the job. Each Job Entry has the opportunity
* to check their own settings.
*
* @param remarks
* List of CheckResult remarks inserted into by each JobEntry
* @param only_selected
* true if you only want to check the selected jobs
* @param monitor
* Progress monitor (not presently in use)
*/
public void checkJobEntries(List<CheckResultInterface> remarks, boolean only_selected, ProgressMonitorListener monitor) {
remarks.clear(); // Empty remarks
if (monitor != null)
monitor.beginTask(Messages.getString("JobMeta.Monitor.VerifyingThisJobEntryTask.Title"), jobcopies.size() + 2); //$NON-NLS-1$
boolean stop_checking = false;
for (int i = 0; i < jobcopies.size() && !stop_checking; i++) {
JobEntryCopy copy = jobcopies.get(i); // get the job entry copy
if ((!only_selected) || (only_selected && copy.isSelected())) {
JobEntryInterface entry = copy.getEntry();
if (entry != null) {
if (monitor != null)
monitor.subTask(Messages.getString("JobMeta.Monitor.VerifyingJobEntry.Title", entry.getName())); //$NON-NLS-1$ //$NON-NLS-2$
entry.check(remarks, this);
if (monitor != null) {
monitor.worked(1); // progress bar...
if (monitor.isCanceled()) {
stop_checking = true;
}
}
}
}
if (monitor != null) {
monitor.worked(1);
}
}
if (monitor != null) {
monitor.done();
}
}
示例2: exportJobs
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
private void exportJobs(ProgressMonitorListener monitor, RepositoryDirectory dirTree, OutputStreamWriter writer) throws KettleException
{
try {
// Loop over all the directory id's
long dirids[] = dirTree.getDirectoryIDs();
System.out.println("Going through "+dirids.length+" directories in directory ["+dirTree.getPath()+"]");
if (monitor!=null) monitor.subTask("Exporting the jobs...");
for (int d=0;d<dirids.length && (monitor==null || (monitor!=null && !monitor.isCanceled()));d++)
{
RepositoryDirectory repdir = dirTree.findDirectory(dirids[d]);
String jobs[] = getJobNames(dirids[d]);
for (int i=0;i<jobs.length && (monitor==null || (monitor!=null && !monitor.isCanceled()));i++)
{
try
{
JobMeta ji = new JobMeta(log, this, jobs[i], repdir);
System.out.println("Loading/Exporting job ["+repdir.getPath()+" : "+jobs[i]+"]");
if (monitor!=null) monitor.subTask("Exporting job ["+jobs[i]+"]");
writer.write(ji.getXML()+Const.CR);
}
catch(KettleException ke)
{
log.logError(toString(), "An error occurred reading job ["+jobs[i]+"] from directory ["+repdir+"] : "+ke.getMessage());
log.logError(toString(), "Job ["+jobs[i]+"] from directory ["+repdir+"] was not exported because of a loading error!");
}
}
}
} catch(Exception e) {
throw new KettleException("Error while exporting repository jobs", e);
}
}
示例3: exportTransformations
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
private void exportTransformations(ProgressMonitorListener monitor, RepositoryDirectory dirTree, OutputStreamWriter writer) throws KettleException
{
try {
if (monitor!=null) monitor.subTask("Exporting the transformations...");
// Loop over all the directory id's
long dirids[] = dirTree.getDirectoryIDs();
System.out.println("Going through "+dirids.length+" directories in directory ["+dirTree.getPath()+"]");
for (int d=0;d<dirids.length && (monitor==null || (monitor!=null && !monitor.isCanceled()) );d++)
{
RepositoryDirectory repdir = dirTree.findDirectory(dirids[d]);
System.out.println("Directory ID #"+d+" : "+dirids[d]+" : "+repdir);
String trans[] = getTransformationNames(dirids[d]);
for (int i=0;i<trans.length && (monitor==null || (monitor!=null && !monitor.isCanceled()));i++)
{
try
{
TransMeta ti = new TransMeta(this, trans[i], repdir);
System.out.println("Loading/Exporting transformation ["+repdir.getPath()+" : "+trans[i]+"] ("+ti.getDirectory().getPath()+")");
if (monitor!=null) monitor.subTask("Exporting transformation ["+trans[i]+"]");
writer.write(ti.getXML()+Const.CR);
}
catch(KettleException ke)
{
log.logError(toString(), "An error occurred reading transformation ["+trans[i]+"] from directory ["+repdir+"] : "+ke.getMessage());
log.logError(toString(), "Transformation ["+trans[i]+"] from directory ["+repdir+"] was not exported because of a loading error!");
}
}
}
if (monitor!=null) monitor.worked(1);
} catch(Exception e) {
throw new KettleException("Error while exporting repository transformations", e);
}
}
示例4: analyseImpact
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
/**
* This procedure determines the impact of the different steps in a transformation on databases, tables and field.
*
* @param impact An ArrayList of DatabaseImpact objects.
*
*/
public void analyseImpact(List<DatabaseImpact> impact, ProgressMonitorListener monitor) throws KettleStepException
{
if (monitor != null)
{
monitor.beginTask(Messages.getString("TransMeta.Monitor.DeterminingImpactTask.Title"), nrSteps()); //$NON-NLS-1$
}
boolean stop = false;
for (int i = 0; i < nrSteps() && !stop; i++)
{
if (monitor != null) monitor.subTask(Messages.getString("TransMeta.Monitor.LookingAtStepTask.Title") + (i + 1) + "/" + nrSteps()); //$NON-NLS-1$ //$NON-NLS-2$
StepMeta stepMeta = getStep(i);
RowMetaInterface prev = getPrevStepFields(stepMeta);
StepMetaInterface stepint = stepMeta.getStepMetaInterface();
RowMetaInterface inform = null;
StepMeta[] lu = getInfoStep(stepMeta);
if (lu != null)
{
inform = getStepFields(lu);
}
else
{
inform = stepint.getTableFields();
}
stepint.analyseImpact(impact, this, stepMeta, prev, null, null, inform);
if (monitor != null)
{
monitor.worked(1);
stop = monitor.isCanceled();
}
}
if (monitor != null) monitor.done();
}
示例5: checkJobEntries
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
/**
* Check all job entries within the job. Each Job Entry has the opportunity
* to check their own settings.
*
* @param remarks
* List of CheckResult remarks inserted into by each JobEntry
* @param only_selected
* true if you only want to check the selected jobs
* @param monitor
* Progress monitor (not presently in use)
*/
public void checkJobEntries(List<CheckResultInterface> remarks, boolean only_selected, ProgressMonitorListener monitor) {
remarks.clear(); // Empty remarks
if (monitor != null)
monitor.beginTask(BaseMessages.getString(PKG, "JobMeta.Monitor.VerifyingThisJobEntryTask.Title"), jobcopies.size() + 2); //$NON-NLS-1$
boolean stop_checking = false;
for (int i = 0; i < jobcopies.size() && !stop_checking; i++) {
JobEntryCopy copy = jobcopies.get(i); // get the job entry copy
if ((!only_selected) || (only_selected && copy.isSelected())) {
JobEntryInterface entry = copy.getEntry();
if (entry != null) {
if (monitor != null)
monitor.subTask(BaseMessages.getString(PKG, "JobMeta.Monitor.VerifyingJobEntry.Title", entry.getName())); //$NON-NLS-1$ //$NON-NLS-2$
entry.check(remarks, this);
if (monitor != null) {
monitor.worked(1); // progress bar...
if (monitor.isCanceled()) {
stop_checking = true;
}
}
}
}
if (monitor != null) {
monitor.worked(1);
}
}
if (monitor != null) {
monitor.done();
}
}
示例6: getThisStepFields
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
/**
* Returns the fields that are emitted by a step
*
* @param stepMeta : The StepMeta object that's being queried
* @param nextStep : if non-null this is the next step that's call back to ask what's being sent
* @param row : A row containing the input fields or an empty row if no input is required.
*
* @return A Row containing the output fields.
*/
public RowMetaInterface getThisStepFields(StepMeta stepMeta, StepMeta nextStep, RowMetaInterface row, ProgressMonitorListener monitor) throws KettleStepException
{
// Then this one.
if(log.isDebug()) log.logDebug(BaseMessages.getString(PKG, "TransMeta.Log.GettingFieldsFromStep",stepMeta.getName(), stepMeta.getStepID())); //$NON-NLS-1$ //$NON-NLS-2$
String name = stepMeta.getName();
if (monitor != null)
{
monitor.subTask(BaseMessages.getString(PKG, "TransMeta.Monitor.GettingFieldsFromStepTask.Title", name )); //$NON-NLS-1$ //$NON-NLS-2$
}
StepMetaInterface stepint = stepMeta.getStepMetaInterface();
RowMetaInterface inform[] = null;
StepMeta[] lu = getInfoStep(stepMeta);
if (Const.isEmpty(lu))
{
inform = new RowMetaInterface[] { stepint.getTableFields(), };
}
else
{
inform = new RowMetaInterface[lu.length];
for (int i=0;i<lu.length;i++) inform[i] = getStepFields(lu[i]);
}
setRepositoryOnMappingSteps();
// Go get the fields...
//
stepint.getFields(row, name, inform, nextStep, this);
return row;
}
示例7: analyseImpact
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
/**
* This procedure determines the impact of the different steps in a transformation on databases, tables and field.
*
* @param impact An ArrayList of DatabaseImpact objects.
*
*/
public void analyseImpact(List<DatabaseImpact> impact, ProgressMonitorListener monitor) throws KettleStepException
{
if (monitor != null)
{
monitor.beginTask(BaseMessages.getString(PKG, "TransMeta.Monitor.DeterminingImpactTask.Title"), nrSteps()); //$NON-NLS-1$
}
boolean stop = false;
for (int i = 0; i < nrSteps() && !stop; i++)
{
if (monitor != null) monitor.subTask(BaseMessages.getString(PKG, "TransMeta.Monitor.LookingAtStepTask.Title") + (i + 1) + "/" + nrSteps()); //$NON-NLS-1$ //$NON-NLS-2$
StepMeta stepMeta = getStep(i);
RowMetaInterface prev = getPrevStepFields(stepMeta);
StepMetaInterface stepint = stepMeta.getStepMetaInterface();
RowMetaInterface inform = null;
StepMeta[] lu = getInfoStep(stepMeta);
if (lu != null)
{
inform = getStepFields(lu);
}
else
{
inform = stepint.getTableFields();
}
stepint.analyseImpact(impact, this, stepMeta, prev, null, null, inform);
if (monitor != null)
{
monitor.worked(1);
stop = monitor.isCanceled();
}
}
if (monitor != null) monitor.done();
}
示例8: getThisStepFields
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
/**
* Returns the fields that are emitted by a step.
*
* @param stepMeta : The StepMeta object that's being queried
* @param nextStep : if non-null this is the next step that's call back to ask what's being sent
* @param row : A row containing the input fields or an empty row if no input is required.
* @param monitor the monitor
* @return A Row containing the output fields.
* @throws KettleStepException the kettle step exception
*/
public RowMetaInterface getThisStepFields(StepMeta stepMeta, StepMeta nextStep, RowMetaInterface row, ProgressMonitorListener monitor) throws KettleStepException
{
// Then this one.
if(log.isDebug()) log.logDebug(BaseMessages.getString(PKG, "TransMeta.Log.GettingFieldsFromStep",stepMeta.getName(), stepMeta.getStepID())); //$NON-NLS-1$ //$NON-NLS-2$
String name = stepMeta.getName();
if (monitor != null)
{
monitor.subTask(BaseMessages.getString(PKG, "TransMeta.Monitor.GettingFieldsFromStepTask.Title", name )); //$NON-NLS-1$ //$NON-NLS-2$
}
StepMetaInterface stepint = stepMeta.getStepMetaInterface();
RowMetaInterface inform[] = null;
StepMeta[] lu = getInfoStep(stepMeta);
if (Const.isEmpty(lu))
{
inform = new RowMetaInterface[] { stepint.getTableFields(), };
}
else
{
inform = new RowMetaInterface[lu.length];
for (int i=0;i<lu.length;i++) inform[i] = getStepFields(lu[i]);
}
setRepositoryOnMappingSteps();
// Go get the fields...
//
stepint.getFields(row, name, inform, nextStep, this);
return row;
}
示例9: analyseImpact
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
/**
* Determines the impact of the different steps in a transformation on databases, tables and field.
*
* @param impact An ArrayList of DatabaseImpact objects.
* @param monitor a progress monitor listener to be updated as the transformation is analyzed
* @throws KettleStepException if any errors occur during analysis
*/
public void analyseImpact(List<DatabaseImpact> impact, ProgressMonitorListener monitor) throws KettleStepException
{
if (monitor != null)
{
monitor.beginTask(BaseMessages.getString(PKG, "TransMeta.Monitor.DeterminingImpactTask.Title"), nrSteps()); //$NON-NLS-1$
}
boolean stop = false;
for (int i = 0; i < nrSteps() && !stop; i++)
{
if (monitor != null) monitor.subTask(BaseMessages.getString(PKG, "TransMeta.Monitor.LookingAtStepTask.Title") + (i + 1) + "/" + nrSteps()); //$NON-NLS-1$ //$NON-NLS-2$
StepMeta stepMeta = getStep(i);
RowMetaInterface prev = getPrevStepFields(stepMeta);
StepMetaInterface stepint = stepMeta.getStepMetaInterface();
RowMetaInterface inform = null;
StepMeta[] lu = getInfoStep(stepMeta);
if (lu != null)
{
inform = getStepFields(lu);
}
else
{
inform = stepint.getTableFields();
}
stepint.analyseImpact(impact, this, stepMeta, prev, null, null, inform);
if (monitor != null)
{
monitor.worked(1);
stop = monitor.isCanceled();
}
}
if (monitor != null) monitor.done();
}
示例10: checkJobEntries
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
/**
* Check all job entries within the job. Each Job Entry has the opportunity to check their own settings.
*
* @param remarks List of CheckResult remarks inserted into by each JobEntry
* @param only_selected true if you only want to check the selected jobs
* @param monitor Progress monitor (not presently in use)
*/
public void checkJobEntries( List<CheckResultInterface> remarks, boolean only_selected,
ProgressMonitorListener monitor, VariableSpace space, Repository repository, IMetaStore metaStore ) {
remarks.clear(); // Empty remarks
if ( monitor != null ) {
monitor.beginTask( BaseMessages.getString( PKG, "JobMeta.Monitor.VerifyingThisJobEntryTask.Title" ),
jobcopies.size() + 2 );
}
boolean stop_checking = false;
for ( int i = 0; i < jobcopies.size() && !stop_checking; i++ ) {
JobEntryCopy copy = jobcopies.get( i ); // get the job entry copy
if ( ( !only_selected ) || ( only_selected && copy.isSelected() ) ) {
JobEntryInterface entry = copy.getEntry();
if ( entry != null ) {
if ( monitor != null ) {
monitor
.subTask( BaseMessages.getString( PKG, "JobMeta.Monitor.VerifyingJobEntry.Title", entry.getName() ) );
}
entry.check( remarks, this, space, repository, metaStore );
compatibleEntryCheck( entry, remarks );
if ( monitor != null ) {
monitor.worked( 1 ); // progress bar...
if ( monitor.isCanceled() ) {
stop_checking = true;
}
}
}
}
if ( monitor != null ) {
monitor.worked( 1 );
}
}
if ( monitor != null ) {
monitor.done();
}
}
示例11: getThisStepFields
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
/**
* Returns the fields that are emitted by a step.
*
* @param stepMeta
* : The StepMeta object that's being queried
* @param nextStep
* : if non-null this is the next step that's call back to ask what's being sent
* @param row
* : A row containing the input fields or an empty row if no input is required.
* @param monitor
* the monitor
* @return A Row containing the output fields.
* @throws KettleStepException
* the kettle step exception
*/
public RowMetaInterface getThisStepFields( StepMeta stepMeta, StepMeta nextStep, RowMetaInterface row,
ProgressMonitorListener monitor ) throws KettleStepException {
// Then this one.
if ( log.isDebug() ) {
log.logDebug( BaseMessages
.getString( PKG, "TransMeta.Log.GettingFieldsFromStep", stepMeta.getName(), stepMeta.getStepID() ) );
}
String name = stepMeta.getName();
if ( monitor != null ) {
monitor.subTask( BaseMessages.getString( PKG, "TransMeta.Monitor.GettingFieldsFromStepTask.Title", name ) );
}
StepMetaInterface stepint = stepMeta.getStepMetaInterface();
RowMetaInterface[] inform = null;
StepMeta[] lu = getInfoStep( stepMeta );
if ( Utils.isEmpty( lu ) ) {
inform = new RowMetaInterface[] { stepint.getTableFields(), };
} else {
inform = new RowMetaInterface[lu.length];
for ( int i = 0; i < lu.length; i++ ) {
inform[i] = getStepFields( lu[i] );
}
}
setRepositoryOnMappingSteps();
// Go get the fields...
//
RowMetaInterface before = row.clone();
compatibleGetStepFields( stepint, row, name, inform, nextStep, this );
if ( !isSomethingDifferentInRow( before, row ) ) {
stepint.getFields( before, name, inform, nextStep, this, repository, metaStore );
// pass the clone object to prevent from spoiling data by other steps
row = before;
}
return row;
}
示例12: analyseImpact
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
/**
* Determines the impact of the different steps in a transformation on databases, tables and field.
*
* @param impact
* An ArrayList of DatabaseImpact objects.
* @param monitor
* a progress monitor listener to be updated as the transformation is analyzed
* @throws KettleStepException
* if any errors occur during analysis
*/
public void analyseImpact( List<DatabaseImpact> impact, ProgressMonitorListener monitor ) throws KettleStepException {
if ( monitor != null ) {
monitor
.beginTask( BaseMessages.getString( PKG, "TransMeta.Monitor.DeterminingImpactTask.Title" ), nrSteps() );
}
boolean stop = false;
for ( int i = 0; i < nrSteps() && !stop; i++ ) {
if ( monitor != null ) {
monitor.subTask(
BaseMessages.getString( PKG, "TransMeta.Monitor.LookingAtStepTask.Title" ) + ( i + 1 ) + "/" + nrSteps() );
}
StepMeta stepMeta = getStep( i );
RowMetaInterface prev = getPrevStepFields( stepMeta );
StepMetaInterface stepint = stepMeta.getStepMetaInterface();
RowMetaInterface inform = null;
StepMeta[] lu = getInfoStep( stepMeta );
if ( lu != null ) {
inform = getStepFields( lu );
} else {
inform = stepint.getTableFields();
}
compatibleAnalyseImpactStep( impact, stepint, this, stepMeta, prev, inform );
stepint.analyseImpact( impact, this, stepMeta, prev, null, null, inform, repository, metaStore );
if ( monitor != null ) {
monitor.worked( 1 );
stop = monitor.isCanceled();
}
}
if ( monitor != null ) {
monitor.done();
}
}
示例13: loadTransformations
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
/**
* Load all transformations referenced by {@code files}.
*
* @param monitor
* @param log
* @param files
* Transformation files to load.
* @param setInternalVariables
* Should internal variables be set when loading? (Note: THIS IS IGNORED, they are always set)
* @return Loaded transformations
* @throws KettleException
* Error loading data for transformations from repository
*/
protected List<TransMeta> loadTransformations( final ProgressMonitorListener monitor, final LogChannelInterface log,
final List<RepositoryFile> files, final boolean setInternalVariables )
throws KettleException {
List<TransMeta> transformations = new ArrayList<TransMeta>( files.size() );
List<NodeRepositoryFileData> filesData = pur.getDataForReadInBatch( files, NodeRepositoryFileData.class );
List<VersionSummary> versions = pur.getVersionSummaryInBatch( files );
Iterator<RepositoryFile> filesIter = files.iterator();
Iterator<NodeRepositoryFileData> filesDataIter = filesData.iterator();
Iterator<VersionSummary> versionsIter = versions.iterator();
while ( ( monitor == null || !monitor.isCanceled() ) && filesIter.hasNext() ) {
RepositoryFile file = filesIter.next();
NodeRepositoryFileData fileData = filesDataIter.next();
VersionSummary version = versionsIter.next();
String
dirPath =
file.getPath().substring( 0, file.getPath().lastIndexOf( RepositoryDirectory.DIRECTORY_SEPARATOR ) );
try {
log.logDetailed( "Loading/Exporting transformation [{0} : {1}] ({2})", dirPath, file.getTitle(), file
.getPath() ); //$NON-NLS-1$
if ( monitor != null ) {
monitor.subTask( "Exporting transformation [" + file.getPath() + "]" ); //$NON-NLS-1$ //$NON-NLS-2$
}
TransMeta
transMeta =
buildTransMeta( file, findDirectory( dirPath ), fileData, createObjectRevision( version ) );
ExtensionPointHandler.callExtensionPoint( log, KettleExtensionPoint.TransformationMetaLoaded.id, transMeta );
transformations.add( transMeta );
} catch ( Exception ex ) {
log.logDetailed( "Unable to load transformation [" + file.getPath() + "]", ex ); //$NON-NLS-1$ //$NON-NLS-2$
log.logError( "An error occurred reading transformation [" + file.getTitle() + "] from directory [" + dirPath
+ "] : " + ex.getMessage() ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
log.logError( "Transformation [" + file.getTitle() + "] from directory [" + dirPath
+ "] was not exported because of a loading error!" ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
}
return transformations;
}
示例14: loadJobs
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
/**
* Load all jobs referenced by {@code files}.
*
* @param monitor
* @param log
* @param files
* Job files to load.
* @param setInternalVariables
* Should internal variables be set when loading? (Note: THIS IS IGNORED, they are always set)
* @return Loaded jobs
* @throws KettleException
* Error loading data for jobs from repository
*/
protected List<JobMeta> loadJobs( final ProgressMonitorListener monitor, final LogChannelInterface log,
final List<RepositoryFile> files, final boolean setInternalVariables )
throws KettleException {
List<JobMeta> jobs = new ArrayList<JobMeta>( files.size() );
List<NodeRepositoryFileData> filesData = pur.getDataForReadInBatch( files, NodeRepositoryFileData.class );
List<VersionSummary> versions = pur.getVersionSummaryInBatch( files );
Iterator<RepositoryFile> filesIter = files.iterator();
Iterator<NodeRepositoryFileData> filesDataIter = filesData.iterator();
Iterator<VersionSummary> versionsIter = versions.iterator();
while ( ( monitor == null || !monitor.isCanceled() ) && filesIter.hasNext() ) {
RepositoryFile file = filesIter.next();
NodeRepositoryFileData fileData = filesDataIter.next();
VersionSummary version = versionsIter.next();
try {
String
dirPath =
file.getPath().substring( 0, file.getPath().lastIndexOf( RepositoryDirectory.DIRECTORY_SEPARATOR ) );
log.logDetailed( "Loading/Exporting job [{0} : {1}] ({2})", dirPath, file.getTitle(),
file.getPath() ); //$NON-NLS-1$
if ( monitor != null ) {
monitor.subTask( "Exporting job [" + file.getPath() + "]" ); //$NON-NLS-1$ //$NON-NLS-2$
}
JobMeta jobMeta = buildJobMeta( file, findDirectory( dirPath ), fileData, createObjectRevision( version ) );
ExtensionPointHandler.callExtensionPoint( log, KettleExtensionPoint.JobMetaLoaded.id, jobMeta );
jobs.add( jobMeta );
} catch ( Exception ex ) {
log.logError( "Unable to load job [" + file.getPath() + "]", ex ); //$NON-NLS-1$ //$NON-NLS-2$
}
}
return jobs;
}
示例15: getPrevStepFields
import org.pentaho.di.core.ProgressMonitorListener; //导入方法依赖的package包/类
/**
* Find the fields that are entering a certain step.
*
* @param stepMeta The step queried
* @param monitor The progress monitor for progress dialog. (null if not used!)
* @return A row containing the fields (w/ origin) entering the step
*/
public RowMetaInterface getPrevStepFields(StepMeta stepMeta, ProgressMonitorListener monitor) throws KettleStepException
{
clearStepFieldsCachce();
RowMetaInterface row = new RowMeta();
if (stepMeta == null) { return null; }
if(log.isDebug()) log.logDebug(toString(), Messages.getString("TransMeta.Log.FromStepALookingAtPreviousStep", stepMeta.getName(), String.valueOf(findNrPrevSteps(stepMeta)) )); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
for (int i = 0; i < findNrPrevSteps(stepMeta); i++)
{
StepMeta prevStepMeta = findPrevStep(stepMeta, i);
if (monitor != null)
{
monitor.subTask(Messages.getString("TransMeta.Monitor.CheckingStepTask.Title", prevStepMeta.getName() )); //$NON-NLS-1$ //$NON-NLS-2$
}
RowMetaInterface add = getStepFields(prevStepMeta, stepMeta, monitor);
if(log.isDebug()) log.logDebug(toString(), Messages.getString("TransMeta.Log.FoundFieldsToAdd2") + add.toString()); //$NON-NLS-1$
if (i == 0) // we expect all input streams to be of the same layout!
{
row.addRowMeta(add); // recursive!
}
else
{
// See if the add fields are not already in the row
for (int x = 0; x < add.size(); x++)
{
ValueMetaInterface v = add.getValueMeta(x);
ValueMetaInterface s = row.searchValueMeta(v.getName());
if (s == null)
{
row.addValueMeta(v);
}
}
}
}
return row;
}