use of org.pentaho.di.job.entries.special.JobEntrySpecial in project pentaho-kettle by pentaho.
the class JobMeta method createStartEntry.
/**
* Creates the start entry.
*
* @return the job entry copy
*/
public static final JobEntryCopy createStartEntry() {
JobEntrySpecial jobEntrySpecial = new JobEntrySpecial(STRING_SPECIAL_START, true, false);
JobEntryCopy jobEntry = new JobEntryCopy();
jobEntry.setObjectId(null);
jobEntry.setEntry(jobEntrySpecial);
jobEntry.setLocation(50, 50);
jobEntry.setDrawn(false);
jobEntry.setDescription(BaseMessages.getString(PKG, "JobMeta.StartJobEntry.Description"));
return jobEntry;
}
use of org.pentaho.di.job.entries.special.JobEntrySpecial in project pentaho-kettle by pentaho.
the class SpoonJobDelegate method editJobEntry.
public void editJobEntry(JobMeta jobMeta, JobEntryCopy je) {
try {
spoon.getLog().logBasic(spoon.toString(), BaseMessages.getString(PKG, "Spoon.Log.EditJobEntry", je.getName()));
JobEntryCopy before = (JobEntryCopy) je.clone_deep();
JobEntryInterface jei = je.getEntry();
if (jei.isSpecial()) {
JobEntrySpecial special = (JobEntrySpecial) jei;
if (special.isDummy()) {
return;
}
}
JobEntryDialogInterface d = getJobEntryDialog(jei, jobMeta);
if (d != null) {
if (d.open() != null) {
// First see if the name changed.
// If so, we need to verify that the name is not already used in the job.
//
jobMeta.renameJobEntryIfNameCollides(je);
JobEntryCopy after = (JobEntryCopy) je.clone();
spoon.addUndoChange(jobMeta, new JobEntryCopy[] { before }, new JobEntryCopy[] { after }, new int[] { jobMeta.indexOfJobEntry(je) });
spoon.refreshGraph();
spoon.refreshTree();
}
} else {
MessageBox mb = new MessageBox(spoon.getShell(), SWT.OK | SWT.ICON_INFORMATION);
mb.setMessage(BaseMessages.getString(PKG, "Spoon.Dialog.JobEntryCanNotBeChanged.Message"));
mb.setText(BaseMessages.getString(PKG, "Spoon.Dialog.JobEntryCanNotBeChanged.Title"));
mb.open();
}
} catch (Exception e) {
if (!spoon.getShell().isDisposed()) {
new ErrorDialog(spoon.getShell(), BaseMessages.getString(PKG, "Spoon.ErrorDialog.ErrorEditingJobEntry.Title"), BaseMessages.getString(PKG, "Spoon.ErrorDialog.ErrorEditingJobEntry.Message"), e);
}
}
}
use of org.pentaho.di.job.entries.special.JobEntrySpecial in project pentaho-kettle by pentaho.
the class JobHasNoDisabledHopsImportRuleIT method testRule.
public void testRule() throws Exception {
// Create a job to test.
//
JobMeta jobMeta = new JobMeta();
// Add 3 dummy steps connected with hops.
//
JobEntryCopy lastCopy = null;
for (int i = 0; i < 3; i++) {
JobEntrySpecial dummy = new JobEntrySpecial();
dummy.setDummy(true);
dummy.setName("dummy" + (i + 1));
JobEntryCopy copy = new JobEntryCopy(dummy);
copy.setLocation(50 + i * 50, 50);
copy.setDrawn();
jobMeta.addJobEntry(copy);
if (lastCopy != null) {
JobHopMeta hop = new JobHopMeta(lastCopy, copy);
jobMeta.addJobHop(hop);
}
lastCopy = copy;
}
// Load the plugin to test from the registry.
//
PluginRegistry registry = PluginRegistry.getInstance();
PluginInterface plugin = registry.findPluginWithId(ImportRulePluginType.class, "JobHasNoDisabledHops");
assertNotNull("The 'job has no disabled hops' rule could not be found in the plugin registry!", plugin);
JobHasNoDisabledHopsImportRule rule = (JobHasNoDisabledHopsImportRule) registry.loadClass(plugin);
assertNotNull("The 'job has no disabled hops' 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 no disabled hops'", !feedback.isEmpty());
assertTrue("An approval ruling was expected", feedback.get(0).getResultType() == ImportValidationResultType.APPROVAL);
jobMeta.getJobHop(0).setEnabled(false);
feedback = rule.verifyRule(jobMeta);
assertTrue("We didn't get any feedback from the 'job has no disabled hops'", !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 disabled hops' while disabled", feedback.isEmpty());
}
Aggregations