Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

refactored ImageRegistry access with dyn. registration for additional…

… Images
  • Loading branch information...
commit e762cb1fc43204673aa61607768bfefcfa6cd140 1 parent bec5850
authored March 10, 2011

Showing 54 changed files with 227 additions and 436 deletions. Show diff stats Hide diff stats

  1. 2  plugins/eu.udig.catalog.jgrass/src/eu/udig/catalog/jgrass/activeregion/dialogs/FeatureCatalogTreeViewer.java
  2. 4  plugins/eu.udig.catalog.jgrass/src/eu/udig/catalog/jgrass/activeregion/dialogs/FeatureLayerTreeViewer.java
  3. 2  plugins/eu.udig.catalog.jgrass/src/eu/udig/catalog/jgrass/activeregion/dialogs/JGRasterCatalogTreeViewer.java
  4. 2  plugins/eu.udig.catalog.jgrass/src/eu/udig/catalog/jgrass/activeregion/dialogs/JGRasterLayerTreeViewer.java
  5. 8  plugins/eu.udig.catalog.jgrass/src/eu/udig/catalog/jgrass/core/JGrassMapGeoResource.java
  6. 4  plugins/eu.udig.catalog.jgrass/src/eu/udig/catalog/jgrass/core/JGrassMapsetGeoResource.java
  7. 12  ...fractions.udig.catalog.geotools/src/net/refractions/udig/catalog/geotools/data/DataStoreConnectionPage.java
  8. 2  ...ions.udig.catalog.geotools/src/net/refractions/udig/catalog/geotools/data/FeatureSourceGeoResourceInfo.java
  9. 10  plugins/net.refractions.udig.catalog.geotools/src/net/refractions/udig/catalog/geotools/data/GTFormat.java
  10. 2  ...s/net.refractions.udig.catalog.geotools/src/net/refractions/udig/catalog/geotools/process/LocalProcess.java
  11. 4  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/internal/ui/CatalogView.java
  12. 2  ...ins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/internal/ui/ResourceSelectionPage.java
  13. 6  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/internal/ui/ServiceDecorator.java
  14. 2  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/service/database/UserHostPage.java
  15. 84  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/ui/CatalogUIPlugin.java
  16. 2  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/ui/export/CatalogExport.java
  17. 4  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/ui/internal/Messages.java
  18. 2  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/ui/operation/ReshapeOperation.java
  19. 2  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/ui/search/SearchView.java
  20. 2  plugins/net.refractions.udig.catalog.wms/src/net/refractions/udig/catalog/internal/wms/WMSFolder.java
  21. 18  plugins/net.refractions.udig.catalog.wms/src/net/refractions/udig/catalog/internal/wms/WMSGeoResourceImpl.java
  22. 2  plugins/net.refractions.udig.catalog.wms/src/net/refractions/udig/catalog/internal/wms/WMSGeoResourceInfo.java
  23. 2  ...ns/net.refractions.udig.catalog.wms/src/net/refractions/udig/catalog/internal/wmsc/WMSCGeoResourceInfo.java
  24. 41  plugins/net.refractions.udig.core/src/net/refractions/udig/core/AbstractUdigUIPlugin.java
  25. 22  plugins/net.refractions.udig.issues.test/src/net/refractions/udig/issues/test/IssuesViewTest.java
  26. 34  plugins/net.refractions.udig.issues/src/net/refractions/udig/issues/internal/IssuesActivator.java
  27. 18  plugins/net.refractions.udig.issues/src/net/refractions/udig/issues/internal/view/IssuesLabelProvider.java
  28. 6  plugins/net.refractions.udig.issues/src/net/refractions/udig/issues/internal/view/IssuesView.java
  29. 39  plugins/net.refractions.udig.location/src/net/refractions/udig/location/LocationUIPlugin.java
  30. 4  plugins/net.refractions.udig.location/src/net/refractions/udig/location/internal/Messages.java
  31. 2  plugins/net.refractions.udig.location/src/net/refractions/udig/location/ui/LocationView.java
  32. 2  plugins/net.refractions.udig.project.ui/src/net/refractions/udig/project/ui/internal/LayerStateDecorator.java
  33. 30  plugins/net.refractions.udig.project.ui/src/net/refractions/udig/project/ui/internal/LayerStatusDecorator.java
  34. 4  plugins/net.refractions.udig.project.ui/src/net/refractions/udig/project/ui/internal/LayersView.java
  35. 2  plugins/net.refractions.udig.project.ui/src/net/refractions/udig/project/ui/internal/MapEditor.java
  36. 2  plugins/net.refractions.udig.project.ui/src/net/refractions/udig/project/ui/internal/MapStylePage.java
  37. 4  plugins/net.refractions.udig.project.ui/src/net/refractions/udig/project/ui/internal/ProjectExplorer.java
  38. 25  plugins/net.refractions.udig.project.ui/src/net/refractions/udig/project/ui/internal/ProjectUIPlugin.java
  39. 2  ...s/net.refractions.udig.project.ui/src/net/refractions/udig/project/ui/internal/TemporaryLayerDecorator.java
  40. 2  ...t.refractions.udig.project.ui/src/net/refractions/udig/project/ui/internal/wizard/NewProjectWizardPage.java
  41. 2  ...actions.udig.project.ui/src/net/refractions/udig/project/ui/wizard/export/image/ExportMapToImageWizard.java
  42. 2  .../net.refractions.udig.project.ui/src/net/refractions/udig/project/ui/wizard/export/map/ExportMapWizard.java
  43. 66  plugins/net.refractions.udig.style.sld/src/net/refractions/udig/style/sld/SLDPlugin.java
  44. 44  plugins/net.refractions.udig.style.sld/src/net/refractions/udig/style/sld/editor/StyleThemePage.java
  45. 36  plugins/net.refractions.udig.style/src/net/refractions/udig/style/StylePlugin.java
  46. 4  plugins/net.refractions.udig.style/src/net/refractions/udig/style/ui/StyleView.java
  47. 2  plugins/net.refractions.udig.ui/src/net/refractions/udig/internal/ui/SendLogDialog.java
  48. 21  plugins/net.refractions.udig.ui/src/net/refractions/udig/internal/ui/UiPlugin.java
  49. 4  plugins/net.refractions.udig.ui/src/net/refractions/udig/ui/FeatureTypeEditor.java
  50. 2  plugins/net.refractions.udig.ui/src/net/refractions/udig/ui/action/NewObjectContribution.java
  51. 4  plugins/net.refractions.udig.ui/src/net/refractions/udig/ui/internal/Messages.java
  52. 53  plugins/net.refractions.udig.validation/src/net/refractions/udig/validation/ValidationPlugin.java
  53. 2  plugins/net.refractions.udig.validation/src/net/refractions/udig/validation/ValidationProcessor.java
  54. 2  plugins/net.refractions.udig.validation/src/net/refractions/udig/validation/ui/ValidationDialog.java
