use of org.pentaho.di.ui.spoon.Spoon in project pentaho-kettle by pentaho.
the class StarModelerPerspective method generateDomainJobButton.
protected void generateDomainJobButton(StarDomain starDomain) {
final Spoon spoon = Spoon.getInstance();
List<DatabaseMeta> sharedDatabases = SharedDatabaseUtil.loadSharedDatabases();
JobGenerator jobGenerator = new JobGenerator(starDomain, spoon.rep, new RepositoryDirectory(), sharedDatabases, defaultLocale);
try {
List<TransMeta> transMetas = jobGenerator.generateDimensionTransformations();
for (TransMeta transMeta : transMetas) {
spoon.addTransGraph(transMeta);
}
SpoonPerspectiveManager.getInstance().activatePerspective(MainSpoonPerspective.class);
} catch (Exception e) {
new ErrorDialog(spoon.getShell(), BaseMessages.getString(PKG, "StarModelerPerspective.ErrorGeneratingSqlJob.Title"), BaseMessages.getString(PKG, "StarModelerPerspective.ErrorGeneratingSqlJob.Message"), e);
}
}
use of org.pentaho.di.ui.spoon.Spoon in project pentaho-kettle by pentaho.
the class JobEntryJobDialog method pickFileVFS.
protected void pickFileVFS() {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(Const.STRING_JOB_FILTER_EXT);
dialog.setFilterNames(Const.getJobFilterNames());
String prevName = jobMeta.environmentSubstitute(wPath.getText());
String parentFolder = null;
try {
parentFolder = KettleVFS.getFilename(KettleVFS.getFileObject(jobMeta.environmentSubstitute(jobMeta.getFilename())).getParent());
} catch (Exception e) {
// not that important
}
if (!Utils.isEmpty(prevName)) {
try {
if (KettleVFS.fileExists(prevName)) {
dialog.setFilterPath(KettleVFS.getFilename(KettleVFS.getFileObject(prevName).getParent()));
} else {
if (!prevName.endsWith(".kjb")) {
prevName = getEntryName(Const.trim(wPath.getText()) + ".kjb");
}
if (KettleVFS.fileExists(prevName)) {
wPath.setText(prevName);
specificationMethod = ObjectLocationSpecificationMethod.FILENAME;
return;
} else {
// File specified doesn't exist. Ask if we should create the file...
//
MessageBox mb = new MessageBox(shell, SWT.YES | SWT.NO | SWT.ICON_QUESTION);
mb.setMessage(BaseMessages.getString(PKG, "JobJob.Dialog.CreateJobQuestion.Message"));
// Sorry!
mb.setText(BaseMessages.getString(PKG, "JobJob.Dialog.CreateJobQuestion.Title"));
int answer = mb.open();
if (answer == SWT.YES) {
Spoon spoon = Spoon.getInstance();
spoon.newJobFile();
JobMeta newJobMeta = spoon.getActiveJob();
newJobMeta.initializeVariablesFrom(jobEntry);
newJobMeta.setFilename(jobMeta.environmentSubstitute(prevName));
wPath.setText(prevName);
specificationMethod = ObjectLocationSpecificationMethod.FILENAME;
spoon.saveFile();
return;
}
}
}
} catch (Exception e) {
dialog.setFilterPath(parentFolder);
}
} else if (!Utils.isEmpty(parentFolder)) {
dialog.setFilterPath(parentFolder);
}
String fname = dialog.open();
if (fname != null) {
File file = new File(fname);
String name = file.getName();
String parentFolderSelection = file.getParentFile().toString();
if (!Utils.isEmpty(parentFolder) && parentFolder.equals(parentFolderSelection)) {
wPath.setText(getEntryName(name));
} else {
wPath.setText(fname);
}
}
}
use of org.pentaho.di.ui.spoon.Spoon in project pentaho-kettle by pentaho.
the class GoogleDriveKettleLifecycleListener method onStart.
public void onStart(LifeEventHandler handler) throws LifecycleException {
if (new File(GoogleDriveFileObject.resolveCredentialsPath() + "/" + resourceBundle.getString("client.secrets")).exists()) {
/*
* Registers the UI for the VFS Browser
* */
final Spoon spoon = Spoon.getInstance();
spoon.getDisplay().asyncExec(new Runnable() {
public void run() {
VfsFileChooserDialog dialog = spoon.getVfsFileChooserDialog(null, null);
GoogleDriveFileChooserDialog hadoopVfsFileChooserDialog = new GoogleDriveFileChooserDialog(GoogleDriveFileProvider.SCHEME, GoogleDriveFileProvider.DISPLAY_NAME, dialog, SWT.NONE);
dialog.addVFSUIPanel(hadoopVfsFileChooserDialog);
}
});
}
}
use of org.pentaho.di.ui.spoon.Spoon in project pentaho-kettle by pentaho.
the class RepositoryVfsKettleLifecycleListener method onStart.
@Override
public void onStart(LifeEventHandler handler) throws LifecycleException {
/*
* Registers the UI for the VFS Browser
*/
final Spoon spoon = spoonSupplier.get();
spoon.getDisplay().asyncExec(new Runnable() {
public void run() {
VfsFileChooserDialog dialog = spoon.getVfsFileChooserDialog(null, null);
RepositoryVfsProviderDialog hadoopVfsFileChooserDialog = new RepositoryVfsProviderDialog(RepositoryVfsProvider.SCHEME, "Repository VFS", dialog, SWT.NONE);
dialog.addVFSUIPanel(hadoopVfsFileChooserDialog);
}
});
}
use of org.pentaho.di.ui.spoon.Spoon in project pentaho-kettle by pentaho.
the class TransLoadProgressDialog method open.
public TransMeta open() {
IRunnableWithProgress op = new IRunnableWithProgress() {
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
Spoon spoon = Spoon.getInstance();
try {
// Call extension point(s) before the file has been opened
ExtensionPointHandler.callExtensionPoint(spoon.getLog(), KettleExtensionPoint.TransBeforeOpen.id, (objectId == null) ? transname : objectId.toString());
if (objectId != null) {
transInfo = rep.loadTransformation(objectId, versionLabel);
} else {
transInfo = rep.loadTransformation(transname, repdir, new ProgressMonitorAdapter(monitor), true, versionLabel);
}
// Call extension point(s) now that the file has been opened
ExtensionPointHandler.callExtensionPoint(spoon.getLog(), KettleExtensionPoint.TransAfterOpen.id, transInfo);
if (transInfo.hasMissingPlugins()) {
StepMeta stepMeta = transInfo.getStep(0);
Display.getDefault().syncExec(() -> {
MissingTransDialog missingTransDialog = new MissingTransDialog(shell, transInfo.getMissingTrans(), stepMeta.getStepMetaInterface(), transInfo, stepMeta.getName());
if (missingTransDialog.open() == null) {
transInfo = null;
}
});
}
} catch (KettleException e) {
throw new InvocationTargetException(e, BaseMessages.getString(PKG, "TransLoadProgressDialog.Exception.ErrorLoadingTransformation"));
}
}
};
try {
ProgressMonitorDialog pmd = new ProgressMonitorDialog(shell);
pmd.run(true, false, op);
} catch (InvocationTargetException e) {
KettleRepositoryLostException krle = KettleRepositoryLostException.lookupStackStrace(e);
if (krle != null) {
throw krle;
}
new ErrorDialog(shell, BaseMessages.getString(PKG, "TransLoadProgressDialog.ErrorLoadingTransformation.DialogTitle"), BaseMessages.getString(PKG, "TransLoadProgressDialog.ErrorLoadingTransformation.DialogMessage"), e);
transInfo = null;
} catch (InterruptedException e) {
new ErrorDialog(shell, BaseMessages.getString(PKG, "TransLoadProgressDialog.ErrorLoadingTransformation.DialogTitle"), BaseMessages.getString(PKG, "TransLoadProgressDialog.ErrorLoadingTransformation.DialogMessage"), e);
transInfo = null;
}
return transInfo;
}
Aggregations