fix problems in preferences views -continue
authorKatja Luther <k.luther@bgbm.org>
Mon, 28 Jan 2019 12:27:03 +0000 (13:27 +0100)
committerKatja Luther <k.luther@bgbm.org>
Mon, 28 Jan 2019 12:27:03 +0000 (13:27 +0100)
eu.etaxonomy.taxeditor.store/plugin.xml
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/PublishFlagPreference.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ChecklistEditorGeneralPreference.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PublishEnum.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PublishFlagLocalPreference.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/SpecimenOrObservationPreferences.java

index 3cc6b6fb461c8a07c390f0e876832582ad2c65a6..a56be32bf7b2c5624a90a72f7ded776d94e9ebf1 100755 (executable)
          class="eu.etaxonomy.taxeditor.preference.TaxonPreferences"
          id="eu.etaxonomy.taxeditor.preferences.taxonPreferences"
          name="%page.name.52">
+   </page>
+       <page
+        category="eu.etaxonomy.taxeditor.preferences.taxonPreferences"
+         class="eu.etaxonomy.taxeditor.preference.PublishFlagLocalPreference"
+         id="eu.etaxonomy.taxeditor.preferences.publishFlagPreference"
+         name="%page.name.46">
    </page>
    <page
          category="eu.etaxonomy.taxeditor.preferences.general"
index ebc0578047e52d22b7f2bf4f9877db3e35f25dc2..7f924a612ee767ce79c0764ae7fb545fb288d3c9 100755 (executable)
@@ -8,11 +8,10 @@
 */
 package eu.etaxonomy.taxeditor.databaseAdmin.preferencePage;
 
-import org.eclipse.swt.widgets.Combo;
-
 import eu.etaxonomy.cdm.api.application.ICdmRepository;
 import eu.etaxonomy.cdm.api.service.IPreferenceService;
 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.taxeditor.preference.EditorPreferencePredicate;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.preference.PublishEnum;
@@ -26,12 +25,6 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  */
 public class PublishFlagPreference extends PublishFlagLocalPreference implements IE4AdminPreferencePage{
 
-    PublishEnum publishBehaviour;
-
-    Combo publishFlagBehaviour;
-    CdmPreference pref = null;
-
-    protected boolean allowOverride;
 
    @Override
    public void init() {
@@ -70,5 +63,18 @@ public class PublishFlagPreference extends PublishFlagLocalPreference implements
 
 
 
+    @Override
+    public void getValues() {
+        isAdminPreference = true;
+        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DefaultBehaviourForPublishFlag);
+        if (pref == null){
+            pref = CdmPreference.NewTaxEditorInstance(EditorPreferencePredicate.DefaultBehaviourForPublishFlag, EditorPreferencePredicate.DefaultBehaviourForPublishFlag.getDefaultValue().toString());
+        }
+        allowOverride = pref.isAllowOverride();
+        publishBehaviour = PublishEnum.valueOf(pref.getValue().toString());
+    }
+
+
+
 
 }
index ff69b3a05d6b75cd5547fd3b9a544a020e54fda6..ee6fab7262dea98b1bae344e2f59c85d2e5c2b86 100644 (file)
@@ -77,7 +77,7 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage implemen
         getValues();
         Composite composite = new Composite(parent, SWT.NULL);
         composite.setLayout(new GridLayout());
-        if(!isAdminPreference && !Boolean.valueOf(distributionEditorPref.getValue())){
+        if(!isAdminPreference && !Boolean.valueOf(distributionEditorPref.getValue()) && !distributionEditorPref.isAllowOverride()){
             Label label = new Label(composite, SWT.NONE);
             label.setText("The CDM settings don't allow to set the preferences for using the distribution editor locally. If you need to make local settings, please ask an administrator.");
 
@@ -406,8 +406,10 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage implemen
                    button_openStatusWizard.setButtonEnabled(false);
                }
             }
+            PreferencesUtil.recursiveSetEnabled(child, isEditorActivated);
         }
-        PreferencesUtil.recursiveSetEnabled(child, isEditorActivated);
+
+
         setValid(true);
         return composite;
     }