2  ...ins/eu.udig.catalog.jgrass/src/eu/udig/catalog/jgrass/activeregion/dialogs/FeatureCatalogTreeViewer.java
@@ -234,7 +234,7 @@ public LabelProvider() {
234 234
             listeners = new ArrayList<ILabelProviderListener>();
235 235
 
236 236
             // Create the images
237  
-            vectorMaps = CatalogUIPlugin.getImageDescriptor(
  237
+            vectorMaps = CatalogUIPlugin.getDefault().getImageDescriptor(
238 238
                     ISharedImages.FEATURE_OBJ).createImage();
239 239
         }
240 240
 
4  plugins/eu.udig.catalog.jgrass/src/eu/udig/catalog/jgrass/activeregion/dialogs/FeatureLayerTreeViewer.java
@@ -239,8 +239,8 @@ public LabelProvider() {
239 239
             listeners = new ArrayList<ILabelProviderListener>();
240 240
 
241 241
             // Create the images
242  
-            vectorMaps = CatalogUIPlugin.getImageDescriptor(ISharedImages.FEATURE_OBJ).createImage();
243  
-            mainMaps = CatalogUIPlugin.getImageDescriptor(ISharedImages.CATALOG_OBJ).createImage();
  242
+            vectorMaps = CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.FEATURE_OBJ).createImage();
  243
+            mainMaps = CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.CATALOG_OBJ).createImage();
244 244
         }
245 245
 
246 246
         /**
2  ...ns/eu.udig.catalog.jgrass/src/eu/udig/catalog/jgrass/activeregion/dialogs/JGRasterCatalogTreeViewer.java
@@ -313,7 +313,7 @@ public LabelProvider() {
313 313
             listeners = new ArrayList<ILabelProviderListener>();
314 314
 
315 315
             // Create the images
316  
-            rasterMaps = CatalogUIPlugin.getImageDescriptor(ISharedImages.GRID_OBJ).createImage();
  316
+            rasterMaps = CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.GRID_OBJ).createImage();
317 317
             mainRasterMaps = AbstractUIPlugin
318 318
                     .imageDescriptorFromPlugin(JGrassPlugin.PLUGIN_ID, "icons/obj16/jgrass_obj.gif").createImage(); //$NON-NLS-1$
319 319
             grassasciiRasterMaps = AbstractUIPlugin.imageDescriptorFromPlugin(JGrassPlugin.PLUGIN_ID,
2  plugins/eu.udig.catalog.jgrass/src/eu/udig/catalog/jgrass/activeregion/dialogs/JGRasterLayerTreeViewer.java
@@ -309,7 +309,7 @@ public LabelProvider() {
309 309
             listeners = new ArrayList<ILabelProviderListener>();
310 310
 
311 311
             // Create the images
312  
-            rasterMaps = CatalogUIPlugin.getImageDescriptor(ISharedImages.GRID_OBJ).createImage();
  312
+            rasterMaps = CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.GRID_OBJ).createImage();
313 313
             mainRasterMaps = AbstractUIPlugin
314 314
                     .imageDescriptorFromPlugin(JGrassPlugin.PLUGIN_ID, "icons/obj16/jgrass_obj.gif").createImage(); //$NON-NLS-1$
315 315
             grassasciiRasterMaps = AbstractUIPlugin.imageDescriptorFromPlugin(JGrassPlugin.PLUGIN_ID,
8  plugins/eu.udig.catalog.jgrass/src/eu/udig/catalog/jgrass/core/JGrassMapGeoResource.java
@@ -241,7 +241,7 @@ public JGrassMapGeoResourceInfo( IProgressMonitor monitor ) {
241 241
                             .getJGrassCrs();
242 242
                     bounds = new ReferencedEnvelope(fileWindow.getEnvelope(), grassCrs);
243 243
 
244  
-                    super.icon = CatalogUIPlugin.getImageDescriptor(ISharedImages.GRID_OBJ);
  244
+                    super.icon = CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.GRID_OBJ);
245 245
                 }
246 246
                 /*
247 247
                  * what if it is a grass ascii raster map?
@@ -286,7 +286,7 @@ else if (JGrassMapGeoResource.this.type.equals(JGrassConstants.FTRASTERMAP)) {
286 286
                  * what if it is a vector map
287 287
                  */
288 288
                 else if (JGrassMapGeoResource.this.type.equals(JGrassConstants.GRASS6VECTORMAP)) {
289  
-                    super.icon = CatalogUIPlugin.getImageDescriptor(ISharedImages.FEATURE_OBJ);
  289
+                    super.icon = CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.FEATURE_OBJ);
290 290
                 }
