Search in sources :

Example 6 with AbsDynamicProgressMonitor

use of org.talend.designer.maven.aether.AbsDynamicProgressMonitor in project tbd-studio-se by Talend.

the class DynamicDistributionDetailsForm method performOk.

@Override
public boolean performOk() {
    try {
        final Throwable[] throwable = new Throwable[1];
        run(true, true, new IRunnableWithProgress() {

            @Override
            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                DynamicDistributionSetupData dynamicBuildConfigurationData = getDynamicDistributionSetupData();
                try {
                    IDynamicMonitor dMonitor = new AbsDynamicProgressMonitor(monitor) {

                        @Override
                        public void writeMessage(String message) {
                            if (isDebuging()) {
                                System.out.print(message);
                            }
                        }
                    };
                    saveDynamicDistribution(newDynamicPluginCache, dynamicBuildConfigurationData.getDynamicDistributionsGroup(), dynamicBuildConfigurationData.getActionType(), dMonitor);
                } catch (Exception e) {
                    throwable[0] = e;
                }
            }
        });
        if (throwable[0] != null) {
            throw throwable[0];
        }
        return true;
    } catch (Throwable e) {
        ExceptionHandler.process(e);
        String message = e.getMessage();
        if (StringUtils.isEmpty(message)) {
            // $NON-NLS-1$
            message = Messages.getString("ExceptionDialog.message.empty");
        }
        // $NON-NLS-1$
        ExceptionMessageDialog.openError(getShell(), Messages.getString("ExceptionDialog.title"), message, e);
    }
    return false;
}
Also used : IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) DynamicDistributionSetupData(org.talend.repository.hadoopcluster.ui.dynamic.DynamicDistributionSetupData) InvocationTargetException(java.lang.reflect.InvocationTargetException) IDynamicMonitor(org.talend.designer.maven.aether.IDynamicMonitor) AbsDynamicProgressMonitor(org.talend.designer.maven.aether.AbsDynamicProgressMonitor) InvocationTargetException(java.lang.reflect.InvocationTargetException) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress)

Example 7 with AbsDynamicProgressMonitor

use of org.talend.designer.maven.aether.AbsDynamicProgressMonitor in project tbd-studio-se by Talend.

the class DynamicDistributionPreferenceForm method doDelete.

private void doDelete(IDynamicPlugin dynamicPlugin) throws Throwable {
    final Throwable[] throwable = new Throwable[1];
    ProgressMonitorDialog progressDialog = new ProgressMonitorDialog(getShell());
    progressDialog.run(true, false, new IRunnableWithProgress() {

        @Override
        public void run(IProgressMonitor pMonitor) throws InvocationTargetException, InterruptedException {
            ProxyRepositoryFactory.getInstance().executeRepositoryWorkUnit(new RepositoryWorkUnit<Boolean>(// $NON-NLS-1$
            Messages.getString("DynamicDistributionPreferenceForm.form.deleteExistingConfig.workunit.title")) {

                @Override
                protected void run() throws LoginException, PersistenceException {
                    IDynamicMonitor monitor = new AbsDynamicProgressMonitor(pMonitor) {

                        @Override
                        public void writeMessage(String message) {
                        // nothing to do
                        }
                    };
                    try {
                        IDynamicPluginConfiguration pluginConfiguration = dynamicPlugin.getPluginConfiguration();
                        monitor.beginTask(// $NON-NLS-1$
                        Messages.getString(// $NON-NLS-1$
                        "DynamicDistributionPreferenceForm.delete.progress.unregist", pluginConfiguration.getName()), IDynamicMonitor.UNKNOWN);
                        String distribution = pluginConfiguration.getDistribution();
                        IDynamicDistributionsGroup dynamicDistributionGroup = DynamicDistributionManager.getInstance().getDynamicDistributionGroup(distribution);
                        dynamicDistributionGroup.unregister(dynamicPlugin, monitor, false);
                        monitor.setTaskName(// $NON-NLS-1$
                        Messages.getString(// $NON-NLS-1$
                        "DynamicDistributionPreferenceForm.delete.progress.deleteFile", pluginConfiguration.getName()));
                        String filePath = (String) pluginConfiguration.getAttribute(DynamicConstants.ATTR_FILE_PATH);
                        File file = new File(filePath);
                        file.delete();
                        monitor.setTaskName(// $NON-NLS-1$
                        Messages.getString("DynamicDistributionPreferenceForm.delete.progress.resetCache"));
                        DynamicDistributionManager.getInstance().resetSystemCache();
                    } catch (Throwable e) {
                        throwable[0] = e;
                    }
                }
            });
        }
    });
    if (throwable[0] != null) {
        throw throwable[0];
    }
}
Also used : ProgressMonitorDialog(org.eclipse.jface.dialogs.ProgressMonitorDialog) RepositoryWorkUnit(org.talend.repository.RepositoryWorkUnit) IDynamicPluginConfiguration(org.talend.core.runtime.dynamic.IDynamicPluginConfiguration) InvocationTargetException(java.lang.reflect.InvocationTargetException) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) IDynamicDistributionsGroup(org.talend.hadoop.distribution.dynamic.IDynamicDistributionsGroup) File(java.io.File) IDynamicMonitor(org.talend.designer.maven.aether.IDynamicMonitor) AbsDynamicProgressMonitor(org.talend.designer.maven.aether.AbsDynamicProgressMonitor)

Aggregations

AbsDynamicProgressMonitor (org.talend.designer.maven.aether.AbsDynamicProgressMonitor)7 IDynamicMonitor (org.talend.designer.maven.aether.IDynamicMonitor)7 InvocationTargetException (java.lang.reflect.InvocationTargetException)4 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)4 IRunnableWithProgress (org.eclipse.jface.operation.IRunnableWithProgress)4 IDynamicDistributionsGroup (org.talend.hadoop.distribution.dynamic.IDynamicDistributionsGroup)3 DynamicDistributionSetupData (org.talend.repository.hadoopcluster.ui.dynamic.DynamicDistributionSetupData)3 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)2 File (java.io.File)1 ArrayList (java.util.ArrayList)1 LinkedList (java.util.LinkedList)1 List (java.util.List)1 ProgressMonitorDialog (org.eclipse.jface.dialogs.ProgressMonitorDialog)1 IDynamicPlugin (org.talend.core.runtime.dynamic.IDynamicPlugin)1 IDynamicPluginConfiguration (org.talend.core.runtime.dynamic.IDynamicPluginConfiguration)1 RepositoryWorkUnit (org.talend.repository.RepositoryWorkUnit)1