Search in sources :

Example 1 with IDynamicMonitor

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

the class DynamicDistributionManager method getUsersIdDynamicDistributionMap.

private Map<String, IDynamicPlugin> getUsersIdDynamicDistributionMap() throws Exception {
    if (usersIdDistributionMap != null) {
        String systemCacheVersion = HadoopDistributionsHelper.getCacheVersion();
        if (StringUtils.equals(systemCacheVersion, usersIdDistributionMapCacheVersion)) {
            return usersIdDistributionMap;
        }
    }
    usersIdDistributionMap = new HashMap<>();
    usersIdDistributionMapCacheVersion = HadoopDistributionsHelper.getCacheVersion();
    IDynamicMonitor monitor = new DummyDynamicMonitor();
    List<IDynamicPlugin> allBuiltinDynamicPlugins = getAllUsersDynamicPlugins(monitor);
    if (allBuiltinDynamicPlugins != null && !allBuiltinDynamicPlugins.isEmpty()) {
        for (IDynamicPlugin dynamicPlugin : allBuiltinDynamicPlugins) {
            IDynamicPluginConfiguration pluginConfiguration = dynamicPlugin.getPluginConfiguration();
            if (pluginConfiguration != null) {
                String id = pluginConfiguration.getId();
                usersIdDistributionMap.put(id, dynamicPlugin);
            }
        }
    }
    return usersIdDistributionMap;
}
Also used : IDynamicPlugin(org.talend.core.runtime.dynamic.IDynamicPlugin) DummyDynamicMonitor(org.talend.designer.maven.aether.DummyDynamicMonitor) IDynamicPluginConfiguration(org.talend.core.runtime.dynamic.IDynamicPluginConfiguration) IDynamicMonitor(org.talend.designer.maven.aether.IDynamicMonitor)

Example 2 with IDynamicMonitor

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

the class DynamicDistributionManager method load.

@Override
public void load(IProgressMonitor monitor, boolean resetModulesCache) throws Exception {
    if (isLoaded()) {
        return;
    }
    synchronized (this) {
        if (isLoaded()) {
            return;
        }
        IDynamicMonitor dynMonitor = new AbsDynamicProgressMonitor(monitor) {

            @Override
            public void writeMessage(String message) {
            // nothing to do
            }
        };
        registerAll(dynMonitor, resetModulesCache);
        setLoaded(true);
    }
}
Also used : IDynamicMonitor(org.talend.designer.maven.aether.IDynamicMonitor) AbsDynamicProgressMonitor(org.talend.designer.maven.aether.AbsDynamicProgressMonitor)

Example 3 with IDynamicMonitor

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

the class DynamicDistributionManager method reset.

@Override
public void reset(IProgressMonitor monitor) {
    if (!isLoaded) {
        return;
    }
    if (monitor == null) {
        monitor = new NullProgressMonitor();
    }
    IDynamicMonitor dynamicMonitor = new AbsDynamicProgressMonitor(monitor) {

        @Override
        public void writeMessage(String message) {
        // nothing to do
        }
    };
    try {
        unregisterAll(dynamicMonitor, false);
        usersPluginsCache = null;
        resetSystemCache();
        isLoaded = false;
    } catch (Exception e) {
        ExceptionHandler.process(e);
    }
}
Also used : NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) IDynamicMonitor(org.talend.designer.maven.aether.IDynamicMonitor) AbsDynamicProgressMonitor(org.talend.designer.maven.aether.AbsDynamicProgressMonitor)

Example 4 with IDynamicMonitor

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

the class DynamicDistributionManager method getBuiltinIdDynamicDistributionMap.

