ref #7810 Fix creation of local specimen preferences
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / databaseAdmin / preferencePage / SpecimenAdminPreferences.java
index 507e626534c4e312d79c846e2cd47aa35028daaf..1304e5fb203af27387ee478a6bbabf49dd806168 100755 (executable)
@@ -25,6 +25,7 @@ import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
 import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
 import eu.etaxonomy.taxeditor.store.CdmStore;
@@ -143,7 +144,7 @@ public class SpecimenAdminPreferences extends CdmPreferencePage implements IE4Ad
              @Override
              public void widgetSelected(SelectionEvent e) {
                  isUseLocalPreference = useLocalPreference.getSelection();
-
+                 PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_SPECIMEN_ALLOW_OVERRIDE, isUseLocalPreference);
               }
          });
         return composite;
@@ -169,6 +170,7 @@ public class SpecimenAdminPreferences extends CdmPreferencePage implements IE4Ad
             if (isShowSpecimenPref != null){
                 this.isShowSpecimenRelatedIssues = Boolean.valueOf(isShowSpecimenPref.getValue());
             }else{
+                isShowSpecimenPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowSpecimen, Boolean.toString(true));
                 this.isShowSpecimenRelatedIssues = true;
             }
 
@@ -205,6 +207,9 @@ public class SpecimenAdminPreferences extends CdmPreferencePage implements IE4Ad
 
     @Override
      public boolean performOk() {
+        if (isShowSpecimenPref == null){
+            return true;
+        }
         ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
         if (controller != null){
             IPreferenceService service = controller.getPreferenceService();