index 9cc6988cdc8b2b187ed5ecfbb3f3c331380be0bf..5e5fa0b47ce325eee03e8f5dd7596ed6c22d0fb9 100755 (executable)
@@ -17,9 +17,9 @@ import eu.etaxonomy.taxeditor.l10n.Messages;
  */
 public enum PublishEnum {
 
-    Publish("Publish", Messages.PublishEnum_publish), //$NON-NLS-1$
-    NotPublish("NotPublish", ""), //$NON-NLS-1$ //$NON-NLS-2$
-    InheritFromParent("InheritFromParent", ""); //$NON-NLS-1$ //$NON-NLS-2$
+    Publish("Publish", Messages.PublishEnum_publish),
+    NotPublish("NotPublish", Messages.PublishFlagPreference_do_not_set),
+    InheritFromParent("InheritFromParent", Messages.PublishFlagPreference_inherit);
 
 
     String label;
index d55ee02461f5c707d5a765481bd6e22f479f6614..fdf30cf00eb7b255b976121927bf61e2390f6565 100755 (executable)
@@ -30,13 +30,14 @@ import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
  */
 public class PublishFlagLocalPreference extends CdmPreferencePage {
 
-    PublishEnum publishBehaviour;
+    protected PublishEnum publishBehaviour;
 
-    Combo publishFlagBehaviour;
-    CdmPreference pref = null;
+    protected Combo publishFlagBehaviour;
+    protected CdmPreference pref = null;
 
     protected boolean allowOverride;
 
+
    @Override
    public void init() {
        super.init();
@@ -48,6 +49,7 @@ public class PublishFlagLocalPreference extends CdmPreferencePage {
      */
     @Override
     protected Control createContents(Composite parent) {
+        getValues();
         pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DefaultBehaviourForPublishFlag);
         if (pref == null){
             pref = CdmPreference.NewTaxEditorInstance(EditorPreferencePredicate.DefaultBehaviourForPublishFlag, EditorPreferencePredicate.DefaultBehaviourForPublishFlag.getDefaultValue().toString());
@@ -55,17 +57,12 @@ public class PublishFlagLocalPreference extends CdmPreferencePage {
         allowOverride = pref.isAllowOverride();
         Composite composite = createComposite(parent);
         final CLabel description = new CLabel(composite, SWT.NULL);
-        if (!allowOverride){
+        if (!allowOverride && !isAdminPreference){
             description.setText(Messages.PublishFlagPreference_description_not_allowed);
             description.setLayoutData(createTextGridData());
             return composite;
         }
-        PublishEnum publishFlag;
-        try{
-            publishFlag = PublishEnum.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.DefaultBehaviourForPublishFlag.getKey(), true));
-        }catch (IllegalArgumentException e){
-            publishFlag = PublishEnum.InheritFromParent;
-        }
+
 
         description.setText(Messages.PublishFlagPreference_description);
         description.setLayoutData(createTextGridData());
@@ -95,7 +92,7 @@ public class PublishFlagLocalPreference extends CdmPreferencePage {
         allowOverrideButton.addSelectionListener(new SelectionAdapter(){
             @Override
             public void widgetSelected(SelectionEvent e) {
-                allowOverride = allowOverrideButton.getSelection();
+                allowOverride = !allowOverride;
                 setApply(true);
                 }
         });
@@ -104,7 +101,7 @@ public class PublishFlagLocalPreference extends CdmPreferencePage {
 
 
         for (String itemLabel : publishFlagBehaviour.getItems()){
-            if (itemLabel.equalsIgnoreCase(publishFlag.getLabel())){
+            if (itemLabel.equalsIgnoreCase(publishBehaviour.getLabel())){
                 publishFlagBehaviour.select(index);
                 break;
             }
@@ -130,5 +127,15 @@ public class PublishFlagLocalPreference extends CdmPreferencePage {
         return true;
     }
 
+    @Override
+    public void getValues(){
+
+        try{
+            publishBehaviour = PublishEnum.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.DefaultBehaviourForPublishFlag.getKey(), true));
+        }catch (IllegalArgumentException e){
+            publishBehaviour = PublishEnum.InheritFromParent;
+        }
+    }
+
 
 }
index fbc12a21e2dbc41434c2794460324296c7b2b2d7..2dd307c59f59cbc74da1e6bdcf77ea9dd12a2309 100644 (file)
@@ -307,18 +307,23 @@ public class SpecimenOrObservationPreferences extends CdmPreferencePage {
 
         isShowSpecimenRelatedIssues = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowSpecimen.getKey());
         allowOverrideShowSpecimenRelatedIssues = cache.get(EditorPreferencePredicate.ShowSpecimen.getKey())!= null ? cache.get(EditorPreferencePredicate.ShowSpecimen.getKey()).isAllowOverride():true;
+        overrideShowSpecimenRelatedIssues = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(EditorPreferencePredicate.ShowSpecimen.getKey()));
 
         isShowCollectingAreaInGeneralSection = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowCollectingAreasInGeneralSection.getKey());
         allowOverrideShowCollectingAreaInGeneralSection = cache.get(EditorPreferencePredicate.ShowCollectingAreasInGeneralSection.getKey())!= null ? cache.get(EditorPreferencePredicate.ShowCollectingAreasInGeneralSection.getKey()).isAllowOverride():true;
+        overrideShowCollectionAreaInGeneralSection = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(EditorPreferencePredicate.ShowCollectingAreasInGeneralSection.getKey()));
 
         isDeterminationOnlyForFieldUnits = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.DeterminationOnlyForFieldUnits.getKey());
         allowOverrideDeterminationOnlyForFieldUnits = cache.get(EditorPreferencePredicate.DeterminationOnlyForFieldUnits.getKey())!= null ? cache.get(EditorPreferencePredicate.DeterminationOnlyForFieldUnits.getKey()).isAllowOverride():true;
+        overrideDeterminationOnlyForFieldUnits = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(EditorPreferencePredicate.DeterminationOnlyForFieldUnits.getKey()));
 
         isShowTaxonAssociation = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowTaxonAssociations.getKey());
         allowOverrideShowTaxonAssociation = cache.get(EditorPreferencePredicate.ShowTaxonAssociations.getKey())!= null ? cache.get(EditorPreferencePredicate.ShowTaxonAssociations.getKey()).isAllowOverride():true;