private Map<String, IDynamicPlugin> getBuiltinIdDynamicDistributionMap() throws Exception {
    if (builtinIdDistributionMap != null) {
        String systemCacheVersion = HadoopDistributionsHelper.getCacheVersion();
        if (StringUtils.equals(systemCacheVersion, builtinIdDistributionMapCacheVersion)) {
            return builtinIdDistributionMap;
        }
    }
    builtinIdDistributionMap = new HashMap<>();
    builtinIdDistributionMapCacheVersion = HadoopDistributionsHelper.getCacheVersion();
    IDynamicMonitor monitor = new DummyDynamicMonitor();
    List<IDynamicPlugin> allBuiltinDynamicPlugins = getAllBuiltinDynamicPlugins(monitor);
    if (allBuiltinDynamicPlugins != null && !allBuiltinDynamicPlugins.isEmpty()) {
        for (IDynamicPlugin dynamicPlugin : allBuiltinDynamicPlugins) {
            IDynamicPluginConfiguration pluginConfiguration = dynamicPlugin.getPluginConfiguration();
            if (pluginConfiguration != null) {
                String id = pluginConfiguration.getId();
                builtinIdDistributionMap.put(id, dynamicPlugin);
            }
        }
    }
    return builtinIdDistributionMap;
}
Also used : IDynamicPlugin(org.talend.core.runtime.dynamic.IDynamicPlugin) DummyDynamicMonitor(org.talend.designer.maven.aether.DummyDynamicMonitor) IDynamicPluginConfiguration(org.talend.core.runtime.dynamic.IDynamicPluginConfiguration) IDynamicMonitor(org.talend.designer.maven.aether.IDynamicMonitor)

Example 5 with IDynamicMonitor

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

the class DynamicDistributionManager method reloadAllDynamicDistributions.

@Override
public void reloadAllDynamicDistributions(IProgressMonitor monitor) throws Exception {
    if (monitor == null) {
        monitor = new NullProgressMonitor();
    }
    IDynamicMonitor dynamicMonitor = new AbsDynamicProgressMonitor(monitor) {

        @Override
        public void writeMessage(String message) {
        // nothing to do
        }
    };
    unregisterAll(dynamicMonitor, false);
    usersPluginsCache = null;
    registerAll(dynamicMonitor, false);
    resetSystemCache();
}
Also used : NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) IDynamicMonitor(org.talend.designer.maven.aether.IDynamicMonitor) AbsDynamicProgressMonitor(org.talend.designer.maven.aether.AbsDynamicProgressMonitor)

Aggregations

IDynamicMonitor (org.talend.designer.maven.aether.IDynamicMonitor)17 DummyDynamicMonitor (org.talend.designer.maven.aether.DummyDynamicMonitor)10 IRunnableWithProgress (org.eclipse.jface.operation.IRunnableWithProgress)8 AbsDynamicProgressMonitor (org.talend.designer.maven.aether.AbsDynamicProgressMonitor)7 InvocationTargetException (java.lang.reflect.InvocationTargetException)6 IDynamicPlugin (org.talend.core.runtime.dynamic.IDynamicPlugin)6 IDynamicPluginConfiguration (org.talend.core.runtime.dynamic.IDynamicPluginConfiguration)5 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)4 IDynamicDistributionsGroup (org.talend.hadoop.distribution.dynamic.IDynamicDistributionsGroup)4 DynamicDistributionSetupData (org.talend.repository.hadoopcluster.ui.dynamic.DynamicDistributionSetupData)4 AbstractDynamicDistributionForm (org.talend.repository.hadoopcluster.ui.dynamic.form.AbstractDynamicDistributionForm)4 ICheckListener (org.talend.repository.hadoopcluster.ui.dynamic.form.AbstractDynamicDistributionForm.ICheckListener)4 File (java.io.File)2 LinkedList (java.util.LinkedList)2 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)2 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)2 DynamicDistributionPreferenceForm (org.talend.repository.hadoopcluster.ui.dynamic.form.DynamicDistributionPreferenceForm)2 ArrayList (java.util.ArrayList)1 List (java.util.List)1 ProgressMonitorDialog (org.eclipse.jface.dialogs.ProgressMonitorDialog)1