291 291
                 /*
292 292
                  * what if it is a point map
@@ -327,9 +327,9 @@ else if (JGrassMapGeoResource.this.type.equals(JGrassConstants.SITESMAP)) {
327 327
 
328 328
                     bounds = new ReferencedEnvelope(tmpBounds,
329 329
                             ((JGrassMapsetGeoResource) JGrassMapGeoResource.this.parent).getJGrassCrs());
330  
-                    super.icon = CatalogUIPlugin.getImageDescriptor(ISharedImages.PIXEL_OBJ);
  330
+                    super.icon = CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.PIXEL_OBJ);
331 331
                 } else {
332  
-                    super.icon = CatalogUIPlugin.getImageDescriptor(ISharedImages.GRID_MISSING);
  332
+                    super.icon = CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.GRID_MISSING);
333 333
                 }
334 334
             } catch (Exception e) {
335 335
                 super.icon = AbstractUIPlugin.imageDescriptorFromPlugin(JGrassPlugin.PLUGIN_ID, "icons/obj16/problem.gif"); //$NON-NLS-1$
4  plugins/eu.udig.catalog.jgrass/src/eu/udig/catalog/jgrass/core/JGrassMapsetGeoResource.java
@@ -367,7 +367,7 @@ public JGrassMapsetGeoResourceInfo( IProgressMonitor monitor ) throws IOExceptio
367 367
             // calculate bounds
368 368
             JGrassRegion activeRegionWindow = getActiveRegionWindow();
369 369
             this.bounds = new ReferencedEnvelope(activeRegionWindow.getEnvelope(), getCRS());
370  
-            super.icon = CatalogUIPlugin.getImageDescriptor(ISharedImages.CATALOG_OBJ);
  370
+            super.icon = CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.CATALOG_OBJ);
371 371
         }
372 372
 
373 373
         public CoordinateReferenceSystem getCRS() {
@@ -405,7 +405,7 @@ public CoordinateReferenceSystem getJGrassCrs() {
405 405
 
406 406
     public ImageDescriptor getIcon( IProgressMonitor monitor ) {
407 407
         if (icon == null) {
408  
-            icon = CatalogUIPlugin.getImageDescriptor(ISharedImages.GRID_OBJ);
  408
+            icon = CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.GRID_OBJ);
409 409
         }
410 410
         return icon;
411 411
     }
12  ...ctions.udig.catalog.geotools/src/net/refractions/udig/catalog/geotools/data/DataStoreConnectionPage.java
@@ -93,22 +93,22 @@ public Image getImage( Object element ) {
93 93
             String name = element.getClass().getSimpleName();
94 94
             
95 95
             if (element instanceof JDBCDataStoreFactory) {
96  
-                return CatalogUIPlugin.getImage(ISharedImages.DATABASE_OBJ);
  96
+                return CatalogUIPlugin.getDefault().getImage(ISharedImages.DATABASE_OBJ);
97 97
             }
98 98
             if (element instanceof FileDataStoreFactorySpi) {
99  
-                return CatalogUIPlugin.getImage(ISharedImages.FEATURE_FILE_OBJ);
  99
+                return CatalogUIPlugin.getDefault().getImage(ISharedImages.FEATURE_FILE_OBJ);
100 100
             }
101 101
             if (name.indexOf("WFSDataStoreFactory") != -1) {
102  
-                return CatalogUIPlugin.getImage(ISharedImages.WFS_OBJ);
  102
+                return CatalogUIPlugin.getDefault().getImage(ISharedImages.WFS_OBJ);
103 103
             }
104 104
             if (name.indexOf("PropertyDataStoreFactory") != -1){
105  
-                return CatalogUIPlugin.getImage(ISharedImages.FEATURE_FILE_OBJ );
  105
+                return CatalogUIPlugin.getDefault().getImage(ISharedImages.FEATURE_FILE_OBJ );
106 106
             }
107 107
             if (name.indexOf("PostgisDataStoreFactory")!=-1){
108  
-                return CatalogUIPlugin.getImage(ISharedImages.DATABASE_OBJ);
  108
+                return CatalogUIPlugin.getDefault().getImage(ISharedImages.DATABASE_OBJ);
109 109
             }
110 110
             if (element instanceof DataStoreFactorySpi) {
111  
-                return CatalogUIPlugin.getImage(ISharedImages.DATASTORE_OBJ );
  111
+                return CatalogUIPlugin.getDefault().getImage(ISharedImages.DATASTORE_OBJ );
112 112
             }
113 113
             return super.getImage(element);
114 114
         }
2  ...s.udig.catalog.geotools/src/net/refractions/udig/catalog/geotools/data/FeatureSourceGeoResourceInfo.java
@@ -45,7 +45,7 @@ public FeatureSourceGeoResourceInfo( ResourceInfo info ) {
45 45
             this.title = title.replace('_', ' ');
46 46
         }
47 47
         
48  
-        this.icon = CatalogUIPlugin.getImageDescriptor( ISharedImages.FEATURE_OBJ ); // generic!
  48
+        this.icon = CatalogUIPlugin.getDefault().getImageDescriptor( ISharedImages.FEATURE_OBJ ); // generic!
49 49
     }
50 50
     /**
51 51
      * Can be called to refresh the bounds from the internal info object.
10  plugins/net.refractions.udig.catalog.geotools/src/net/refractions/udig/catalog/geotools/data/GTFormat.java
@@ -101,7 +101,7 @@ public ID toID( DataAccessFactory factory, Map<String, ? > params ) {
101 101
 
102 102
         @Override
103 103
         public ImageDescriptor getIcon() {
104  
-            return CatalogUIPlugin.getImageDescriptor( ISharedImages.DATABASE_OBJ ); // generic!
  104
+            return CatalogUIPlugin.getDefault().getImageDescriptor( ISharedImages.DATABASE_OBJ ); // generic!
105 105
         }
106 106
     },
107 107
     FILE {
@@ -146,7 +146,7 @@ public ID toID( DataAccessFactory factory, Map<String, ? > params ) {
146 146
         }
147 147
         @Override
148 148
         public ImageDescriptor getIcon() {
149  
-            return CatalogUIPlugin.getImageDescriptor( ISharedImages.FEATURE_FILE_OBJ ); // generic!
  149
+            return CatalogUIPlugin.getDefault().getImageDescriptor( ISharedImages.FEATURE_FILE_OBJ ); // generic!
150 150
         }
151 151
     },
152 152
     WFS {
@@ -172,7 +172,7 @@ public ID toID( DataAccessFactory factory, Map<String, ? > params ) {
172 172
         }
173 173
         @Override
174 174
         public ImageDescriptor getIcon() {
175  
-            return CatalogUIPlugin.getImageDescriptor( ISharedImages.WFS_OBJ ); // generic!
  175
+            return CatalogUIPlugin.getDefault().getImageDescriptor( ISharedImages.WFS_OBJ ); // generic!
176 176
         }
177 177
     },
178 178
     PROPERTY {
@@ -202,7 +202,7 @@ public ID toID( DataAccessFactory factory, Map<String, ? > params ) {
202 202
         }
203 203
         @Override
204 204
         public ImageDescriptor getIcon() {
205  
-            return CatalogUIPlugin.getImageDescriptor( ISharedImages.FEATURE_FILE_OBJ ); // generic!
  205
+            return CatalogUIPlugin.getDefault().getImageDescriptor( ISharedImages.FEATURE_FILE_OBJ ); // generic!
206 206
         }
207 207
     },
208 208
     OTHER {
@@ -258,7 +258,7 @@ public ID toID( DataAccessFactory factory, Map<String, ? > params ) {
258 258
         }
259 259
         @Override
260 260
         public ImageDescriptor getIcon() {
261  
-            return CatalogUIPlugin.getImageDescriptor( ISharedImages.DATASTORE_OBJ ); // generic!
  261
+            return CatalogUIPlugin.getDefault().getImageDescriptor( ISharedImages.DATASTORE_OBJ ); // generic!
262 262
         }
263 263
     };
264 264
 
2  ...et.refractions.udig.catalog.geotools/src/net/refractions/udig/catalog/geotools/process/LocalProcess.java
@@ -48,7 +48,7 @@
48 48
             if (version != null) {
49 49
                 this.keywords = new String[]{version};
50 50
             }
51  
-            icon = CatalogUIPlugin
  51
+            icon = CatalogUIPlugin.getDefault()
52 52
                     .getImageDescriptor(ISharedImages.GRID_OBJ);
53 53
         }
54 54
     }
4  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/internal/ui/CatalogView.java
@@ -199,7 +199,7 @@ public void run() {
199 199
         
200 200
         Messages.initAction(removeAction, "action_remove"); //$NON-NLS-1$
201 201
         removeAction.setEnabled(false);
202  
-        removeAction.setImageDescriptor(CatalogUIPlugin.getImageDescriptor(ImageConstants.REMOVE_CO));
  202
+        removeAction.setImageDescriptor(CatalogUIPlugin.getDefault().getImageDescriptor(ImageConstants.REMOVE_CO));
203 203
         removeAction.setActionDefinitionId("org.eclipse.ui.edit.delete"); //$NON-NLS-1$
204 204
         getViewSite().getActionBars().setGlobalActionHandler(ActionFactory.DELETE.getId(), removeAction);
205 205
         getSite().getKeyBindingService().registerAction(removeAction);
@@ -335,7 +335,7 @@ private void createToolbar() {
335 335
         IWorkbenchWindow window = getSite().getWorkbenchWindow();
336 336
         IAction action = ActionFactory.IMPORT.create(window);
337 337
 
338  
-        action.setImageDescriptor(CatalogUIPlugin
  338
+        action.setImageDescriptor(CatalogUIPlugin.getDefault()
339 339
                 .getImageDescriptor(ImageConstants.PATH_ETOOL + "import_wiz.gif")); //$NON-NLS-1$
340 340
         mgr.add(action);
341 341
 
2  .../net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/internal/ui/ResourceSelectionPage.java
@@ -81,7 +81,7 @@ public ResourceSelectionPage( String pageName ) {
81 81
         setTitle(Messages.ResourceSelectionPage_title); 
82 82
         setMessage(Messages.ResourceSelectionPage_message);
83 83
         setDescription(Messages.ResourceSelectionPage_description);
84  
-        setImageDescriptor(CatalogUIPlugin.getImageDescriptor(ImageConstants.CHOOSE_LAYER_WIZARD));
  84
+        setImageDescriptor(CatalogUIPlugin.getDefault().getImageDescriptor(ImageConstants.CHOOSE_LAYER_WIZARD));
85 85
         schemaSelected = null;
86 86
     }
87 87
 
6  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/internal/ui/ServiceDecorator.java
@@ -90,14 +90,14 @@ public Image decorateImage( Image image, Object element ) {
90 90
         }
91 91
         switch( service.getStatus() ) {
92 92
         case CONNECTED:
93  
-            return overlayCache.applyStatus(image, CatalogUIPlugin
  93
+            return overlayCache.applyStatus(image, CatalogUIPlugin.getDefault()
94 94
                     .getImageDescriptor(ImageConstants.CONNECTED_OVR));
95 95
 
96 96
         case NOTCONNECTED:
97  
-            return overlayCache.applyStatus(image, CatalogUIPlugin.getImageDescriptor(ImageConstants.WAIT_OVR));
  97
+            return overlayCache.applyStatus(image, CatalogUIPlugin.getDefault().getImageDescriptor(ImageConstants.WAIT_OVR));
98 98
 
99 99
         case BROKEN:
100  
-            return overlayCache.applyStatus(image, CatalogUIPlugin.getImageDescriptor(ImageConstants.ERROR_OVR));
  100
+            return overlayCache.applyStatus(image, CatalogUIPlugin.getDefault().getImageDescriptor(ImageConstants.ERROR_OVR));
101 101
 
102 102
         default:
103 103
             return image;
2  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/service/database/UserHostPage.java
@@ -277,7 +277,7 @@ private Text createLabelAndText( Composite parent, String labelText, int textSty
277 277
         ImageRegistry imageRegistry = CatalogUIPlugin.getDefault().getImageRegistry();
278 278
         Image image = imageRegistry.get(REQUIRED_DECORATION);
279 279
         if (image == null) {
280  
-            image = CatalogUIPlugin.getImageDescriptor(ISharedImages.WARNING_OVR).createImage();
  280
+            image = CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.WARNING_OVR).createImage();
281 281
             imageRegistry.put(REQUIRED_DECORATION, image);
282 282
         }
283 283
         decoration.setImage(image);
84  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/ui/CatalogUIPlugin.java
@@ -6,23 +6,19 @@
6 6
 
7 7
 import net.refractions.udig.catalog.CatalogPlugin;
8 8
 import net.refractions.udig.catalog.ICatalog;
9  
-import net.refractions.udig.catalog.ICatalogInfo;
10 9
 import net.refractions.udig.catalog.ID;
11 10
 import net.refractions.udig.catalog.IGeoResource;
12 11
 import net.refractions.udig.catalog.IGeoResourceInfo;
13 12
 import net.refractions.udig.catalog.IResolve;
14 13
 import net.refractions.udig.catalog.IResolveChangeEvent;
  14
+import net.refractions.udig.catalog.IResolveChangeEvent.Type;
15 15
 import net.refractions.udig.catalog.IResolveChangeListener;
16 16
 import net.refractions.udig.catalog.IResolveDelta;
  17
+import net.refractions.udig.catalog.IResolveDelta.Kind;
17 18
 import net.refractions.udig.catalog.IResolveFolder;
18 19
 import net.refractions.udig.catalog.IService;
19 20
 import net.refractions.udig.catalog.IServiceInfo;
20  
-import net.refractions.udig.catalog.IResolveChangeEvent.Type;
21  
-import net.refractions.udig.catalog.IResolveDelta.Kind;
22  
-import net.refractions.udig.catalog.ui.internal.Messages;
23  
-import net.refractions.udig.catalog.util.HandleListener;
24 21
 import net.refractions.udig.core.AbstractUdigUIPlugin;
25  
-import net.refractions.udig.core.internal.CorePlugin;
26 22
 
27 23
 import org.eclipse.core.runtime.IPath;
28 24
 import org.eclipse.core.runtime.IProgressMonitor;
@@ -36,13 +32,9 @@
36 32
 import org.eclipse.swt.graphics.Image;
37 33
 import org.eclipse.swt.graphics.ImageData;
38 34
 import org.eclipse.ui.PlatformUI;
39  
-import org.eclipse.ui.plugin.AbstractUIPlugin;
40 35
 import org.geotools.data.DataStore;
41 36
 import org.geotools.data.FeatureSource;
42 37
 import org.osgi.framework.BundleContext;
43  
-//import org.picocontainer.Disposable;
44  
-//import org.picocontainer.MutablePicoContainer;
45  
-//import org.picocontainer.Startable;
46 38
 
47 39
 /**
48 40
  * Lifecycle & Resource management for RegistryUI.
@@ -53,7 +45,7 @@
53 45
  * 
54 46
  * <pre><code>
55 47
  * ImageRegistry images = CatalogUIPlugin.getDefault().getImageRegistry();
56  
- * ImageDescriptor image = CatalogUIPlugin.getImageDescriptor(ISharedImages.IMG_DATASTORE_OBJ);
  48
+ * ImageDescriptor image = CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.IMG_DATASTORE_OBJ);
57 49
  * </code></pre>
58 50
  * 
59 51
  * </p>
@@ -71,6 +63,7 @@
71 63
  */
