Search in sources :

Example 1 with SwtXulLoader

use of org.pentaho.ui.xul.swt.SwtXulLoader in project pdi-dataservice-server-plugin by pentaho.

the class DataServiceTestDialog method initXul.

private Document initXul(Composite parent) throws KettleException {
    try {
        SwtXulLoader swtLoader = new KettleXulLoader();
        swtLoader.setOuterContext(parent);
        swtLoader.registerClassLoader(getClass().getClassLoader());
        XulDomContainer container = swtLoader.loadXul(XUL_PATH, resourceBundle);
        container.addEventHandler(dataServiceTestController);
        final XulRunner runner = new SwtXulRunner();
        runner.addContainer(container);
        runner.initialize();
        return container.getDocumentRoot();
    } catch (XulException xulException) {
        throw new KettleException("Failed to initialize DataServicesTestDialog.", xulException);
    }
}
Also used : KettleException(org.pentaho.di.core.exception.KettleException) XulException(org.pentaho.ui.xul.XulException) KettleXulLoader(org.pentaho.di.ui.xul.KettleXulLoader) SwtXulLoader(org.pentaho.ui.xul.swt.SwtXulLoader) XulDomContainer(org.pentaho.ui.xul.XulDomContainer) XulRunner(org.pentaho.ui.xul.XulRunner) SwtXulRunner(org.pentaho.ui.xul.swt.SwtXulRunner) SwtXulRunner(org.pentaho.ui.xul.swt.SwtXulRunner)

Example 2 with SwtXulLoader

use of org.pentaho.ui.xul.swt.SwtXulLoader in project pentaho-kettle by pentaho.

the class PurRepositoryDialog method open.

public RepositoryMeta open(final MODE mode) {
    try {
        SwtXulLoader swtLoader = new SwtXulLoader();
        swtLoader.setOuterContext(parent);
        swtLoader.registerClassLoader(getClass().getClassLoader());
        container = // $NON-NLS-1$
        swtLoader.loadXul("org/pentaho/di/ui/repository/pur/xul/pur-repository-config-dialog.xul", resourceBundle);
        final XulRunner runner = new SwtXulRunner();
        runner.addContainer(container);
        parent.addDisposeListener(new DisposeListener() {

            public void widgetDisposed(DisposeEvent arg0) {
                hide();
            }
        });
        repositoryConfigController.setMessages(resourceBundle);
        repositoryConfigController.setRepositoryMeta(repositoryMeta);
        repositoryConfigController.setCallback(new IRepositoryConfigDialogCallback() {

            public void onSuccess(PurRepositoryMeta meta) {
                // If repository does not have a name then send back a null repository meta
                if (meta.getName() != null) {
                    // already exist
                    if (mode == MODE.ADD) {
                        if (masterRepositoriesMeta.searchRepository(meta.getName()) == null) {
                            repositoryMeta = meta;
                            hide();
                        } else {
                            displayRepositoryAlreadyExistMessage(meta.getName());
                        }
                    } else {
                        if (masterRepositoryName.equals(meta.getName())) {
                            repositoryMeta = meta;
                            hide();
                        } else if (masterRepositoriesMeta.searchRepository(meta.getName()) == null) {
                            repositoryMeta = meta;
                            hide();
                        } else {
                            displayRepositoryAlreadyExistMessage(meta.getName());
                        }
                    }
                }
            }

            public void onError(Throwable t) {
                SpoonFactory.getInstance().messageBox(t.getLocalizedMessage(), resourceBundle.getString("RepositoryConfigDialog.InitializationFailed"), false, // $NON-NLS-1$
                Const.ERROR);
                // $NON-NLS-1$
                log.error(resourceBundle.getString("RepositoryConfigDialog.ErrorStartingXulApplication"), t);
            }

            public void onCancel() {
                repositoryMeta = null;
                hide();
            }
        });
        container.addEventHandler(repositoryConfigController);
        try {
            runner.initialize();
            show();
        } catch (XulException e) {
            SpoonFactory.getInstance().messageBox(e.getLocalizedMessage(), resourceBundle.getString("RepositoryConfigDialog.InitializationFailed"), false, // $NON-NLS-1$
            Const.ERROR);
            // $NON-NLS-1$
            log.error(resourceBundle.getString("RepositoryConfigDialog.ErrorStartingXulApplication"), e);
        }
    } catch (XulException e) {
        // $NON-NLS-1$
        log.error(resourceBundle.getString("RepositoryConfigDialog.ErrorStartingXulApplication"), e);
    }
    return repositoryMeta;
}
Also used : DisposeListener(org.eclipse.swt.events.DisposeListener) XulException(org.pentaho.ui.xul.XulException) PurRepositoryMeta(org.pentaho.di.repository.pur.PurRepositoryMeta) SwtXulLoader(org.pentaho.ui.xul.swt.SwtXulLoader) DisposeEvent(org.eclipse.swt.events.DisposeEvent) XulRunner(org.pentaho.ui.xul.XulRunner) SwtXulRunner(org.pentaho.ui.xul.swt.SwtXulRunner) SwtXulRunner(org.pentaho.ui.xul.swt.SwtXulRunner)

Aggregations

XulException (org.pentaho.ui.xul.XulException)2 XulRunner (org.pentaho.ui.xul.XulRunner)2 SwtXulLoader (org.pentaho.ui.xul.swt.SwtXulLoader)2 SwtXulRunner (org.pentaho.ui.xul.swt.SwtXulRunner)2 DisposeEvent (org.eclipse.swt.events.DisposeEvent)1 DisposeListener (org.eclipse.swt.events.DisposeListener)1 KettleException (org.pentaho.di.core.exception.KettleException)1 PurRepositoryMeta (org.pentaho.di.repository.pur.PurRepositoryMeta)1 KettleXulLoader (org.pentaho.di.ui.xul.KettleXulLoader)1 XulDomContainer (org.pentaho.ui.xul.XulDomContainer)1