1 package org
.argeo
.slc
.ide
.ui
;
5 import org
.eclipse
.core
.resources
.IResource
;
6 import org
.eclipse
.core
.runtime
.CoreException
;
7 import org
.eclipse
.debug
.core
.DebugEvent
;
8 import org
.eclipse
.debug
.core
.DebugPlugin
;
9 import org
.eclipse
.debug
.core
.IDebugEventSetListener
;
10 import org
.eclipse
.debug
.core
.ILaunch
;
11 import org
.eclipse
.debug
.core
.model
.IProcess
;
12 import org
.eclipse
.jface
.resource
.ImageDescriptor
;
13 import org
.eclipse
.jface
.resource
.ImageRegistry
;
14 import org
.eclipse
.swt
.graphics
.Image
;
15 import org
.eclipse
.ui
.plugin
.AbstractUIPlugin
;
16 import org
.osgi
.framework
.BundleContext
;
19 * The activator class controls the plug-in life cycle
21 public class SlcIdeUiPlugin
extends AbstractUIPlugin
{
24 public static final String ID
= "org.argeo.slc.ide.ui";
26 // The shared instance
27 private static SlcIdeUiPlugin plugin
;
32 public SlcIdeUiPlugin() {
36 public void start(BundleContext context
) throws Exception
{
39 DebugPlugin
.getDefault()
40 .addDebugEventListener(new DebugEventListener());
44 public void stop(BundleContext context
) throws Exception
{
50 * Returns the shared instance
52 * @return the shared instance
54 public static SlcIdeUiPlugin
getDefault() {
58 public Image
getImage(String relativeURL
) {
59 ImageRegistry imageRegistry
= getImageRegistry();
60 Image image
= imageRegistry
.get(relativeURL
);
62 URL imageURL
= getBundle().getEntry(relativeURL
);
63 ImageDescriptor descriptor
= ImageDescriptor
64 .createFromURL(imageURL
);
65 image
= descriptor
.createImage();
66 imageRegistry
.put(relativeURL
, image
);
71 protected static class DebugEventListener
implements IDebugEventSetListener
{
72 public void handleDebugEvents(DebugEvent
[] events
) {
76 for (int i
= 0; i
< events
.length
; i
++) {
77 DebugEvent event
= events
[i
];
80 Object source
= event
.getSource();
81 if (source
instanceof IProcess
82 && event
.getKind() == DebugEvent
.TERMINATE
) {
83 IProcess process
= (IProcess
) source
;
86 ILaunch launch
= process
.getLaunch();
88 refreshOsgiBootLaunch(launch
);
94 protected void refreshOsgiBootLaunch(ILaunch launch
) {
98 IResource
[] resources
= launch
.getLaunchConfiguration()
99 .getMappedResources();
100 if (resources
== null)
102 if (resources
.length
> 0) {
103 IResource propertiesFile
= resources
[0];
104 if (propertiesFile
.getParent() == null)
106 propertiesFile
.getParent().refreshLocal(
107 IResource
.DEPTH_INFINITE
, null);
108 // System.out.println("Refreshed "
109 // + propertiesFile.getParent());
111 } catch (CoreException e
) {