re-factoring to seperate preferenceStore dependency from non-ui plugins, use a wrapper of the common.ui preference store instead.
diff --git a/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/BreakdownElementPrefPage.java b/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/BreakdownElementPrefPage.java index 82a6432..2164467 100644 --- a/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/BreakdownElementPrefPage.java +++ b/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/BreakdownElementPrefPage.java
@@ -11,6 +11,8 @@ package org.eclipse.epf.authoring.ui.preferences; import org.eclipse.epf.authoring.ui.AuthoringUIResources; +import org.eclipse.epf.common.preferences.IPreferenceStoreWrapper; +import org.eclipse.epf.common.ui.PreferenceStoreWrapper; import org.eclipse.epf.library.LibraryPlugin; import org.eclipse.epf.library.ui.LibraryUIPlugin; import org.eclipse.epf.library.ui.preferences.LibraryUIPreferences; @@ -240,7 +242,11 @@ * @see org.eclipse.epf.authoring.ui.preferences.CommonPrefPage#doGetPreferenceStore() */ protected IPreferenceStore doGetPreferenceStore() { - return (IPreferenceStore)LibraryPlugin.getDefault().getPreferenceStore().getStore(); + IPreferenceStoreWrapper wrapper = LibraryPlugin.getDefault().getPreferenceStore(); + if ( wrapper instanceof PreferenceStoreWrapper ) { + return ((PreferenceStoreWrapper)wrapper).getStore(); + } + return null; } }
diff --git a/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/CommonPrefPage.java b/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/CommonPrefPage.java index 6f8ddf9..d51be52 100644 --- a/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/CommonPrefPage.java +++ b/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/CommonPrefPage.java
@@ -10,6 +10,8 @@ //------------------------------------------------------------------------------ package org.eclipse.epf.authoring.ui.preferences; +import org.eclipse.epf.common.preferences.IPreferenceStoreWrapper; +import org.eclipse.epf.common.ui.PreferenceStoreWrapper; import org.eclipse.epf.library.LibraryPlugin; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferencePage; @@ -122,7 +124,11 @@ */ protected IPreferenceStore doGetPreferenceStore() { - return (IPreferenceStore)LibraryPlugin.getDefault().getPreferenceStore().getStore(); + IPreferenceStoreWrapper wrapper = LibraryPlugin.getDefault().getPreferenceStore(); + if ( wrapper instanceof PreferenceStoreWrapper ) { + return ((PreferenceStoreWrapper)wrapper).getStore(); + } + return null; // return PlatformUI.getWorkbench().getPreferenceStore(); }
diff --git a/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/LibraryLocationData.java b/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/LibraryLocationData.java index 21fa5a7..0766b40 100644 --- a/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/LibraryLocationData.java +++ b/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/LibraryLocationData.java
@@ -12,6 +12,7 @@ import java.io.File; +import org.eclipse.epf.common.preferences.IPreferenceStoreWrapper; import org.eclipse.epf.common.ui.CommonUIPlugin; import org.eclipse.epf.library.LibraryPlugin; import org.eclipse.epf.library.prefs.LibraryPreferenceConstants; @@ -144,8 +145,8 @@ * */ public void loadFromPreferenceStore() { - IPreferenceStore store = (IPreferenceStore)LibraryPlugin.getDefault() - .getPreferenceStore().getStore(); + IPreferenceStoreWrapper store = LibraryPlugin.getDefault() + .getPreferenceStore(); String lastDir = store .getString(LibraryPreferenceConstants.PREF_LAST_LIBRARY_PARENT_DIRECTORY); @@ -167,8 +168,8 @@ * */ public void saveToPreferenceStore() { - IPreferenceStore store = (IPreferenceStore)LibraryPlugin.getDefault() - .getPreferenceStore().getStore(); + IPreferenceStoreWrapper store = LibraryPlugin.getDefault() + .getPreferenceStore(); File file = new File(this.getParentFolder()); LibraryUIPreferences.setSavedLibraryPath(file.getAbsolutePath()); store.setValue(
diff --git a/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/LibraryPreferenceInitializer.java b/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/LibraryPreferenceInitializer.java index ecf9c14..d1d2478 100644 --- a/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/LibraryPreferenceInitializer.java +++ b/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/LibraryPreferenceInitializer.java
@@ -12,6 +12,7 @@ import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.epf.authoring.ui.editors.ProcessEditor; +import org.eclipse.epf.common.preferences.IPreferenceStoreWrapper; import org.eclipse.epf.library.LibraryPlugin; import org.eclipse.epf.library.prefs.LibraryPreferenceConstants; import org.eclipse.jface.preference.IPreferenceStore; @@ -29,8 +30,8 @@ * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences() */ public void initializeDefaultPreferences() { - IPreferenceStore store = (IPreferenceStore)LibraryPlugin.getDefault() - .getPreferenceStore().getStore(); + IPreferenceStoreWrapper store = LibraryPlugin.getDefault() + .getPreferenceStore(); store.setDefault(LibraryPreferenceConstants.PREF_RADIO_SAVE_CHOICE, 1); store.setDefault(ApplicationPreferenceConstants.PREF_WBS_COLUMNS,
diff --git a/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/ProcessEditorPreferencePage.java b/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/ProcessEditorPreferencePage.java index 6eada20..3d7beeb 100644 --- a/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/ProcessEditorPreferencePage.java +++ b/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/ProcessEditorPreferencePage.java
@@ -18,6 +18,8 @@ import org.eclipse.epf.authoring.ui.AuthoringUIText; import org.eclipse.epf.authoring.ui.editors.ColumnDescriptor; import org.eclipse.epf.authoring.ui.editors.ProcessEditor; +import org.eclipse.epf.common.preferences.IPreferenceStoreWrapper; +import org.eclipse.epf.common.ui.PreferenceStoreWrapper; import org.eclipse.epf.library.LibraryPlugin; import org.eclipse.epf.library.ui.LibraryUIResources; import org.eclipse.epf.library.ui.preferences.LibraryUIPreferences; @@ -231,7 +233,11 @@ * @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore() */ protected IPreferenceStore doGetPreferenceStore() { - return (IPreferenceStore)LibraryPlugin.getDefault().getPreferenceStore().getStore(); + IPreferenceStoreWrapper wrapper = LibraryPlugin.getDefault().getPreferenceStore(); + if ( wrapper instanceof PreferenceStoreWrapper ) { + return ((PreferenceStoreWrapper)wrapper).getStore(); + } + return null; } /** @@ -676,6 +682,10 @@ // we need to share the preference in Library browsing and publishing // Jinhua Xi 08/19/2006 // changed to use CommonUIPlugin store - return (IPreferenceStore)LibraryPlugin.getDefault().getPreferenceStore().getStore(); + IPreferenceStoreWrapper wrapper = LibraryPlugin.getDefault().getPreferenceStore(); + if ( wrapper instanceof PreferenceStoreWrapper ) { + return ((PreferenceStoreWrapper)wrapper).getStore(); + } + return null; } }
diff --git a/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/RootPrefPage.java b/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/RootPrefPage.java index 1ca8409..a9ede34 100644 --- a/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/RootPrefPage.java +++ b/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/preferences/RootPrefPage.java
@@ -10,7 +10,9 @@ //------------------------------------------------------------------------------ package org.eclipse.epf.authoring.ui.preferences; +import org.eclipse.epf.common.preferences.IPreferenceStoreWrapper; import org.eclipse.epf.common.ui.CommonUIPlugin; +import org.eclipse.epf.common.ui.PreferenceStoreWrapper; import org.eclipse.epf.library.LibraryPlugin; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferencePage; @@ -90,7 +92,11 @@ * @see org.eclipse.jface.preference.PreferencePage#doGetPreferenceStore() */ protected IPreferenceStore doGetPreferenceStore() { - return (IPreferenceStore)LibraryPlugin.getDefault().getPreferenceStore().getStore(); + IPreferenceStoreWrapper wrapper = LibraryPlugin.getDefault().getPreferenceStore(); + if ( wrapper instanceof PreferenceStoreWrapper ) { + return ((PreferenceStoreWrapper)wrapper).getStore(); + } + return null; } /**
diff --git a/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/properties/ActivityRollupSection.java b/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/properties/ActivityRollupSection.java index 9344536..fb6e00a 100644 --- a/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/properties/ActivityRollupSection.java +++ b/2.0/plugins/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/properties/ActivityRollupSection.java
@@ -20,6 +20,7 @@ import org.eclipse.epf.authoring.ui.editors.ColumnDescriptor; import org.eclipse.epf.authoring.ui.providers.ExposedAdapterFactoryContentProvider; import org.eclipse.epf.authoring.ui.views.ProcessViewer; +import org.eclipse.epf.common.preferences.IPreferenceStoreWrapper; import org.eclipse.epf.library.LibraryPlugin; import org.eclipse.epf.library.edit.process.IBSItemProvider; import org.eclipse.epf.library.edit.process.IColumnAware; @@ -61,7 +62,7 @@ // action manager // protected IActionManager actionMgr; - protected IPreferenceStore store; + protected IPreferenceStoreWrapper store; protected ColumnDescriptor[] columnDescriptors; @@ -83,7 +84,7 @@ toolkit = getWidgetFactory(); // get preference store - store = (IPreferenceStore)LibraryPlugin.getDefault().getPreferenceStore().getStore(); + store = LibraryPlugin.getDefault().getPreferenceStore(); } /**
diff --git a/2.0/plugins/org.eclipse.epf.common.ui/src/org/eclipse/epf/common/ui/PreferenceStoreWrapper.java b/2.0/plugins/org.eclipse.epf.common.ui/src/org/eclipse/epf/common/ui/PreferenceStoreWrapper.java index 0d62ccc..6b838d6 100644 --- a/2.0/plugins/org.eclipse.epf.common.ui/src/org/eclipse/epf/common/ui/PreferenceStoreWrapper.java +++ b/2.0/plugins/org.eclipse.epf.common.ui/src/org/eclipse/epf/common/ui/PreferenceStoreWrapper.java
@@ -24,7 +24,7 @@ Map<IPropertyChangeListenerWrapper, IPropertyChangeListener> listenerMap = new HashMap<IPropertyChangeListenerWrapper, IPropertyChangeListener>(); - public Object getStore() { + public IPreferenceStore getStore() { return store; }
diff --git a/2.0/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/preferences/IPreferenceStoreWrapper.java b/2.0/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/preferences/IPreferenceStoreWrapper.java index 183433f..c0f1896 100644 --- a/2.0/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/preferences/IPreferenceStoreWrapper.java +++ b/2.0/plugins/org.eclipse.epf.common/src/org/eclipse/epf/common/preferences/IPreferenceStoreWrapper.java
@@ -10,7 +10,7 @@ */ public interface IPreferenceStoreWrapper { - public Object getStore(); + //public Object getStore(); public void addPropertyChangeListener(IPropertyChangeListenerWrapper listener); public void firePropertyChangeEvent(String name, Object oldValue,
diff --git a/2.0/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/internal/TngAdapterFactoryImpl.java b/2.0/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/internal/TngAdapterFactoryImpl.java index b55f848..b394a16 100644 --- a/2.0/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/internal/TngAdapterFactoryImpl.java +++ b/2.0/plugins/org.eclipse.epf.library.edit/src/org/eclipse/epf/library/edit/internal/TngAdapterFactoryImpl.java
@@ -38,6 +38,7 @@ import org.eclipse.emf.edit.provider.ItemProviderAdapter; import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory; import org.eclipse.epf.common.preferences.IPreferenceStoreWrapper; +import org.eclipse.epf.common.ui.PreferenceStoreWrapper; import org.eclipse.epf.library.edit.IConfigurable; import org.eclipse.epf.library.edit.IConfigurator; import org.eclipse.epf.library.edit.IFilter; @@ -882,8 +883,16 @@ // remove adapter factory as property change listener from // preference store // - IPreferenceStore prefStore = - (IPreferenceStore)Providers.getAuthoringPluginPreferenceStore().getStore(); + + // PreferenceStoreWrapper is not visible in this plugin, + // need to use the wrappers, this requires changes to the property change listeners in the procAdapterFactories + // TODO + IPreferenceStore prefStore = null; + IPreferenceStoreWrapper wrapper = Providers.getAuthoringPluginPreferenceStore(); + if ( wrapper instanceof PreferenceStoreWrapper ) { + prefStore = ((PreferenceStoreWrapper)wrapper).getStore(); + } + if (prefStore != null) { for (int i = 0; i < procAdapterFactories.length; i++) { Object adapterFactory = procAdapterFactories[i];