+        overrideShowTaxonAssociation = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(EditorPreferencePredicate.ShowTaxonAssociations.getKey()));
 
         isShowLifeForm = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowLifeForm.getKey());
         allowOverrideShowLifeForm = cache.get(EditorPreferencePredicate.ShowLifeForm.getKey())!= null ? cache.get(EditorPreferencePredicate.ShowLifeForm.getKey()).isAllowOverride():true;
+        overrideShowLifeForm = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(EditorPreferencePredicate.ShowLifeForm.getKey()));
 
 
     }
@@ -327,18 +332,23 @@ public class SpecimenOrObservationPreferences extends CdmPreferencePage {
     public boolean performOk() {
         if (allowOverrideShowSpecimenRelatedIssues){
             PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowSpecimen.getKey(), isShowSpecimenRelatedIssues);
+            PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(EditorPreferencePredicate.ShowSpecimen.getKey()), overrideShowSpecimenRelatedIssues);
         }
         if (allowOverrideShowCollectingAreaInGeneralSection){
             PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowCollectingAreasInGeneralSection.getKey(), isShowCollectingAreaInGeneralSection);
+            PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(EditorPreferencePredicate.ShowCollectingAreasInGeneralSection.getKey()), overrideShowCollectionAreaInGeneralSection);
         }
         if (allowOverrideDeterminationOnlyForFieldUnits){
             PreferencesUtil.setBooleanValue(EditorPreferencePredicate.DeterminationOnlyForFieldUnits.getKey(), isDeterminationOnlyForFieldUnits);
+            PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(EditorPreferencePredicate.DeterminationOnlyForFieldUnits.getKey()), overrideDeterminationOnlyForFieldUnits);
         }
         if (allowOverrideShowTaxonAssociation){
             PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowTaxonAssociations.getKey(), isShowTaxonAssociation);
+            PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(EditorPreferencePredicate.ShowTaxonAssociations.getKey()), overrideShowTaxonAssociation);
         }
         if (allowOverrideShowLifeForm){
             PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowLifeForm.getKey(), isShowLifeForm);
+            PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(EditorPreferencePredicate.ShowLifeForm.getKey()), overrideShowLifeForm);
         }
         return true;
     }