ref #6429: add publish flag preference to admin menu
authorKatja Luther <k.luther@bgbm.org>
Thu, 19 Apr 2018 14:17:08 +0000 (16:17 +0200)
committerKatja Luther <k.luther@bgbm.org>
Thu, 19 Apr 2018 14:17:08 +0000 (16:17 +0200)
eu.etaxonomy.taxeditor.store/plugin.xml
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/AbcdImportProvider.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/PublishFlagPreference.java [new file with mode: 0755]

index 11c9c7e975bdcfd7dcb28568d2a78434d0ceb59a..57aa850f861960558d3eb86dc8b31b645a6df4c6 100755 (executable)
 </extension>
 <extension
       point="eu.etaxonomy.taxeditor.store.adminPreferencePage">
-    <page
-         class="eu.etaxonomy.taxeditor.preference.TaxonomicEditorGeneralPreferences"
+   <!-- <page
+         class="eu.etaxonomy.taxeditor.preference.TaxonomicEditorGeneralAdminPreferences"
          id="eu.etaxonomy.taxeditor.preferences.general"
          name="%page.name">
-   </page>  
+   </page>  -->
    <page 
          category="eu.etaxonomy.taxeditor.preferences.general"
          class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.ChecklistEditorGeneralPreference"
          id="eu.etaxonomy.taxeditor.store.abcdImportProvider"
          name="ABCD Import Provider">
    </page>
+   <page
+        
+         class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.PublishFlagPreference"
+         id="eu.etaxonomy.taxeditor.preferences.general"
+         name="Publish Flag Default Behaviour">
+   </page>
    
    <page
          category="eu.etaxonomy.taxeditor.preferences.general"
index acaca233bdae681ad069122273d64de7f1a27145..56506462d136ca55bd012dfbca2b45f49b669aac 100755 (executable)
@@ -61,17 +61,20 @@ public class AbcdImportProvider extends CdmPreferencePage implements IE4AdminPre
     @Override
     public boolean performOk() {
         String providerList = null;
-        providerList = biocaseProviderList.createAllProviderString();
+        if (biocaseProviderList != null){
+            providerList = biocaseProviderList.createAllProviderString();
 
-        CdmPreference pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.BioCaseProvider, providerList);
-        pref.setAllowOverride(true);
+            CdmPreference pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.BioCaseProvider, providerList);
+            pref.setAllowOverride(true);
+
+            ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
+            if (controller == null){
+                return false;
+            }
+            IPreferenceService service = controller.getPreferenceService();
+            service.set(pref);
 
-        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
-        if (controller == null){
-            return false;
         }
-        IPreferenceService service = controller.getPreferenceService();
-        service.set(pref);
 
         return true;
     }
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/PublishFlagPreference.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/PublishFlagPreference.java
new file mode 100755 (executable)
index 0000000..8acfb3d
--- /dev/null
@@ -0,0 +1,118 @@
+/**
+* Copyright (C) 2018 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+package eu.etaxonomy.taxeditor.databaseAdmin.preferencePage;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+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.PreferencesUtil;
+import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author k.luther
+ * @since 23.03.2018
+ *
+ */
+public class PublishFlagPreference extends CdmPreferencePage implements IE4AdminPreferencePage{
+
+   boolean setPublish = true;
+   boolean setNotPublish = false;
+   boolean inheritFromParent = false;
+
+   @Override
+   public void init() {
+       super.init();
+       CdmPreference pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DefaultBehaviourForPublishFlag);
+
+   }
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected Control createContents(Composite parent) {
+        final Composite composite = new Composite(parent, SWT.NULL);
+
+        GridLayout gridLayout = new GridLayout();
+        composite.setLayout(gridLayout);
+
+        gridLayout.numColumns = 1;
+        gridLayout.horizontalSpacing= 10;
+        gridLayout.makeColumnsEqualWidth = true;
+
+        Button setPublishFlagAsDefault = new Button(composite, SWT.RADIO);
+        setPublishFlagAsDefault.setText("Set publish flag");
+        setPublishFlagAsDefault.setSelection(setPublish);
+        setPublishFlagAsDefault.addSelectionListener(new SelectionAdapter() {
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+               setPublish = !setPublish;
+            }
+        });
+        Button setNotPublishFlagAsDefault = new Button(composite, SWT.RADIO);
+        setNotPublishFlagAsDefault.setText("Set no publish flag");
+        setNotPublishFlagAsDefault.setSelection(setNotPublish);
+        setNotPublishFlagAsDefault.addSelectionListener(new SelectionAdapter() {
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                setNotPublish = !setNotPublish;
+            }
+        });
+
+        Button setInheritFromParent = new Button(composite, SWT.RADIO);
+        setInheritFromParent.setText("Inherit publish flag from parent");
+        setInheritFromParent.setSelection(inheritFromParent);
+        setInheritFromParent.addSelectionListener(new SelectionAdapter() {
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                inheritFromParent = !inheritFromParent;
+            }
+        });
+
+        return composite;
+
+    }
+
+
+    @Override
+    public boolean performOk() {
+        String preferenceValue = null;
+        if (setPublish){
+            preferenceValue = "setPublish";
+        }else if (setNotPublish){
+            preferenceValue = "setNotPublish";
+        } else{
+            preferenceValue = "inheritFromParent";
+        }
+        CdmPreference pref = CdmPreference.NewDatabaseInstance( PreferencePredicate.DefaultBehaviourForPublishFlag, preferenceValue);
+        pref.setAllowOverride(true);
+
+        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
+        if (controller == null){
+            return false;
+        }
+        IPreferenceService service = controller.getPreferenceService();
+        service.set(pref);
+
+        return true;
+    }
+
+
+
+
+}