Search in sources :

Example 11 with Spoon

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);
    }
}
Also used : RepositoryDirectory(org.pentaho.di.repository.RepositoryDirectory) Spoon(org.pentaho.di.ui.spoon.Spoon) TransMeta(org.pentaho.di.trans.TransMeta) ErrorDialog(org.pentaho.di.ui.core.dialog.ErrorDialog) JobGenerator(org.pentaho.di.starmodeler.generator.JobGenerator) DatabaseMeta(org.pentaho.di.core.database.DatabaseMeta) XulException(org.pentaho.ui.xul.XulException) MetaStoreException(org.pentaho.metastore.api.exceptions.MetaStoreException) KettleException(org.pentaho.di.core.exception.KettleException) MetaStoreElementExistException(org.pentaho.metastore.api.exceptions.MetaStoreElementExistException)

Example 12 with Spoon

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);
        }
    }
}
Also used : JobMeta(org.pentaho.di.job.JobMeta) Spoon(org.pentaho.di.ui.spoon.Spoon) FileDialog(org.eclipse.swt.widgets.FileDialog) File(java.io.File) KettleException(org.pentaho.di.core.exception.KettleException) KettleExtensionPoint(org.pentaho.di.core.extension.KettleExtensionPoint) MessageBox(org.eclipse.swt.widgets.MessageBox)

Example 13 with Spoon

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);
            }
        });
    }
}
Also used : GoogleDriveFileChooserDialog(org.pentaho.googledrive.vfs.ui.GoogleDriveFileChooserDialog) VfsFileChooserDialog(org.pentaho.vfs.ui.VfsFileChooserDialog) Spoon(org.pentaho.di.ui.spoon.Spoon) File(java.io.File)

Example 14 with Spoon

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);
        }
    });
}
Also used : RepositoryVfsProviderDialog(org.pentaho.repositoryvfs.dialog.RepositoryVfsProviderDialog) VfsFileChooserDialog(org.pentaho.vfs.ui.VfsFileChooserDialog) Spoon(org.pentaho.di.ui.spoon.Spoon)

Example 15 with Spoon

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;
}
Also used : KettleException(org.pentaho.di.core.exception.KettleException) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) MissingTransDialog(org.pentaho.di.ui.trans.steps.missing.MissingTransDialog) Spoon(org.pentaho.di.ui.spoon.Spoon) ProgressMonitorDialog(org.eclipse.jface.dialogs.ProgressMonitorDialog) ProgressMonitorAdapter(org.pentaho.di.core.ProgressMonitorAdapter) ErrorDialog(org.pentaho.di.ui.core.dialog.ErrorDialog) StepMeta(org.pentaho.di.trans.step.StepMeta) KettleRepositoryLostException(org.pentaho.di.repository.KettleRepositoryLostException) InvocationTargetException(java.lang.reflect.InvocationTargetException) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress)

Aggregations

Spoon (org.pentaho.di.ui.spoon.Spoon)26 KettleException (org.pentaho.di.core.exception.KettleException)11 ErrorDialog (org.pentaho.di.ui.core.dialog.ErrorDialog)8 TransMeta (org.pentaho.di.trans.TransMeta)6 JobMeta (org.pentaho.di.job.JobMeta)5 XulException (org.pentaho.ui.xul.XulException)5 XulMenuitem (org.pentaho.ui.xul.components.XulMenuitem)5 File (java.io.File)3 Shell (org.eclipse.swt.widgets.Shell)3 Test (org.junit.Test)3 DatabaseMeta (org.pentaho.di.core.database.DatabaseMeta)3 PurRepository (org.pentaho.di.repository.pur.PurRepository)3 RepositoryLock (org.pentaho.di.repository.pur.model.RepositoryLock)3 InvocationTargetException (java.lang.reflect.InvocationTargetException)2 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)2 ProgressMonitorDialog (org.eclipse.jface.dialogs.ProgressMonitorDialog)2 IRunnableWithProgress (org.eclipse.jface.operation.IRunnableWithProgress)2 FileDialog (org.eclipse.swt.widgets.FileDialog)2 MessageBox (org.eclipse.swt.widgets.MessageBox)2 EngineMetaInterface (org.pentaho.di.core.EngineMetaInterface)2