72 64
 public class CatalogUIPlugin extends AbstractUdigUIPlugin {
73 65
 
  66
+	private static CatalogUIPlugin INSTANCE; 
74 67
     /**
75 68
      * The id of the plug-in
76 69
      */
@@ -86,11 +79,6 @@
86 79
 
87 80
     private static final String LABELS_PREFERENCE_STORE = "CATALOG_LABELS_PREFERENCE_STORAGE"; //$NON-NLS-1$
88 81
 
89  
-    private boolean loaded = false;
90  
-
91  
-    // The shared instance.
92  
-    private static CatalogUIPlugin plugin;
93  
-
94 82
     /** Managed Images instance */
95 83
     //private Images images = new Images();
96 84
     //private volatile static MutablePicoContainer pluginContainer;
@@ -100,7 +88,7 @@
100 88
      */
101 89
     public CatalogUIPlugin() {
102 90
         super();
103  
-        plugin = this;
  91
+        INSTANCE = this;
104 92
     }
105 93
 
106 94
     /**
@@ -152,35 +140,6 @@ private void updateCache( IResolveDelta delta, IPreferenceStore p ) {
152 140
     }
153 141
 
154 142
     /**
155  
-     * Cleanup after shared images.
156  
-     * 
157  
-     * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
158  
-     * @param context
159  
-     * @throws Exception
160  
-     */
161  
-    public void stop( BundleContext context ) throws Exception {
162  
-        super.stop(context);
163  
-    }
164  
-
165  
-    /**
166  
-     * Returns the shared instance.
167  
-     * 
168  
-     * @return CatalogUIPlugin singleton
169  
-     */
170  
-    public static CatalogUIPlugin getDefault() {
171  
-        if (plugin == null || !plugin.loaded) {
172  
-            synchronized (CatalogUIPlugin.class) {
173  
-
174  
-                if (plugin == null) {
175  
-                    plugin = new CatalogUIPlugin();
176  
-                }
177  
-
178  
-            }
179  
-        }
180  
-        return plugin;
181  
-    }
182  
-    
183  
-    /**
184 143
      * Logs the Throwable in the plugin's log.
185 144
      * <p>
186 145
      * This will be a user visable ERROR iff:
@@ -265,22 +224,22 @@ public static Image image( IResolve resolve ) {
265 224
             return null;
266 225
         }
267 226
         if (resolve instanceof IResolveFolder ) {
268  
-        	return CatalogUIPlugin.getImage(ISharedImages.FOLDER_OBJ);
  227
+        	return CatalogUIPlugin.getDefault().getImage(ISharedImages.FOLDER_OBJ);
269 228
         }else if (resolve instanceof IGeoResource) {
270 229
             IGeoResource resource = (IGeoResource) resolve;
271 230
             boolean isFeature = resource.canResolve(FeatureSource.class);
272 231
             String iconId = iconInternalResource( resource.getID(), isFeature );
273  
-            return CatalogUIPlugin.getImage( iconId );
  232
+            return CatalogUIPlugin.getDefault().getImage( iconId );
274 233
         } else if (resolve instanceof IService) {
275 234
             IService service = (IService) resolve;
276 235
             boolean isFeature = service.canResolve(DataStore.class);
277 236
             
278 237
             String iconId = iconInternalService( service.getID(), isFeature );
279  
-            return CatalogUIPlugin.getImage( iconId );
  238
+            return CatalogUIPlugin.getDefault().getImage( iconId );
280 239
         } else if (resolve instanceof ICatalog) {
281  
-            return CatalogUIPlugin.getImage(ISharedImages.CATALOG_OBJ);
  240
+            return CatalogUIPlugin.getDefault().getImage(ISharedImages.CATALOG_OBJ);
282 241
         }
283  
-        return CatalogUIPlugin.getImage(ISharedImages.RESOURCE_OBJ);
  242
+        return CatalogUIPlugin.getDefault().getImage(ISharedImages.RESOURCE_OBJ);
284 243
     }
285 244
 
286 245
     public static ImageDescriptor icon( IResolve resolve ) throws IOException {
@@ -308,7 +267,6 @@ public static ImageDescriptor icon( final IResolve resolve, IProgressMonitor mon
308 267
             ImageDescriptor icon = icon((IGeoResource) resolve, monitor);
309 268
             return icon != null ? icon : new ImageDescriptor(){
310 269
 
311  
-                @Override
312 270
                 public ImageData getImageData() {
313 271
                     return image(resolve).getImageData();
314 272
                 }
@@ -321,19 +279,19 @@ public ImageData getImageData() {
321 279
             if( icon != null ){
322 280
             	return icon;
323 281
             }
324  
-            return CatalogUIPlugin.getImageDescriptor(ISharedImages.SERVER_OBJ);
  282
+            return CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.SERVER_OBJ);
325 283
         }
326 284
 
327 285
         if (resolve instanceof IResolveFolder) {
328 286
             ImageDescriptor icon = icon((IResolveFolder) resolve, monitor);
329  
-            return icon != null ? icon : CatalogUIPlugin.getImageDescriptor(ISharedImages.FOLDER_OBJ);
  287
+            return icon != null ? icon : CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.FOLDER_OBJ);
330 288
         }
331 289
 
332 290
         if (resolve instanceof ICatalog)
333  
-            return CatalogUIPlugin.getImageDescriptor(
  291
+            return CatalogUIPlugin.getDefault().getImageDescriptor(
334 292
                     ISharedImages.CATALOG_OBJ);
335 293
 
336  
-        return CatalogUIPlugin.getImageDescriptor(
  294
+        return CatalogUIPlugin.getDefault().getImageDescriptor(
337 295
                 ISharedImages.RESOURCE_OBJ);
338 296
     }
339 297
 
@@ -367,7 +325,7 @@ private static ImageDescriptor icon( IGeoResource resource, IProgressMonitor mon
367 325
         // check for default icon last
368 326
         boolean isFeature = resource.canResolve(FeatureSource.class);
369 327
         String iconId = iconInternalResource( resource.getID(), isFeature );
370  
-        return CatalogUIPlugin.getImageDescriptor( iconId );
  328
+        return CatalogUIPlugin.getDefault().getImageDescriptor( iconId );
371 329
     }
372 330
     
373 331
     /** Lookup default resource icon id */
@@ -409,7 +367,7 @@ private static ImageDescriptor icon( IResolveFolder folder, IProgressMonitor mon
409 367
     		if( icon != null ) return icon;
410 368
     	}
411 369
         // check for default icon last
412  
-        return CatalogUIPlugin.getImageDescriptor( ISharedImages.FOLDER_OBJ );
  370
+        return CatalogUIPlugin.getDefault().getImageDescriptor( ISharedImages.FOLDER_OBJ );
413 371
     }
