Merge pull request #338 from apache/refactoring/337-Component-description-editor-may-not-open-in-Eclipse

Issue #337: Component description editor may not open in Eclipse
diff --git a/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/MultiPageEditorContributor.java b/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/MultiPageEditorContributor.java
index afd1d92..3813de5 100644
--- a/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/MultiPageEditorContributor.java
+++ b/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/editors/MultiPageEditorContributor.java
@@ -23,11 +23,11 @@
 import org.apache.uima.taeconfigurator.PreferencePage;
 import org.apache.uima.taeconfigurator.TAEConfiguratorPlugin;
 import org.apache.uima.taeconfigurator.editors.xml.XMLEditor;
-import org.eclipse.core.runtime.Preferences;
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.action.IMenuManager;
 import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.ui.IActionBars;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IWorkbenchActionConstants;
@@ -109,8 +109,9 @@
    */
   @Override
   public void setActiveEditor(IEditorPart part) {
-    if (activeEditorPart == part)
+    if (activeEditorPart == part) {
       return;
+    }
 
     if (null == part) {
       return;
@@ -190,9 +191,9 @@
       // to update the checked status to correspond to that
       @Override
       public void run() {
-        TAEConfiguratorPlugin plugin = TAEConfiguratorPlugin.getDefault();
-        Preferences prefs = plugin.getPluginPreferences();
+        IPreferenceStore prefs = TAEConfiguratorPlugin.getDefault().getPreferenceStore();
         boolean bAutoJCasGen = !prefs.getBoolean(PreferencePage.P_JCAS);
+
         autoJCasAction.setChecked(bAutoJCasGen);
         prefs.setValue(PreferencePage.P_JCAS, bAutoJCasGen);
       }
@@ -203,8 +204,7 @@
       // to update the checked status to correspond to that
       @Override
       public void run() {
-        TAEConfiguratorPlugin plugin = TAEConfiguratorPlugin.getDefault();
-        Preferences prefs = plugin.getPluginPreferences();
+        IPreferenceStore prefs = TAEConfiguratorPlugin.getDefault().getPreferenceStore();
         boolean bJCasLimit = !prefs.getBoolean(PreferencePage.P_JCAS_LIMIT_TO_PROJECT_SCOPE);
         limitJCasGenToProject.setChecked(bJCasLimit);
         prefs.setValue(PreferencePage.P_JCAS_LIMIT_TO_PROJECT_SCOPE, bJCasLimit);
@@ -222,8 +222,7 @@
     qualifiedTypesAction = new Action() {
       @Override
       public void run() {
-        TAEConfiguratorPlugin plugin = TAEConfiguratorPlugin.getDefault();
-        Preferences prefs = plugin.getPluginPreferences();
+        IPreferenceStore prefs = TAEConfiguratorPlugin.getDefault().getPreferenceStore();
         boolean bFullyQualifiedTypeNames = !prefs
                 .getBoolean(PreferencePage.P_SHOW_FULLY_QUALIFIED_NAMES);
         qualifiedTypesAction.setChecked(bFullyQualifiedTypeNames);
@@ -373,8 +372,7 @@
    * @return the uima pref string
    */
   private static String getUimaPrefString(String key, String defaultValue) {
-    TAEConfiguratorPlugin plugin = TAEConfiguratorPlugin.getDefault();
-    Preferences prefs = plugin.getPluginPreferences();
+    IPreferenceStore prefs = TAEConfiguratorPlugin.getDefault().getPreferenceStore();
     boolean isDefault = prefs.isDefault(key);
     if (isDefault) {
       prefs.setDefault(key, defaultValue);
@@ -392,8 +390,7 @@
    * @return the uima pref boolean
    */
   private static boolean getUimaPrefBoolean(String key, boolean defaultValue) {
-    TAEConfiguratorPlugin plugin = TAEConfiguratorPlugin.getDefault();
-    Preferences prefs = plugin.getPluginPreferences();
+    IPreferenceStore prefs = TAEConfiguratorPlugin.getDefault().getPreferenceStore();
     boolean isDefault = prefs.isDefault(key);
     if (isDefault) {
       prefs.setDefault(key, defaultValue);
@@ -411,8 +408,7 @@
    * @return the uima pref int
    */
   private static int getUimaPrefInt(String key, int defaultValue) {
-    TAEConfiguratorPlugin plugin = TAEConfiguratorPlugin.getDefault();
-    Preferences prefs = plugin.getPluginPreferences();
+    IPreferenceStore prefs = TAEConfiguratorPlugin.getDefault().getPreferenceStore();
     boolean isDefault = prefs.isDefault(key);
     if (isDefault) {
       prefs.setDefault(key, defaultValue);
diff --git a/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/files/ContextForPartDialog.java b/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/files/ContextForPartDialog.java
index 0b67b56..5b58a43 100644
--- a/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/files/ContextForPartDialog.java
+++ b/uimaj-ep-configurator/src/main/java/org/apache/uima/taeconfigurator/files/ContextForPartDialog.java
@@ -160,8 +160,9 @@
     super.handleEvent(event);
 
     if (event.widget == resourcesUI && event.type == SWT.Selection) {
-      if (null != pickedResource) {
-        IFile f = (IFile) getResult()[0];
+      Object[] result = getResult();
+      if (null != pickedResource && result != null && result.length > 0) {
+        IFile f = (IFile) result[0];
         contextPathGUI.setText(f.getLocation().toOSString());
       }
     }
@@ -187,8 +188,9 @@
   public void enableOK() {
     super.enableOK();
     String path = contextPathGUI.getText();
-    if (null != path && !"".equals(path))
+    if (null != path && !"".equals(path)) {
       okButton.setEnabled(true);
+    }
   }
 
   /*