diff options
author | afinkbein | 2009-04-28 18:58:11 +0000 |
---|---|---|
committer | afinkbein | 2009-04-28 18:58:11 +0000 |
commit | d8769f392ddd78ed55672853cdb22c5a1243aabc (patch) | |
tree | 92bdf9504ea057647b79dcaa65a0a3c4964cc5e0 | |
parent | 1ec1ff4d7dec9f3cbcb80dcb6d3b284e7d195f12 (diff) | |
download | org.eclipse.osee-d8769f392ddd78ed55672853cdb22c5a1243aabc.tar.gz org.eclipse.osee-d8769f392ddd78ed55672853cdb22c5a1243aabc.tar.xz org.eclipse.osee-d8769f392ddd78ed55672853cdb22c5a1243aabc.zip |
potential fix for ResourcePlugin workspace issue at startup time. Needs to be cleaned up still.
9 files changed, 161 insertions, 2 deletions
diff --git a/org.eclipse.osee.framework.ui.plugin/META-INF/MANIFEST.MF b/org.eclipse.osee.framework.ui.plugin/META-INF/MANIFEST.MF index 02e6e6059d2..d24c2b3342b 100644 --- a/org.eclipse.osee.framework.ui.plugin/META-INF/MANIFEST.MF +++ b/org.eclipse.osee.framework.ui.plugin/META-INF/MANIFEST.MF @@ -24,7 +24,8 @@ Bundle-ActivationPolicy: lazy Export-Package: org.eclipse.osee.framework.ui.plugin,
org.eclipse.osee.framework.ui.plugin.io,
org.eclipse.osee.framework.ui.plugin.util,
- org.eclipse.osee.framework.ui.plugin.views.property
+ org.eclipse.osee.framework.ui.plugin.views.property,
+ org.eclipse.osee.framework.ui.plugin.workspace
Import-Package: org.eclipse.jdt.core,
org.eclipse.jdt.ui,
org.eclipse.osee.framework.core.client,
diff --git a/org.eclipse.osee.framework.ui.plugin/build.properties b/org.eclipse.osee.framework.ui.plugin/build.properties index 556c6f5f246..c6e51a81c97 100644 --- a/org.eclipse.osee.framework.ui.plugin/build.properties +++ b/org.eclipse.osee.framework.ui.plugin/build.properties @@ -1,7 +1,8 @@ bin.includes = META-INF/,\ images/,\ .,\ - schema/ + schema/,\ + plugin.xml jars.compile.order = . source.. = src/ output.. = bin/ diff --git a/org.eclipse.osee.framework.ui.plugin/plugin.xml b/org.eclipse.osee.framework.ui.plugin/plugin.xml new file mode 100644 index 00000000000..b5beabc4856 --- /dev/null +++ b/org.eclipse.osee.framework.ui.plugin/plugin.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.ui.startup">
+ <startup
+ class="org.eclipse.osee.framework.ui.plugin.workspace.EarlyStartup">
+ </startup>
+ </extension>
+
+</plugin>
diff --git a/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/OseePluginUiActivator.java b/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/OseePluginUiActivator.java index 4cff59d8592..bec0b6bcc00 100644 --- a/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/OseePluginUiActivator.java +++ b/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/OseePluginUiActivator.java @@ -33,6 +33,8 @@ public class OseePluginUiActivator extends OseeUiActivator { // The shared instance private static OseePluginUiActivator plugin; + private BundleContext context; + /** * The constructor */ @@ -46,6 +48,7 @@ public class OseePluginUiActivator extends OseeUiActivator { */ public void start(BundleContext context) throws Exception { super.start(context); + this.context = context; OseeLog.registerLoggerListener(new EclipseErrorLogLogger()); if (PlatformUI.isWorkbenchRunning()) { @@ -92,6 +95,7 @@ public class OseePluginUiActivator extends OseeUiActivator { */ public void stop(BundleContext context) throws Exception { plugin = null; + context = null; super.stop(context); } @@ -103,4 +107,11 @@ public class OseePluginUiActivator extends OseeUiActivator { public static OseePluginUiActivator getInstance() { return plugin; } + + /** + * @return + */ + public BundleContext getContext() { + return context; + } }
\ No newline at end of file diff --git a/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/EarlyStartup.java b/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/EarlyStartup.java new file mode 100644 index 00000000000..bb2129a67ad --- /dev/null +++ b/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/EarlyStartup.java @@ -0,0 +1,33 @@ +/* + * Created on Apr 28, 2009 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.framework.ui.plugin.workspace; + +import java.util.Hashtable; +import org.eclipse.osee.framework.ui.plugin.OseePluginUiActivator; +import org.eclipse.osee.framework.ui.plugin.workspace.internal.SafeWorkspaceAccessImpl; +import org.eclipse.ui.IStartup; +import org.osgi.framework.BundleContext; + +/** + * @author b1528444 + * + */ +public class EarlyStartup implements IStartup { + + /* (non-Javadoc) + * @see org.eclipse.ui.IStartup#earlyStartup() + */ + @Override + public void earlyStartup() { + registerWorkspaceAccessService(); + } + + private void registerWorkspaceAccessService(){ + BundleContext context = OseePluginUiActivator.getInstance().getContext(); + context.registerService(SafeWorkspaceAccess.class.getName(), new SafeWorkspaceAccessImpl(), new Hashtable()); + } + +} diff --git a/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/SafeWorkspaceAccess.java b/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/SafeWorkspaceAccess.java new file mode 100644 index 00000000000..3669e8a5c58 --- /dev/null +++ b/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/SafeWorkspaceAccess.java @@ -0,0 +1,22 @@ +/* + * Created on Apr 28, 2009 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.framework.ui.plugin.workspace; + +import org.eclipse.core.resources.IWorkspace; + + +/** + * @author b1528444 + * + */ +public interface SafeWorkspaceAccess { + IWorkspace getWorkspace(); + + /** + * @param workspaceListener + */ + void addResourceChangeListener(WrapResourceChangeListener workspaceListener); +} diff --git a/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/WrapResourceChangeListener.java b/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/WrapResourceChangeListener.java new file mode 100644 index 00000000000..4931d8cea1e --- /dev/null +++ b/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/WrapResourceChangeListener.java @@ -0,0 +1,16 @@ +/* + * Created on Apr 28, 2009 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.framework.ui.plugin.workspace; + +import org.eclipse.core.resources.IResourceChangeEvent; + +/** + * @author b1528444 + * + */ +public interface WrapResourceChangeListener { + public void resourceChanged(IResourceChangeEvent event); +} diff --git a/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/internal/ResourceChangeListenerImpl.java b/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/internal/ResourceChangeListenerImpl.java new file mode 100644 index 00000000000..4447ec4fbf2 --- /dev/null +++ b/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/internal/ResourceChangeListenerImpl.java @@ -0,0 +1,32 @@ +/* + * Created on Apr 28, 2009 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.framework.ui.plugin.workspace.internal; + +import org.eclipse.core.resources.IResourceChangeEvent; +import org.eclipse.core.resources.IResourceChangeListener; +import org.eclipse.osee.framework.ui.plugin.workspace.WrapResourceChangeListener; + +/** + * @author b1528444 + * + */ +public class ResourceChangeListenerImpl implements IResourceChangeListener { + + private WrapResourceChangeListener listener; + + public ResourceChangeListenerImpl(WrapResourceChangeListener listener){ + this.listener = listener; + } + + /* (non-Javadoc) + * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent) + */ + @Override + public void resourceChanged(IResourceChangeEvent event) { + listener.resourceChanged(event); + } + +} diff --git a/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/internal/SafeWorkspaceAccessImpl.java b/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/internal/SafeWorkspaceAccessImpl.java new file mode 100644 index 00000000000..5960821be5b --- /dev/null +++ b/org.eclipse.osee.framework.ui.plugin/src/org/eclipse/osee/framework/ui/plugin/workspace/internal/SafeWorkspaceAccessImpl.java @@ -0,0 +1,32 @@ +/* + * Created on Apr 28, 2009 + * + * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE + */ +package org.eclipse.osee.framework.ui.plugin.workspace.internal; + +import org.eclipse.core.resources.IWorkspace; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.osee.framework.ui.plugin.workspace.SafeWorkspaceAccess; +import org.eclipse.osee.framework.ui.plugin.workspace.WrapResourceChangeListener; + +/** + * @author b1528444 + * + */ +public class SafeWorkspaceAccessImpl implements SafeWorkspaceAccess { + + @Override + public IWorkspace getWorkspace() { + return ResourcesPlugin.getWorkspace(); + } + + /* (non-Javadoc) + * @see org.eclipse.osee.framework.ui.plugin.workspace.SafeWorkspaceAccess#addResourceChangeListener(org.eclipse.osee.framework.ui.plugin.workspace.WrapResourceChangeListener) + */ + @Override + public void addResourceChangeListener(WrapResourceChangeListener workspaceListener) { + ResourcesPlugin.getWorkspace().addResourceChangeListener(new ResourceChangeListenerImpl(workspaceListener)); + } + +} |