X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=eclipse%2Fruntime%2Forg.argeo.eclipse.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Feclipse%2Fui%2FArgeoUiPlugin.java;h=c0394fff1a7fce2e927c7cd3f334bf4f0de5ef20;hb=0f82096aecc32f674336405cb52f7796ed29d23c;hp=73fef7812c5ef1fceb5849014a1494daf89eba5a;hpb=477f38e7085ce32c6f09e062cac90f7ba8769698;p=lgpl%2Fargeo-commons.git diff --git a/eclipse/runtime/org.argeo.eclipse.ui/src/main/java/org/argeo/eclipse/ui/ArgeoUiPlugin.java b/eclipse/runtime/org.argeo.eclipse.ui/src/main/java/org/argeo/eclipse/ui/ArgeoUiPlugin.java index 73fef7812..c0394fff1 100644 --- a/eclipse/runtime/org.argeo.eclipse.ui/src/main/java/org/argeo/eclipse/ui/ArgeoUiPlugin.java +++ b/eclipse/runtime/org.argeo.eclipse.ui/src/main/java/org/argeo/eclipse/ui/ArgeoUiPlugin.java @@ -22,84 +22,45 @@ import org.eclipse.core.runtime.ILogListener; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Platform; import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; /** * The activator class controls the plug-in life cycle */ public class ArgeoUiPlugin extends AbstractUIPlugin implements ILogListener { - - // The plug-in ID public static final String PLUGIN_ID = "org.argeo.eclipse.ui"; - - private final static String SPRING_OSGI_EXTENDER = "org.springframework.osgi.extender"; - private final static Log log = LogFactory.getLog(ArgeoUiPlugin.class); - // The shared instance private static ArgeoUiPlugin plugin; - private BundleContext bundleContext; - - /** - * The constructor - */ - public ArgeoUiPlugin() { - } - - /* - * (non-Javadoc) - * - * @see - * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext - * ) - */ public void start(BundleContext context) throws Exception { super.start(context); - plugin = this; - bundleContext = context; - - Platform.addLogListener(this); - log.debug("Eclipse logging now directed to standard logging"); - - // Make sure that the Spring OSGi extender is started - Bundle osgiExtBundle = Platform.getBundle(SPRING_OSGI_EXTENDER); - if (osgiExtBundle != null) - osgiExtBundle.start(); - else - log.error("Spring OSGi Extender not found"); - + // weirdly, the start method is called twice... + if (plugin == null) { + plugin = this; + Platform.addLogListener(this); + log.debug("Eclipse logging now directed to standard logging"); + } } - /* - * (non-Javadoc) - * - * @see - * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext - * ) - */ public void stop(BundleContext context) throws Exception { - Platform.removeLogListener(this); - log.debug("Eclipse logging not directed anymore to standard logging"); - - plugin = null; - super.stop(context); + try { + // weirdly, the stop method is called twice... + if (plugin != null) { + Platform.removeLogListener(this); + log.debug("Eclipse logging not directed anymore to standard logging"); + plugin = null; + } + } finally { + super.stop(context); + } } - /** - * Returns the shared instance - * - * @return the shared instance - */ + /** Returns the shared instance */ public static ArgeoUiPlugin getDefault() { return plugin; } - public BundleContext getBundleContext() { - return bundleContext; - } - public void logging(IStatus status, String plugin) { Log pluginLog = LogFactory.getLog(plugin); Integer severity = status.getSeverity();