414 372
 
415 373
     
@@ -446,7 +404,7 @@ private static ImageDescriptor icon( IService service, IProgressMonitor monitor
446 404
         // check for default icon last
447 405
         boolean isFeature = service.canResolve( DataStore.class );
448 406
         String iconId = iconInternalService( service.getID(), isFeature );
449  
-        return CatalogUIPlugin.getImageDescriptor( iconId );
  407
+        return CatalogUIPlugin.getDefault().getImageDescriptor( iconId );
450 408
     }
451 409
 
452 410
 	private static String iconInternalService(ID id, boolean isFeature) {
@@ -479,9 +437,15 @@ private static String iconInternalService(ID id, boolean isFeature) {
479 437
         }
480 438
 	}
481 439
 
482  
-	@Override
  440
+	/* (non-Javadoc)
  441
+	 * @see net.refractions.udig.core.AbstractUdigUIPlugin#getIconPath()
  442
+	 */
483 443
 	public IPath getIconPath() {
484 444
 		return new Path(ICONS_PATH);
485 445
 	}
486 446
    
  447
+	public static CatalogUIPlugin getDefault() {
  448
+		return INSTANCE;
  449
+	}
  450
+	
487 451
 }
2  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/ui/export/CatalogExport.java
@@ -165,7 +165,7 @@ protected Workflow createWorkflow() {
165 165
     protected Map<Class<? extends State>, WorkflowWizardPageProvider> createPageMapping() {
166 166
         HashMap<Class<? extends State>, WorkflowWizardPageProvider> map = new HashMap<Class<? extends State>, WorkflowWizardPageProvider>();
167 167
         String title = Messages.LayerSelectionPage_title;
168  
-        ImageDescriptor banner = CatalogUIPlugin.getImageDescriptor(ImageConstants.PATH_WIZBAN+"exportshapefile_wiz.gif"); //$NON-NLS-1$
  168
+        ImageDescriptor banner = CatalogUIPlugin.getDefault().getImageDescriptor(ImageConstants.PATH_WIZBAN+"exportshapefile_wiz.gif"); //$NON-NLS-1$
169 169
         ExportResourceSelectionPage page = new ExportResourceSelectionPage("Select Layers", title, banner ); 
170 170
         map.put(ExportResourceSelectionState.class, new BasicWorkflowWizardPageFactory(page));
171 171
 
4  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/ui/internal/Messages.java
@@ -283,12 +283,12 @@ public static void initAction( IAction a, String id ) {
283 283
             }
284 284
             ImageDescriptor image;
285 285
 
286  
-            image = CatalogUIPlugin.getImageDescriptor(ePath);
  286
+            image = CatalogUIPlugin.getDefault().getImageDescriptor(ePath);
287 287
             if (id != null) {
288 288
                 CatalogUIPlugin.trace(id + ": '" + ePath + "' found " + id); //$NON-NLS-1$ //$NON-NLS-2$
289 289
                 a.setImageDescriptor(image);
290 290
             }
291  
-            image = CatalogUIPlugin.getImageDescriptor(dPath);
  291
+            image = CatalogUIPlugin.getDefault().getImageDescriptor(dPath);
292 292
             if (id != null) {
293 293
                 CatalogUIPlugin.trace(id + ": '" + dPath + "' found " + id); //$NON-NLS-1$ //$NON-NLS-2$
294 294
                 a.setDisabledImageDescriptor(image);
2  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/ui/operation/ReshapeOperation.java
@@ -268,7 +268,7 @@ protected Control createDialogArea(Composite parent) {
268 268
             text.setLayoutData(gridData);
269 269
             
270 270
             errors = new ControlDecoration(text, SWT.LEFT|SWT.TOP);
271  
-            ImageDescriptor desc = CatalogUIPlugin.getImageDescriptor(ISharedImages.ERROR_OVR);
  271
+            ImageDescriptor desc = CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.ERROR_OVR);
272 272
             ImageRegistry imageRegistry = CatalogUIPlugin.getDefault().getImageRegistry();
273 273
             Image image = imageRegistry.get(ISharedImages.ERROR_OVR);
274 274
             if( image==null ){
2  plugins/net.refractions.udig.catalog.ui/src/net/refractions/udig/catalog/ui/search/SearchView.java
@@ -297,7 +297,7 @@ public void menuAboutToShow( IMenuManager mgr ) {
297 297
                 contextMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
298 298
                 contextMenu.add(new Separator());
299 299
 
300  
-                refreshAction.setImageDescriptor(CatalogUIPlugin.getImageDescriptor(ImageConstants.REFRESH_CO));
  300
+                refreshAction.setImageDescriptor(CatalogUIPlugin.getDefault().getImageDescriptor(ImageConstants.REFRESH_CO));
301 301
 
302 302
                 // contextMenu.add(refreshAction);
303 303
                 IWorkbenchWindow window = getSite().getWorkbenchWindow();
2  plugins/net.refractions.udig.catalog.wms/src/net/refractions/udig/catalog/internal/wms/WMSFolder.java
@@ -167,7 +167,7 @@ public ImageDescriptor getIcon( IProgressMonitor monitor ) {
167 167
             if (icon == null) {
168 168
                 icon = WMSGeoResourceImpl.fetchIcon(monitor, layer, service);
169 169
                 if (icon == null) {
170  
-                    icon = CatalogUIPlugin.getImageDescriptor(
  170
+                    icon = CatalogUIPlugin.getDefault().getImageDescriptor(
171 171
                             ISharedImages.GRID_OBJ);
172 172
                 }
173 173
             }
18  ...s/net.refractions.udig.catalog.wms/src/net/refractions/udig/catalog/internal/wms/WMSGeoResourceImpl.java
@@ -194,7 +194,7 @@ public ImageDescriptor getIcon( IProgressMonitor monitor ) throws IOException {
194 194
             if (icon == null) {
195 195
                 icon = fetchIcon(monitor, layer, service(monitor));
196 196
                 if (icon == null) {
197  
-                    icon = CatalogUIPlugin.getImageDescriptor(
  197
+                    icon = CatalogUIPlugin.getDefault().getImageDescriptor(
198 198
                             ISharedImages.GRID_OBJ);
199 199
                 }
200 200
             }
@@ -220,7 +220,7 @@ protected static ImageDescriptor fetchIcon( IProgressMonitor monitor, Layer laye
220 220
 
221 221
             if (layer.getChildren() != null && layer.getChildren().length != 0) {
222 222
                 // Do not request "parent" layer graphics - this kills Mapserver
223  
-                return CatalogUIPlugin.getImageDescriptor(
  223
+                return CatalogUIPlugin.getDefault().getImageDescriptor(
224 224
                         ISharedImages.GRID_OBJ);
225 225
             }
226 226
 
@@ -272,7 +272,7 @@ public ImageData getImageData() {
272 272
                 int sh = 0;
273 273
                 ImageData contents = image.getImageData();
274 274
                 if (contents == null) {
275  
-                    return CatalogUIPlugin.getImageDescriptor(
  275
+                    return CatalogUIPlugin.getDefault().getImageDescriptor(
276 276
                             ISharedImages.GRID_MISSING);
277 277
                 }
278 278
                 if (contents.maskData != null) {
@@ -379,7 +379,7 @@ public ImageData getImageData() {
379 379
             }
380 380
         } catch (IOException t) {
381 381
             WmsPlugin.trace("Could not get icon", t); //$NON-NLS-1$
382  
-            return CatalogUIPlugin.getImageDescriptor(
  382
+            return CatalogUIPlugin.getDefault().getImageDescriptor(
383 383
                     ISharedImages.GRID_MISSING);
384 384
         }
385 385
     }
@@ -390,7 +390,7 @@ private static ImageDescriptor requestImage( IProgressMonitor monitor, Layer lay
390 390
         WebMapServer wms = service.getWMS(monitor);
391 391
 
392 392
         if (wms.getCapabilities().getRequest().getGetLegendGraphic() == null) {
393  
-            return CatalogUIPlugin.getImageDescriptor(
  393
+            return CatalogUIPlugin.getDefault().getImageDescriptor(
394 394
                     ISharedImages.GRID_OBJ);
395 395
         }
396 396
 
@@ -433,16 +433,16 @@ public int compare( String format1, String format2 ) {
433 433
 
434 434
             if (imageDescriptor == null) {
435 435
                 // cannot understand any of the provided formats
436  
-                return CatalogUIPlugin.getImageDescriptor(
  436
+                return CatalogUIPlugin.getDefault().getImageDescriptor(
437 437
                         ISharedImages.GRID_OBJ);
438 438
             }
439 439
         } catch (UnsupportedOperationException notAvailable) {
440 440
             WmsPlugin.trace("Icon is not available", notAvailable); //$NON-NLS-1$                
441  
-            return CatalogUIPlugin.getImageDescriptor(
  441
+            return CatalogUIPlugin.getDefault().getImageDescriptor(
442 442
                     ISharedImages.GRID_OBJ);
443 443
         } catch (ServiceException e) {
444 444
             WmsPlugin.trace("Icon is not available", e); //$NON-NLS-1$                
445  
-            return CatalogUIPlugin.getImageDescriptor(
  445
+            return CatalogUIPlugin.getDefault().getImageDescriptor(
446 446
                     ISharedImages.GRID_OBJ);
447 447
         }
448 448
 
@@ -544,7 +544,7 @@ public Throwable getMessage() {
544 544
             }
545 545
             description = caps.getService().get_abstract();
546 546
 
547  
-            super.icon = CatalogUIPlugin.getImageDescriptor(
  547
+            super.icon = CatalogUIPlugin.getDefault().getImageDescriptor(
548 548
                     ISharedImages.GRID_OBJ);
549 549
 
550 550
             // icon = fetchIcon( monitor );
2  ...s/net.refractions.udig.catalog.wms/src/net/refractions/udig/catalog/internal/wms/WMSGeoResourceInfo.java
@@ -111,7 +111,7 @@
111 111
         } else {
112 112
             title = caps.getService().getTitle();
113 113
         }
114  
-        super.icon = CatalogUIPlugin.getImageDescriptor(
  114
+        super.icon = CatalogUIPlugin.getDefault().getImageDescriptor(
115 115
                 ISharedImages.GRID_OBJ);
116 116
     }
117 117
     public String getName() {
2  ...net.refractions.udig.catalog.wms/src/net/refractions/udig/catalog/internal/wmsc/WMSCGeoResourceInfo.java
@@ -64,7 +64,7 @@ public WMSCGeoResourceInfo( WMSCGeoResourceImpl geoResourceImpl, IProgressMonito
64 64
         keywordsFromWMSC.add(this.name);
65 65
         this.keywords = keywordsFromWMSC.toArray(new String[keywordsFromWMSC.size()]);
66 66
 
67  
-        super.icon = CatalogUIPlugin.getImageDescriptor(ISharedImages.GRID_OBJ);
  67
+        super.icon = CatalogUIPlugin.getDefault().getImageDescriptor(ISharedImages.GRID_OBJ);
68 68
 
69 69
     }
70 70
     
41  plugins/net.refractions.udig.core/src/net/refractions/udig/core/AbstractUdigUIPlugin.java
@@ -4,12 +4,10 @@
4 4
 
5 5
 import org.eclipse.core.runtime.FileLocator;
6 6
 import org.eclipse.core.runtime.IPath;
7  
-import org.eclipse.core.runtime.Path;
8 7
 import org.eclipse.jface.resource.ImageDescriptor;
9 8
 import org.eclipse.jface.resource.ImageRegistry;
10 9
 import org.eclipse.swt.graphics.Image;
11 10
 import org.eclipse.ui.plugin.AbstractUIPlugin;
12  
-import org.osgi.framework.BundleContext;
13 11
 
14 12
 /**
15 13
  * Dynamic ImageRegistry 
@@ -17,54 +15,45 @@
17 15
  */
18 16
 public abstract class AbstractUdigUIPlugin extends AbstractUIPlugin {
19 17
 
20  
-	/** The shared instance **/
21  
-  	private static AbstractUdigUIPlugin plugin;
22  
-  	
23 18
     /**
24 19
      * The constructor.
25 20
      */
26 21
   	public AbstractUdigUIPlugin() {
27 22
   	    super();
28  
-  	    plugin = this; 
29  
-  	}
30  
-  	
31  
-  	@Override
32  
-  	public void start(BundleContext context) throws Exception {
33  
-  		super.start(context);
34 23
   	}
35 24
   	
36  
-  	@Override
37  
-  	public void stop(BundleContext context) throws Exception {
38  
-  		super.stop(context);
39  
-  	}
40  
-
41  
-  	public static ImageDescriptor getImageDescriptor(String symbolicName) {
42  
-  		ImageRegistry imageRegistry = plugin.getImageRegistry();
  25
+  	public ImageDescriptor getImageDescriptor(String symbolicName) {
  26
+  		
  27
+  		ImageRegistry imageRegistry = getImageRegistry();
43 28
   		ImageDescriptor imageDescriptor = imageRegistry.getDescriptor(symbolicName);
44 29
   		if (imageDescriptor == null) {
45 30
   			// create it from Path and add it to registry
46  
-  			registerImage(plugin.getIconPath(), symbolicName);
  31
+  			registerImage(getIconPath(), symbolicName);
47 32
   		}
48 33
   		return imageRegistry.getDescriptor(symbolicName);
49 34
   	}
50 35
 
51  
-  	public static Image getImage(String symbolicName) {
52  
-  		ImageRegistry imageRegistry = plugin.getImageRegistry();
  36
+  	public Image getImage(String symbolicName) {
  37
+  		ImageRegistry imageRegistry = getImageRegistry();
53 38
   		Image image = imageRegistry.get(symbolicName);
54 39
   		if (image == null) {
55 40
   			// create it from Path and add it to registry
56  
-  			registerImage(plugin.getIconPath(), symbolicName);
  41
+  			registerImage(getIconPath(), symbolicName);
57 42
   		}
58 43
   		return imageRegistry.get(symbolicName);
59 44
   	}
60 45
   	
61  
-  	private static void registerImage(IPath iconPath, String symbolicName) {
62  
-  		URL imageUrl = FileLocator.find(plugin.getBundle(), iconPath.append(symbolicName), null);
  46
+  	private void registerImage(IPath iconPath, String symbolicName) {
  47
+  		URL imageUrl = FileLocator.find(getBundle(), iconPath.append(symbolicName), null);
63 48
         ImageDescriptor image = ImageDescriptor.createFromURL(imageUrl);
64  
-        ImageRegistry imageRegistry = plugin.getImageRegistry();
  49
+        ImageRegistry imageRegistry = getImageRegistry();
65 50
         
66 51
         imageRegistry.put(symbolicName, image);
67 52
 	}
68  
-
  53
+  	
  54
+  	/**
  55
+     * Returns the shared instance.
  56
+     * @return {@link AbstractUdigUIPlugin} singleton
  57
+     */
69 58
 	public abstract IPath getIconPath();
70 59
 }
22  plugins/net.refractions.udig.issues.test/src/net/refractions/udig/issues/test/IssuesViewTest.java
@@ -37,6 +37,8 @@
37 37
 import net.refractions.udig.project.ui.internal.MapEditor;
38 38
 import net.refractions.udig.ui.tests.support.UDIGTestUtil;
39 39
 
  40
+import opendap.servlet.GetDirHandler;
  41
+
40 42
 import org.eclipse.core.runtime.NullProgressMonitor;
41 43
 import org.eclipse.jface.preference.IPreferenceStore;
42 44
 import org.eclipse.jface.viewers.StructuredSelection;
@@ -113,15 +115,15 @@ public void run() {
113 115
                 assertNotNull(p.getColumnImage(list.get(4), IssuesView.PRIORITY_COLUMN));
114 116
 
115 117
                 assertEquals(p.getColumnImage(list.get(0), IssuesView.PRIORITY_COLUMN), IssuesActivator
116  
-                		.getImage(ImageConstants.PRIORITY_CRITICAL));
  118
+                		.getDefault().getImage(ImageConstants.PRIORITY_CRITICAL));
117 119
                 assertEquals(p.getColumnImage(list.get(1), IssuesView.PRIORITY_COLUMN), IssuesActivator
118  
-                		.getImage(ImageConstants.PRIORITY_HIGH));
  120
+                		.getDefault().getImage(ImageConstants.PRIORITY_HIGH));
119 121
                 assertEquals(p.getColumnImage(list.get(2), IssuesView.PRIORITY_COLUMN), IssuesActivator
120  
-                		.getImage(ImageConstants.PRIORITY_LOW));
  122
+                		.getDefault().getImage(ImageConstants.PRIORITY_LOW));
121 123
                 assertEquals(p.getColumnImage(list.get(3), IssuesView.PRIORITY_COLUMN), IssuesActivator
122  
-                		.getImage(ImageConstants.PRIORITY_TRIVIAL));
  124
+                		.getDefault().getImage(ImageConstants.PRIORITY_TRIVIAL));
123 125
                 assertEquals(p.getColumnImage(list.get(4), IssuesView.PRIORITY_COLUMN), IssuesActivator
124  
-                		.getImage(ImageConstants.PRIORITY_WARNING));
  126
+                		.getDefault().getImage(ImageConstants.PRIORITY_WARNING));
125 127
 
126 128
                 // resolution image
127 129
                 assertNotNull(p.getColumnImage(list.get(0), IssuesView.RESOLUTION_COLUMN));
@@ -131,15 +133,15 @@ public void run() {
131 133
                 assertNotNull(p.getColumnImage(list.get(4), IssuesView.RESOLUTION_COLUMN));
132 134
 
133 135
                 assertEquals(p.getColumnImage(list.get(0), IssuesView.RESOLUTION_COLUMN), IssuesActivator
134  
-                		.getImage(ImageConstants.RESOLUTION_UNRESOLVED));
  136
+                		.getDefault().getImage(ImageConstants.RESOLUTION_UNRESOLVED));
135 137
                 assertEquals(p.getColumnImage(list.get(1), IssuesView.RESOLUTION_COLUMN), IssuesActivator
136  
-                		.getImage(ImageConstants.RESOLUTION_VIEWED));
  138
+                		.getDefault().getImage(ImageConstants.RESOLUTION_VIEWED));
137 139
                 assertEquals(p.getColumnImage(list.get(2), IssuesView.RESOLUTION_COLUMN), IssuesActivator
138  
-                		.getImage(ImageConstants.RESOLUTION_RESOLVED));
  140
+                		.getDefault().getImage(ImageConstants.RESOLUTION_RESOLVED));
139 141
                 assertEquals(p.getColumnImage(list.get(3), IssuesView.RESOLUTION_COLUMN), IssuesActivator
140  
-                		.getImage(ImageConstants.RESOLUTION_UNKNOWN));
  142
+                		.getDefault().getImage(ImageConstants.RESOLUTION_UNKNOWN));
141 143
                 assertEquals(p.getColumnImage(list.get(4), IssuesView.RESOLUTION_COLUMN), IssuesActivator
142  
-                		.getImage(ImageConstants.RESOLUTION_UNRESOLVED));
  144
+                		.getDefault().getImage(ImageConstants.RESOLUTION_UNRESOLVED));
143 145
 
144 146
                 // name image
145 147
                 assertNull(p.getColumnImage(list.get(0), IssuesView.OBJECT_COLUMN));
34  plugins/net.refractions.udig.issues/src/net/refractions/udig/issues/internal/IssuesActivator.java
@@ -13,7 +13,6 @@
13 13
 import org.eclipse.ui.IWorkbench;
14 14
 import org.eclipse.ui.IWorkbenchListener;
15 15
 import org.eclipse.ui.PlatformUI;
16  
-import org.eclipse.ui.plugin.AbstractUIPlugin;
17 16
 import org.osgi.framework.BundleContext;
18 17
 
19 18
 /**
@@ -26,14 +25,13 @@
26 25
 
27 26
     static final String ICONS_PATH = "icons/"; //$NON-NLS-1$
28 27
 
29  
-	// The shared instance
30  
-	private static IssuesActivator plugin;
31  
-	
  28
+	private static IssuesActivator INSTANCE;
  29
+
32 30
 	/**
33 31
 	 * The constructor
34 32
 	 */
35 33
 	public IssuesActivator() {
36  
-		plugin = this;
  34
+		super();
37 35
 	}
38 36
 
39 37
 	/*
@@ -62,24 +60,6 @@ public boolean preShutdown( IWorkbench workbench, boolean forced ) {
62 60
             
63 61
         });
64 62
 	}
65  
-
66  
-	/*
67  
-	 * (non-Javadoc)
68  
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
69  
-	 */
70  
-	public void stop(BundleContext context) throws Exception {
71  
-		plugin = null;
72  
-		super.stop(context);
73  
-	}
74  
-
75  
-	/**
76  
-	 * Returns the shared instance
77  
-	 *
78  
-	 * @return the shared instance
79  
-	 */
80  
-	public static IssuesActivator getDefault() {
81  
-		return plugin;
82  
-	}
83 63
     
84 64
     /**
85 65
      * Writes an info log in the plugin's log.
@@ -94,7 +74,13 @@ public static void log( String message2, Throwable e ) {
94 74
         getDefault().getLog().log(new Status(IStatus.INFO, PLUGIN_ID, IStatus.OK, message, e));
95 75
     }
96 76
 
97  
-	@Override
  77
+	public static IssuesActivator getDefault() {
  78
+		return INSTANCE;
  79
+	}
  80
+
  81
+	/* (non-Javadoc)
  82
+	 * @see net.refractions.udig.core.AbstractUdigUIPlugin#getIconPath()
  83
+	 */
98 84
 	public IPath getIconPath() {
99 85
 		return new Path(ICONS_PATH);
100 86
 	}
18  plugins/net.refractions.udig.issues/src/net/refractions/udig/issues/internal/view/IssuesLabelProvider.java
@@ -32,15 +32,15 @@ public Image getColumnImage(Object element, int columnIndex) {
32 32
 			case IssuesView.PRIORITY_COLUMN:
33 33
 				switch (issue.getPriority()) {
34 34
 				case CRITICAL:
35  
-					return IssuesActivator.getImage(ImageConstants.PRIORITY_CRITICAL);
  35
+					return IssuesActivator.getDefault().getImage(ImageConstants.PRIORITY_CRITICAL);
36 36
 				case HIGH:
37  
-					return IssuesActivator.getImage(ImageConstants.PRIORITY_HIGH);
  37
+					return IssuesActivator.getDefault().getImage(ImageConstants.PRIORITY_HIGH);
38 38
 				case WARNING:
39  
-					return IssuesActivator.getImage(ImageConstants.PRIORITY_WARNING);
  39
+					return IssuesActivator.getDefault().getImage(ImageConstants.PRIORITY_WARNING);
40 40
 				case LOW:
41  
-					return IssuesActivator.getImage(ImageConstants.PRIORITY_LOW);
  41
+					return IssuesActivator.getDefault().getImage(ImageConstants.PRIORITY_LOW);
42 42
 				case TRIVIAL:
43  
-					return IssuesActivator.getImage(ImageConstants.PRIORITY_TRIVIAL);
  43
+					return IssuesActivator.getDefault().getImage(ImageConstants.PRIORITY_TRIVIAL);
44 44
 
45 45
 				default:
46 46
 					break;
@@ -48,13 +48,13 @@ public Image getColumnImage(Object element, int columnIndex) {
48 48
 			case IssuesView.RESOLUTION_COLUMN:
49 49
 				switch (issue.getResolution()) {
50 50
 				case RESOLVED:
51  
-					return IssuesActivator.getImage(ImageConstants.RESOLUTION_RESOLVED);
  51
+					return IssuesActivator.getDefault().getImage(ImageConstants.RESOLUTION_RESOLVED);
52 52
 				case UNKNOWN:
53  
-					return IssuesActivator.getImage(ImageConstants.RESOLUTION_UNKNOWN);
  53
+					return IssuesActivator.getDefault().getImage(ImageConstants.RESOLUTION_UNKNOWN);
54 54
 				case UNRESOLVED:
55  
-					return IssuesActivator.getImage(ImageConstants.RESOLUTION_UNRESOLVED);
  55
+					return IssuesActivator.getDefault().getImage(ImageConstants.RESOLUTION_UNRESOLVED);
56 56
 				case IN_PROGRESS:
57  
-					return IssuesActivator.getImage(ImageConstants.RESOLUTION_VIEWED);
  57
+					return IssuesActivator.getDefault().getImage(ImageConstants.RESOLUTION_VIEWED);
58 58
 
59 59
 				default:
60 60
 					break;
6  plugins/net.refractions.udig.issues/src/net/refractions/udig/issues/internal/view/IssuesView.java
@@ -375,7 +375,7 @@ public void menuAboutToShow(IMenuManager mgr) {