avoid NPE in namedetails preference and specimen preference page
authorKatja Luther <k.luther@bgbm.org>
Mon, 16 Oct 2017 11:32:16 +0000 (13:32 +0200)
committerKatja Luther <k.luther@bgbm.org>
Mon, 16 Oct 2017 11:32:16 +0000 (13:32 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/DatabasePreferencesPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NameDetailsViewConfiguration.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/SpecimenOrObservationPreferences.java

index 2ccf7def95ac3287890523ee150a820b1874c963..d076b3becef41ae1509330ef73816a577c8f9b19 100755 (executable)
@@ -196,7 +196,9 @@ public class DatabasePreferencesPage extends AbstractPreferenceWizard implements
 
         final Button showCollectingAreaInGeneralSectionButton = new Button(composite, SWT.CHECK);
         CdmPreference isShowCollectingAreaInGeneralSection = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowCollectingAreasInGeneralSection);
-
+        if (isShowCollectingAreaInGeneralSection == null){
+            isShowCollectingAreaInGeneralSection = CdmPreference.NewDatabaseInstance(PreferencePredicate.ShowCollectingAreasInGeneralSection, Boolean.toString(false));
+        }
         showCollectingAreaInGeneralSectionButton.setText(Messages.DatabasePreferncesPage_Show_Collecting_Areas_in_general_section);
 
         showCollectingAreaInGeneralSectionButton.setSelection(Boolean.valueOf(isShowCollectingAreaInGeneralSection.getValue()));
@@ -211,7 +213,9 @@ public class DatabasePreferencesPage extends AbstractPreferenceWizard implements
         final Button determinationOnlyForFieldUnitsButton = new Button(composite, SWT.CHECK);
 //        boolean isDeterminationOnlyForFieldUnits = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.DETERMINATION_ONLY_FOR_FIELD_UNITS);
         CdmPreference isDeterminationOnlyForFieldUnits = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DeterminationOnlyForFieldUnits);
-
+        if (isDeterminationOnlyForFieldUnits == null){
+            isDeterminationOnlyForFieldUnits = CdmPreference.NewDatabaseInstance(PreferencePredicate.DeterminationOnlyForFieldUnits, Boolean.toString(false));
+        }
         determinationOnlyForFieldUnitsButton.setText(Messages.DatabasePreferncesPage_Determination_only_for_field_unnits);
 
         determinationOnlyForFieldUnitsButton.setSelection(Boolean.valueOf(isDeterminationOnlyForFieldUnits.getValue()));
@@ -225,6 +229,9 @@ public class DatabasePreferencesPage extends AbstractPreferenceWizard implements
 
         final Button showTaxonAssociationButton = new Button(composite, SWT.CHECK);
         CdmPreference isShowTaxonAssociation = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowTaxonAssociations);
+        if (isShowTaxonAssociation == null){
+            isShowTaxonAssociation = CdmPreference.NewDatabaseInstance(PreferencePredicate.ShowTaxonAssociations, Boolean.toString(false));
+        }
         showTaxonAssociationButton.setText(Messages.DatabasePreferncesPage_Taxon_Associations);
 
         showTaxonAssociationButton.setSelection(Boolean.valueOf(isShowTaxonAssociation.getValue()));
@@ -237,9 +244,13 @@ public class DatabasePreferencesPage extends AbstractPreferenceWizard implements
          });
 
         final Button showLifeFormButton = new Button(composite, SWT.CHECK);
-        boolean isShowLifeForm = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_LIFE_FORM);
+        CdmPreference  isShowLifeForm = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowLifeForm);
+        if (isShowLifeForm == null){
+            isShowLifeForm = CdmPreference.NewDatabaseInstance(PreferencePredicate.ShowLifeForm, Boolean.toString(false));
+        }
+
         showLifeFormButton.setText(Messages.DatabasePreferncesPage_Life_Form);
-        showLifeFormButton.setSelection(isShowLifeForm);
+        showLifeFormButton.setSelection(Boolean.valueOf(isShowLifeForm.getValue()));
         showLifeFormButton.addSelectionListener(new SelectionAdapter(){
              @Override
              public void widgetSelected(SelectionEvent e) {
index 2608ee89f995f1ba3a8af30d3c62001471291f96..28e420ea9def48323241ae73be1190988fa48892 100644 (file)
@@ -13,6 +13,7 @@ import org.eclipse.swt.widgets.Label;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferencePage;
 
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.taxeditor.l10n.Messages;
 
@@ -39,8 +40,11 @@ public class NameDetailsViewConfiguration extends PreferencePage implements IWor
 
        Composite composite = new Composite(parent, SWT.NULL);
         composite.setLayout(new GridLayout());
-
-        boolean isAllowOverride = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.NameDetailsView).isAllowOverride();
+        CdmPreference nameDetailsPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.NameDetailsView);
+        boolean isAllowOverride = false;
+        if (nameDetailsPref != null){
+            isAllowOverride = nameDetailsPref.isAllowOverride();
+        }
 
 
         if (isAllowOverride){
index be6b0afae10f74a875a95261d65144095d0955bd..aaa131f6cee324af92d034cf3b219731e7fc74e6 100644 (file)
@@ -31,9 +31,20 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  */
 public class SpecimenOrObservationPreferences extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
 
+    public SpecimenOrObservationPreferences(){
+        super();
+        setPreferenceStore(PreferencesUtil.getPreferenceStore());
+        if (getPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_NOMENCLATURAL_CODE_KEY)){
+            setDescription("Set the preferences for the display of specimen and obeservations.");
+        }else{
+            setDescription("The CDM settings don't allow to set the preferences for the display of specimen and obeservations locally. If you need to make local settings, please ask an administrator.");
+        }
+    }
+
+
     @Override
     public void init(IWorkbench workbench) {
-        setPreferenceStore(PreferencesUtil.getPreferenceStore());
+//        setPreferenceStore(PreferencesUtil.getPreferenceStore());
         ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
         if (controller != null){
             IPreferenceService service = controller.getPreferenceService();