ref #7793: add DB preferences to hide specimen and import issues and smaller changes...
authorKatja Luther <k.luther@bgbm.org>
Tue, 9 Oct 2018 13:16:19 +0000 (15:16 +0200)
committerKatja Luther <k.luther@bgbm.org>
Tue, 9 Oct 2018 13:18:43 +0000 (15:18 +0200)
38 files changed:
eu.etaxonomy.taxeditor.application/fragment.e4xmi
eu.etaxonomy.taxeditor.bulkeditor/fragment.e4xmi
eu.etaxonomy.taxeditor.navigation/fragment.e4xmi
eu.etaxonomy.taxeditor.navigation/plugin.xml
eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle.properties
eu.etaxonomy.taxeditor.store/OSGI-INF/l10n/bundle_de.properties
eu.etaxonomy.taxeditor.store/fragment.e4xmi
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/ChecklistEditorGeneralPreference.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/DistributionAdminPreferences.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/GeneralAdminPreferencePage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/NameDetailsViewConfiguration.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/SpecimenAdminPreferences.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/VokabularyAdminPreferences.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenCommonNameAreaWizardAdminHandler.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenDistributionEditorWizardHandlerAdminE4.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenDistributionEditorWizardHandlerE4.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenDistributionStatusWizardAdminHandler.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/Messages.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages.properties
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/l10n/messages_de.properties
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/AdminGeneralPreferences.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/IPreferenceKeys.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencePropertyTester.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/SpecimenOrObservationPreferences.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AbstractTermSelectionWizardPage.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AbstractAreaSelectionWizard.java with 68% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableAreaVocabulariesPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusPage.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusWizard.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableVocabularyWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/CommonNameNamedAreaSelectionDialog.java [new file with mode: 0755]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/NamedAreaSelectionDialog.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/SelectionDialogFactory.java

index e20f173a94278a0df9532c87824ca293d02a84fd..e07ac708bfc618a04cfa789d12046a635db5f783 100644 (file)
         </children>
         <children xsi:type="menu:MenuSeparator" xmi:id="_BmuOUB63EeePLJ5to5QrXQ" elementId="eu.etaxonomy.taxeditor.application.menuseparator.3"/>
         <children xsi:type="menu:HandledMenuItem" xmi:id="_jE5VoB60EeePLJ5to5QrXQ" elementId="eu.etaxonomy.taxeditor.application.handledmenuitem.import" label="%command.label.3" command="_dlo3oB60EeePLJ5to5QrXQ">
-          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_0UicAB61EeePLJ5to5QrXQ" coreExpressionId="isCdmStoreConnected"/>
+          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_0UicAB61EeePLJ5to5QrXQ" coreExpressionId="isCdmStoreConnectedAndShowIOMenuEnabled"/>
         </children>
         <children xsi:type="menu:HandledMenuItem" xmi:id="_xT7KsB61EeePLJ5to5QrXQ" elementId="eu.etaxonomy.taxeditor.application.handledmenuitem.export" label="%command.label.4" command="_CYHrgB62EeePLJ5to5QrXQ">
-          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_21J-oB61EeePLJ5to5QrXQ" coreExpressionId="isCdmStoreConnected"/>
+          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_21J-oB61EeePLJ5to5QrXQ" coreExpressionId="isCdmStoreConnectedAndShowIOMenuEnabled"/>
         </children>
         <children xsi:type="menu:MenuSeparator" xmi:id="_XE1yMB62EeePLJ5to5QrXQ" elementId="eu.etaxonomy.taxeditor.application.menuseparator.1"/>
         <children xsi:type="menu:HandledMenuItem" xmi:id="_YM8CsB62EeePLJ5to5QrXQ" elementId="eu.etaxonomy.taxeditor.application.handledmenuitem.save" label="%command.label.1" command="_PkWcQB62EeePLJ5to5QrXQ">
index f6ccf32d6300f3144ce27b48401e5f8093bf4cff..071d000b83a3f1cc03814e9d55d9ba734a78e24b 100644 (file)
@@ -51,6 +51,7 @@
       </children>
       <children xsi:type="menu:MenuSeparator" xmi:id="_liWNsKLFEeeZb4PEjoRsuw" elementId="eu.etaxonomy.taxeditor.bulkeditor.menuseparator.7"/>
       <children xsi:type="menu:HandledMenuItem" xmi:id="_ob4moKLFEeeZb4PEjoRsuw" elementId="eu.etaxonomy.taxeditor.bulkeditor.handledmenuitem.specimen" label="%handledmenuitem.label.8" tooltip="%handledmenuitem.label.8" command="_Kc-ToCAzEeeepOgM49meig">
+        <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_sEquQMu6EeiGO4eKaXkw0w"/>
         <parameters xmi:id="_ob4moaLFEeeZb4PEjoRsuw" elementId="eu.etaxonomy.taxeditor.bulkeditor.parameter.input.occurrence" name="taxeditor-bulkeditor.commandParameter.inputType" value="bulkeditor.input.occurrence"/>
       </children>
     </elements>
index ba86a4f0671d3efd21b86a95bb5a89be39aecf62..f1e797456674fe1161df0deb0c4a242b4f78812b 100644 (file)
@@ -59,6 +59,7 @@
         <children xsi:type="menu:HandledMenuItem" xmi:id="_o1PAsJIwEeeJAdt8ZUxyaw" elementId="eu.etaxonomy.taxeditor.navigation.handledmenuitem.movefactualdata" label="%command.label.moveFactualData" command="_3PRy8JIxEeeJAdt8ZUxyaw"/>
         <children xsi:type="menu:MenuSeparator" xmi:id="_rBdnsJIwEeeJAdt8ZUxyaw" elementId="eu.etaxonomy.taxeditor.navigation.menuseparator.2"/>
         <children xsi:type="menu:Menu" xmi:id="_T8ey0KkeEeejedk4mZQIGw" elementId="eu.etaxonomy.taxeditor.navigation.menu.import" label="Import">
+          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_7ZtcEMuuEeiGO4eKaXkw0w" coreExpressionId="isShowIOMenuEnabled"/>
           <children xsi:type="menu:HandledMenuItem" xmi:id="_YMugAKkeEeejedk4mZQIGw" elementId="eu.etaxonomy.taxeditor.navigation.handledmenuitem.importSpecimens" label="Import Specimens" command="_yBC78KnJEeeTAPHmaMLwQQ"/>
           <children xsi:type="menu:HandledMenuItem" xmi:id="_2NC0kKnEEeeTAPHmaMLwQQ" elementId="eu.etaxonomy.taxeditor.navigation.handledmenuitem.importAbcd" label="%wizard.name.3" command="_AOq4QKnKEeeTAPHmaMLwQQ"/>
           <children xsi:type="menu:HandledMenuItem" xmi:id="_3rMNkKnEEeeTAPHmaMLwQQ" elementId="eu.etaxonomy.taxeditor.navigation.handledmenuitem.importExceldistribution" label="%wizard.name.23" command="_Anfn8KnKEeeTAPHmaMLwQQ">
@@ -71,6 +72,7 @@
           <children xsi:type="menu:HandledMenuItem" xmi:id="_7w_lUKnEEeeTAPHmaMLwQQ" elementId="eu.etaxonomy.taxeditor.navigation.handledmenuitem.importTcs" label="%wizard.name" command="_LCsbgKnKEeeTAPHmaMLwQQ"/>
         </children>
         <children xsi:type="menu:Menu" xmi:id="_rbInwKqhEeeXcJGhyhlrKA" elementId="eu.etaxonomy.taxeditor.navigation.menu.export" label="Export">
+          <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_3qJaEMuuEeiGO4eKaXkw0w" coreExpressionId="isShowIOMenuEnabled"/>
           <children xsi:type="menu:HandledMenuItem" xmi:id="_tPAZIKqhEeeXcJGhyhlrKA" elementId="eu.etaxonomy.taxeditor.navigation.handledmenuitem.exportJaxb" label="%wizard.name.6" command="_fQX7EKqhEeeXcJGhyhlrKA"/>
           <children xsi:type="menu:HandledMenuItem" xmi:id="_xwZgsKqhEeeXcJGhyhlrKA" elementId="eu.etaxonomy.taxeditor.navigation.handledmenuitem.eu.etaxonomy.taxeditor.navigation.handledmenuitem.exportSdd" label="%wizard.name.8" command="_iaZnEKqhEeeXcJGhyhlrKA"/>
           <children xsi:type="menu:HandledMenuItem" xmi:id="_zDuJwKqhEeeXcJGhyhlrKA" elementId="eu.etaxonomy.taxeditor.navigation.handledmenuitem.eu.etaxonomy.taxeditor.navigation.handledmenuitem.exportDwca" label="%wizard.name.9" command="_juMxQKqhEeeXcJGhyhlrKA"/>
index 5e128443bb500e8ace4d805d8bf68fb6b18def7d..85260a3a57d72f8eed98d437039de41d2842e1c0 100644 (file)
                   definitionId="isCdmStoreConnected">
             </reference>
          </and>
+      </definition>
+       <definition
+            id="isCdmStoreConnectedAndShowIOMenuEnabled">
+         <and>
+            <reference
+                  definitionId="isShowIOMenuEnabled">
+            </reference>
+            <reference
+                  definitionId="isCdmStoreConnected">
+            </reference>
+         </and>
       </definition>
        <definition
             id="isClassification">
index faac9f041806af3303470ae7dffd3fa311c830b4..47d1b45c6e63046f9d8442880b4345b9c173c8da 100644 (file)
@@ -184,6 +184,7 @@ partdescriptor.label.featureTreeEditor = Feature Tree Editor
 command.name.OPEN_REFERENCING_OBJECTS_VIEW = Open Referencing Objects View\r
 extension.name.1 = Store Workbench Model\r
 page.name.21 = Distribution Editor Configuration\r
+page.name.21 = Distribution Data Configuration\r
 page.name.40 = ABCD Import Configuration\r
 page.name.41 = ABCD Import Provider\r
 page.name.42 = Database Preferences\r
@@ -193,4 +194,7 @@ extension-point.name = Cdm Viewer
 extension-point.name.0 = Preference Page\r
 extension-point.name.1 = Admin Preference Page\r
 page.name.45 = Specimen\r
-page.name.46 = Publish Flag
\ No newline at end of file
+page.name.46 = Publish Flag\r
+page.name.47 = Vocabulary Selection\r
+command.name.111 = Open Admin Distributionstatus-Wizard\r
+command.name.112 = Open Admin CommonNameArea-Wizard
\ No newline at end of file
index 32c6ebb3f7ceeb0fd41e843747d2fcb3a334a8c4..0edb87124d7fbd6f8c293b283ef0daaf7c5e7e98 100644 (file)
@@ -184,6 +184,7 @@ command.label.25 = Import Pr
 partdescriptor.label.featureTreeEditor = Merkmalsbaum-Editor
 command.name.OPEN_REFERENCING_OBJECTS_VIEW = Öffne Referenzierende Objekte
 page.name.21 = Verbreitungs-Editor
+page.name.100 = Verbreitungs-Daten
 page.name.40 = ABCD Import
 page.name.41 = Biocase Provider
 page.name.42 = Datenbank Präferenzen
@@ -193,4 +194,7 @@ extension-point.name = Cdm Viewer
 extension-point.name.0 = Präferenzen
 extension-point.name.1 = Admin Präferenzen
 page.name.45 = Specimen
-page.name.46 = Publish Flag
\ No newline at end of file
+page.name.46 = Publish Flag
+page.name.47 = Vokabular Auswahl
+command.name.111 = \u00d6ffne Admin Verbreitungsstatus-Wizard
+command.name.112 = \u00d6ffne Admin Common Name Areal-Wizard
\ No newline at end of file
index 709438d639a547e2c5599a14ae39e4914f6996ab..aac54902d01a2d1d8fbef3a2392a6ce4e7362069 100644 (file)
     <elements xsi:type="commands:Command" xmi:id="_AJtnsCHXEeiP8eNo0PEm1g" elementId="eu.etaxonomy.taxeditor.store.command.featureTree.createFeatureTree" commandName="Create feature tree"/>
     <elements xsi:type="commands:Command" xmi:id="_FTpC0MVSEeiKErB3UVzQug" elementId="eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardHandler" commandName="%command.name.11"/>
     <elements xsi:type="commands:Command" xmi:id="_Vs75kMVfEeiKErB3UVzQug" elementId="eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardAdminHandler" commandName="%command.name.110"/>
+    <elements xsi:type="commands:Command" xmi:id="_tPtdwMiIEeiKErB3UVzQug" elementId="eu.etaxonomy.taxeditor.store.open.OpenDistributionStatusWizardAdminHandler" commandName="%command.name.111"/>
+    <elements xsi:type="commands:Command" xmi:id="_tRsg8MrcEeiKErB3UVzQug" elementId="eu.etaxonomy.taxeditor.store.open.OpenCommonNameAreaWizardAdminHandler" commandName="%command.name.112"/>
   </fragments>
   <fragments xsi:type="fragment:StringModelFragment" xmi:id="_swGH0GhvEee3K4uKJljEYg" featurename="handlers" parentElementId="xpath:/">
     <elements xsi:type="commands:Handler" xmi:id="_rVEdIGcjEee0qLTtA2ZpVQ" elementId="eu.etaxonomy.taxeditor.featuretree.e4.handler.RemoveFeatureHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.featuretree.e4.handler.RemoveFeatureHandler" command="_fNBtQGcjEee0qLTtA2ZpVQ"/>
     <elements xsi:type="commands:Handler" xmi:id="_H98S8K2tEeeykrJkROy5EA" elementId="eu.etaxonomy.taxeditor.handler.e4.SwitchUserHandlerE4" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.handler.e4.SwitchUserHandlerE4" command="_S868QK2dEeeykrJkROy5EA"/>
     <elements xsi:type="commands:Handler" xmi:id="_zdDe8BWNEeiazYUJirF0Pw" elementId="eu.etaxonomy.taxeditor.handler.update.UpdateHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.handler.update.UpdateHandler" command="_jSJrsBWPEeiazYUJirF0Pw"/>
     <elements xsi:type="commands:Handler" xmi:id="_4owEkMVREeiKErB3UVzQug" elementId="eu.etaxonomy.taxeditor.handler.e4.OpenDistributionEditorWizardHandlerAdminE4" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.handler.e4.OpenDistributionEditorWizardHandlerAdminE4" command="_Vs75kMVfEeiKErB3UVzQug"/>
+    <elements xsi:type="commands:Handler" xmi:id="_VBYX4MiQEeiKErB3UVzQug" elementId="eu.etaxonomy.taxeditor.handler.e4.OpenDistributionStausWizardAdminHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.handler.e4.OpenDistributionStatusWizardAdminHandler" command="_tPtdwMiIEeiKErB3UVzQug"/>
+    <elements xsi:type="commands:Handler" xmi:id="_jnQb8MrcEeiKErB3UVzQug" elementId="eu.etaxonomy.taxeditor.handler.e4.OpenCommonNameAreaWizardAdminHandler" contributionURI="bundleclass://eu.etaxonomy.taxeditor.store/eu.etaxonomy.taxeditor.handler.e4.OpenCommonNameAreaWizardAdminHandler" command="_tRsg8MrcEeiKErB3UVzQug"/>
   </fragments>
   <fragments xsi:type="fragment:StringModelFragment" xmi:id="_qT4hgIfTEeecZ4F2Y9Z0Og" featurename="children" parentElementId="eu.etaxonomy.taxeditor.workbench.menu.window" positionInList="before:eu.etaxonomy.taxeditor.application.windowMenu.last">
     <elements xsi:type="menu:Menu" xmi:id="_LT3P8IfcEeecZ4F2Y9Z0Og" elementId="eu.etaxonomy.taxeditor.store.menu.termeditor" label="Term Editor">
   </fragments>
   <fragments xsi:type="fragment:StringModelFragment" xmi:id="_ITE10KkVEeejedk4mZQIGw" featurename="children" parentElementId="eu.etaxonomy.taxeditor.workbench.menu.file" positionInList="before:eu.etaxonomy.taxeditor.application.filemenu.io">
     <elements xsi:type="menu:Menu" xmi:id="_z6EugKqXEeeXcJGhyhlrKA" elementId="eu.etaxonomy.taxeditor.store.menu.export" label="Export">
-      <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_3eyLYKqXEeeXcJGhyhlrKA" coreExpressionId="isCdmStoreConnected"/>
+      <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_3eyLYKqXEeeXcJGhyhlrKA" coreExpressionId="isShowIOMenuEnabled"/>
       <children xsi:type="menu:HandledMenuItem" xmi:id="_b9E38KqZEeeXcJGhyhlrKA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.exportJaxb" label="%wizard.name.6" command="_L0xNEKqYEeeXcJGhyhlrKA"/>
       <children xsi:type="menu:HandledMenuItem" xmi:id="_lXe84KqZEeeXcJGhyhlrKA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.exportSdd" label="%wizard.name.8" command="_ybovsKqZEeeXcJGhyhlrKA"/>
       <children xsi:type="menu:HandledMenuItem" xmi:id="_nf4z0KqZEeeXcJGhyhlrKA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.exportDwca" label="%wizard.name.9" command="_y69I8KqZEeeXcJGhyhlrKA"/>
       <children xsi:type="menu:HandledMenuItem" xmi:id="_uruvcKqZEeeXcJGhyhlrKA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.exportCdmLight" label="%wizard.name.22" command="_zLKvMKqZEeeXcJGhyhlrKA"/>
     </elements>
     <elements xsi:type="menu:Menu" xmi:id="_QC5O8KkaEeejedk4mZQIGw" elementId="eu.etaxonomy.taxeditor.store.menu.import" label="Import">
-      <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_UL4dkKkaEeejedk4mZQIGw" coreExpressionId="isCdmStoreConnected"/>
+      <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_UL4dkKkaEeejedk4mZQIGw" coreExpressionId="isShowIOMenuEnabled"/>
       <children xsi:type="menu:HandledMenuItem" xmi:id="_RUOtQKkVEeejedk4mZQIGw" elementId="eu.etaxonomy.taxeditor.workbench.handledmenuitem.importspecimens" label="%wizard.name.14" command="_TwGSwKkVEeejedk4mZQIGw"/>
       <children xsi:type="menu:HandledMenuItem" xmi:id="_NO718KmQEeeDJPU_cUTI2g" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.importAbcd" label="%wizard.name.3" command="_QbHeEKmQEeeDJPU_cUTI2g"/>
       <children xsi:type="menu:HandledMenuItem" xmi:id="_-h0G8KmfEeeTAPHmaMLwQQ" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.importExceldistribution" label="%wizard.name.23" command="_tpPnUKmfEeeTAPHmaMLwQQ">
index 25d191d62d3ee99561312e71951a0c47e23d24ea..6bfdaeed6ad3f59ec1f39122682579c4c3cd2208 100755 (executable)
          class="eu.etaxonomy.taxeditor.preference.PreferencePropertyTester"
          id="eu.etaxonomy.taxeditor.preference.PreferencePropertyTester"
          namespace="eu.etaxonomy.taxeditor.preference.PreferencePropertyTester"
-         properties="isShowExperimentalFeatures, isChecklistEditorEnabled"
+         properties="isShowExperimentalFeatures, isChecklistEditorEnabled, isShowIOMenuEnabled"
          type="java.lang.Object">
    </propertyTester>
    <propertyTester
             property="eu.etaxonomy.taxeditor.preference.PreferencePropertyTester.isShowExperimentalFeatures">
       </test>
    </definition>
+   <definition
+         id="isShowIOMenuEnabled">
+      <test
+            property="eu.etaxonomy.taxeditor.preference.PreferencePropertyTester.isShowIOMenuEnabled">
+      </test>
+   </definition>
    <definition
          id="isModifiable">
       <with
             </reference>
          </and>
       </definition>
+       
       <definition
             id="isChecklistEditorEnabled">
          <test
    </page>  -->
    <page 
          category="eu.etaxonomy.taxeditor.preferences.general"
+         class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.DistributionAdminPreferences"
+         id="eu.etaxonomy.taxeditor.store.distribution"
+         name="%page.name.100">
+   </page>
+    <page 
+         category="eu.etaxonomy.taxeditor.store.distribution"
          class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.ChecklistEditorGeneralPreference"
          id="eu.etaxonomy.taxeditor.store.checklist"
          name="%page.name.21">
          class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.AbcdImportProvider"
          id="eu.etaxonomy.taxeditor.store.abcdImportProvider"
          name="%page.name.41">
+   </page>
+   <page
+         category="eu.etaxonomy.taxeditor.preferences.general"
+         class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.VokabularyAdminPreferences"
+         id="eu.etaxonomy.taxeditor.store.vocabularyAdminPreference"
+         name="%page.name.47">
    </page>
     <page
          category="eu.etaxonomy.taxeditor.preferences.general"
index 4add025eade3fdeb92e585bced8d53392cf1de5f..d35924f911617e2cdc3b43f502525522df650039 100755 (executable)
@@ -16,7 +16,6 @@ import org.eclipse.swt.widgets.Control;
 
 import eu.etaxonomy.cdm.api.application.ICdmRepository;
 import eu.etaxonomy.cdm.api.service.IPreferenceService;
-import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator;
 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.taxeditor.l10n.Messages;
@@ -30,8 +29,6 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  */
 public class AbcdImportProvider extends CdmPreferencePage implements IE4AdminPreferencePage{
 
-    private Abcd206ImportConfigurator configurator;
-
     ListComponent biocaseProviderList;
 
     /**
index 5a0cbc18c2708a0a9611c33fa555db9df452bdf0..1046b44eae43d6bce752a4727fda6902146cb7ef 100755 (executable)
@@ -9,7 +9,6 @@
 package eu.etaxonomy.taxeditor.databaseAdmin.preferencePage;
 
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.layout.GridLayout;
@@ -26,7 +25,6 @@ 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;
-import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton;
 
 /**
  * @author a.oppermann
@@ -91,15 +89,14 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage implemen
 
 
 
-        final CLabel label = new CLabel(child, SWT.NULL);
-        label.setText(Messages.ChecklistEditorGeneralPreference_open_wizard);
+//
 
 
-
-        final CommandHandlerButton button_openWizard = new CommandHandlerButton(child, SWT.PUSH,
-                "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardAdminHandler");
-
-        button_openWizard.setText(Messages.ChecklistEditorGeneralPreference_open_distribution_selection);
+//
+//        final CommandHandlerButton button_openWizard = new CommandHandlerButton(child, SWT.PUSH,
+//                "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardAdminHandler");
+//
+//        button_openWizard.setText(Messages.ChecklistEditorGeneralPreference_open_distribution_selection);
 
 //        Table table = new Table
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/DistributionAdminPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/DistributionAdminPreferences.java
new file mode 100755 (executable)
index 0000000..bcc0763
--- /dev/null
@@ -0,0 +1,96 @@
+/**
+* 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.custom.CLabel;
+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.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
+import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton;
+
+/**
+ * @author k.luther
+ * @since 08.10.2018
+ *
+ */
+public class DistributionAdminPreferences extends CdmPreferencePage implements IE4AdminPreferencePage {
+
+    boolean allowOverride;
+
+    @Override
+    protected Control createContents(Composite parent) {
+        Composite composite = new Composite(parent, SWT.NULL);
+        composite.setLayout(new GridLayout());
+
+
+        CdmPreference pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AvailableDistributionAreaVocabularies);
+        if (pref != null){
+            allowOverride = pref.isAllowOverride();
+        }
+
+
+
+        final CLabel label = new CLabel(composite, SWT.NULL);
+        label.setText(Messages.ChecklistEditorGeneralPreference_open_wizard);
+
+        final CommandHandlerButton button_openWizard = new CommandHandlerButton(composite, SWT.PUSH,
+                "eu.etaxonomy.taxeditor.store.open.OpenDistributionEditorWizardAdminHandler");
+
+        button_openWizard.setText(Messages.ChecklistEditorGeneralPreference_open_distribution_selection);
+        final Button allowOverrideCheckButton = new Button(composite, SWT.CHECK);
+        allowOverrideCheckButton.setText(Messages.ChecklistEditorGeneralPreference_allowOverride);
+        allowOverrideCheckButton.setSelection(allowOverride);
+        allowOverrideCheckButton.addSelectionListener(new SelectionAdapter(){
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                allowOverride = allowOverrideCheckButton.getSelection();
+
+            }
+        });
+
+
+        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AvailableDistributionStatus);
+
+        if (pref != null){
+            allowOverride = pref.isAllowOverride();
+        }
+
+        final CLabel labelStatus = new CLabel(composite, SWT.NULL);
+        labelStatus.setText("Select the status which should be available for distribution data.");
+
+        final CommandHandlerButton button_openStatusWizard = new CommandHandlerButton(composite, SWT.PUSH,
+                "eu.etaxonomy.taxeditor.store.open.OpenDistributionStatusWizardAdminHandler");
+
+        button_openStatusWizard.setText(Messages.Distribution_status_selection);
+        final Button allowOverrideStatusCheckButton = new Button(composite, SWT.CHECK);
+        allowOverrideStatusCheckButton.setText(Messages.ChecklistEditorGeneralPreference_allowOverride);
+        allowOverrideStatusCheckButton.setSelection(allowOverride);
+        allowOverrideStatusCheckButton.addSelectionListener(new SelectionAdapter(){
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                allowOverride = allowOverrideStatusCheckButton.getSelection();
+
+            }
+        });
+
+        return composite;
+    }
+
+
+}
index 7659c2eaf12968a64e9f12f964b0a8668b5bb339..9acf660d053b1d4edbfbe2761635e270b3eed815 100755 (executable)
@@ -9,11 +9,23 @@
 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.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.PreferencesUtil;
 import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
+import eu.etaxonomy.taxeditor.store.CdmStore;
 
 /**
  * @author k.luther
@@ -22,6 +34,8 @@ import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
  */
 public class GeneralAdminPreferencePage extends CdmPreferencePage implements IE4AdminPreferencePage {
 
+
+    boolean isShowIOMenu = true;
     /**
      * {@inheritDoc}
      */
@@ -31,6 +45,27 @@ public class GeneralAdminPreferencePage extends CdmPreferencePage implements IE4
 
         GridLayout gridLayout = new GridLayout();
         composite.setLayout(gridLayout);
+        ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
+        if (controller != null){
+            IPreferenceService service = controller.getPreferenceService();
+            PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.ShowImportExportMenu);
+            CdmPreference isShowSpecimenPref = service.find(key);
+            if (isShowSpecimenPref != null){
+                this.isShowIOMenu = Boolean.valueOf(isShowSpecimenPref.getValue());
+            }
+        }
+        final Button showIOMenuButton = new Button(composite, SWT.CHECK);
+
+        showIOMenuButton.setText(Messages.DatabasePreferncesPage_Show_IOMenu);
+
+        showIOMenuButton.setSelection(isShowIOMenu);
+        showIOMenuButton.addSelectionListener(new SelectionAdapter(){
+             @Override
+             public void widgetSelected(SelectionEvent e) {
+                 isShowIOMenu = showIOMenuButton.getSelection();
+
+              }
+         });
         return composite;
     }
 
@@ -40,4 +75,20 @@ public class GeneralAdminPreferencePage extends CdmPreferencePage implements IE4
         getControl().setVisible(false);
     }
 
+    @Override
+    public boolean performOk() {
+       ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
+       if (controller != null){
+           IPreferenceService service = controller.getPreferenceService();
+
+           CdmPreference pref = CdmPreference.NewDatabaseInstance(PreferencePredicate.ShowImportExportMenu, Boolean.toString(this.isShowIOMenu));
+           pref.setAllowOverride(false);
+           service.set(pref);
+           PreferencesUtil.updateDBPreferences();
+
+
+       }
+       return true;
+   }
+
 }
index 4b12425f7e69217d582551dc1f46581a35a95066..e1a2f57583b0938f0314753cecc168769c4041ec 100755 (executable)
@@ -62,18 +62,18 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements I
         isSimpleDetailsViewActivated = nameDetailsConfig.isSimpleDetailsViewActivated();
         activateCheckButton.setSelection(isSimpleDetailsViewActivated);
         activateCheckButton.addSelectionListener(new SelectionAdapter(){
-        @Override
-        public void widgetSelected(SelectionEvent e) {
-            isSimpleDetailsViewActivated = activateCheckButton.getSelection();
-           //
-            if(isSimpleDetailsViewActivated){
-                dbSettings.setVisible(true);
-                dbSettings.setEnabled(true);
-            }else{
-                dbSettings.setVisible(false);
-                dbSettings.setEnabled(false);
-            }
-         }
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                isSimpleDetailsViewActivated = activateCheckButton.getSelection();
+               //
+                if(isSimpleDetailsViewActivated){
+                    dbSettings.setVisible(true);
+                    dbSettings.setEnabled(true);
+                }else{
+                    dbSettings.setVisible(false);
+                    dbSettings.setEnabled(false);
+                }
+             }
          });
 
 
@@ -90,16 +90,16 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements I
 
         final Button allowLocalPreference = new Button(dbSettings, SWT.CHECK);
 //      boolean isUseLocalPreference = PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_NAME_DETAILS);
-      allowLocalPreference.setText(Messages.DatabasePreferencesPage_UseLocalPreferences);
-      isAllowOverride = nameDetailsConfig.isAllowOverride();
-      allowLocalPreference.setSelection(isAllowOverride);
-      allowLocalPreference.addSelectionListener(new SelectionAdapter(){
+        allowLocalPreference.setText(Messages.DatabasePreferencesPage_UseLocalPreferences);
+        isAllowOverride = nameDetailsConfig.isAllowOverride();
+        allowLocalPreference.setSelection(isAllowOverride);
+        allowLocalPreference.addSelectionListener(new SelectionAdapter(){
            @Override
            public void widgetSelected(SelectionEvent e) {
                isAllowOverride = allowLocalPreference.getSelection();
 
             }
-       });
+        });
         Label separator= new Label(dbSettings, SWT.HORIZONTAL | SWT.SEPARATOR);
         separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
         final Button showTaxon = new Button(dbSettings, SWT.CHECK);
@@ -288,7 +288,7 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements I
              @Override
              public void widgetSelected(SelectionEvent e) {
                  isShowNameApprobiation = showNameApprobiation.getSelection();
-                 PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAME_APPROBATION, isShowNameApprobiation);
+                //PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.SHOW_NAME_DETAILS_SECTION_NAME_APPROBATION, isShowNameApprobiation);
               }
          });
 
index 03d92bbc6fcf3e9f716d407c19464f7893e52c09..d170f0d953ec8380c104be35ecb846e69bd685fa 100755 (executable)
@@ -16,6 +16,7 @@ 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 org.eclipse.swt.widgets.Label;
 
 import eu.etaxonomy.cdm.api.application.ICdmRepository;
 import eu.etaxonomy.cdm.api.service.IPreferenceService;
@@ -24,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.PreferencesUtil;
 import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
@@ -33,22 +35,49 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  *
  */
 public class SpecimenAdminPreferences extends CdmPreferencePage implements IE4AdminPreferencePage {
+    public SpecimenAdminPreferences() {
+    }
 
 
-
+    boolean isShowSpecimenRelatedIssues;
     boolean isShowCollectingAreaInGeneralSection;
     boolean isDeterminationOnlyForFieldUnits;
     boolean isShowTaxonAssociation;
     boolean isShowLifeForm;
     boolean isUseLocalPreference;
-
+    Composite composite;
 
     @Override
     protected Control createContents(Composite parent) {
-        Composite composite = new Composite(parent, SWT.NULL);
+
         getValues();
+
+
+        final Button showSpecimenButton = new Button(parent, SWT.CHECK);
+
+        showSpecimenButton.setText(Messages.DatabasePreferncesPage_Show_Specimen);
+
+        showSpecimenButton.setSelection(isShowSpecimenRelatedIssues);
+        showSpecimenButton.addSelectionListener(new SelectionAdapter(){
+             @Override
+             public void widgetSelected(SelectionEvent e) {
+                 isShowSpecimenRelatedIssues = showSpecimenButton.getSelection();
+                 if(isShowSpecimenRelatedIssues){
+                     composite.setVisible(true);
+                     composite.setEnabled(true);
+                 }else{
+                     composite.setVisible(false);
+                     composite.setEnabled(false);
+                 }
+              }
+         });
+        composite = new Composite(parent, SWT.NULL);
         GridLayout gridLayout = new GridLayout();
         composite.setLayout(gridLayout);
+        composite.setEnabled(isShowSpecimenRelatedIssues);
+        Label separator= new Label(composite, SWT.HORIZONTAL | SWT.SEPARATOR);
+        separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
         final Button showCollectingAreaInGeneralSectionButton = new Button(composite, SWT.CHECK);
 
         showCollectingAreaInGeneralSectionButton.setText(Messages.DatabasePreferncesPage_Show_Collecting_Areas_in_general_section);
@@ -71,7 +100,7 @@ public class SpecimenAdminPreferences extends CdmPreferencePage implements IE4Ad
              @Override
              public void widgetSelected(SelectionEvent e) {
                  isDeterminationOnlyForFieldUnits = determinationOnlyForFieldUnitsButton.getSelection();
-                               }
+             }
          });
 
         final Button showTaxonAssociationButton = new Button(composite, SWT.CHECK);
@@ -134,7 +163,14 @@ public class SpecimenAdminPreferences extends CdmPreferencePage implements IE4Ad
         ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
         if (controller != null){
             IPreferenceService service = controller.getPreferenceService();
-            PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.ShowCollectingAreasInGeneralSection);
+            PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.ShowSpecimen);
+            CdmPreference isShowSpecimenPref = service.find(key);
+            if (isShowSpecimenPref != null){
+                this.isShowSpecimenRelatedIssues = Boolean.valueOf(isShowSpecimenPref.getValue());
+            }
+
+
+            key = CdmPreference.NewKey(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.ShowCollectingAreasInGeneralSection);
             CdmPreference isShowCollectingAreaInGeneralSectionPref = service.find(key);
             if (isShowCollectingAreaInGeneralSectionPref != null){
                 this.isShowCollectingAreaInGeneralSection = Boolean.valueOf(isShowCollectingAreaInGeneralSectionPref.getValue());
@@ -185,6 +221,7 @@ public class SpecimenAdminPreferences extends CdmPreferencePage implements IE4Ad
             pref = CdmPreference.NewDatabaseInstance(PreferencePredicate.ShowLifeForm, Boolean.toString(this.isShowLifeForm));
             pref.setAllowOverride(isUseLocalPreference);
             service.set(pref);
+            PreferencesUtil.updateDBPreferences();
 
 
         }
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/VokabularyAdminPreferences.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/VokabularyAdminPreferences.java
new file mode 100755 (executable)
index 0000000..073e354
--- /dev/null
@@ -0,0 +1,72 @@
+/**
+* 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.custom.CLabel;
+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.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.taxeditor.l10n.Messages;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
+import eu.etaxonomy.taxeditor.ui.element.CommandHandlerButton;
+
+/**
+ * @author k.luther
+ * @since 05.10.2018
+ *
+ */
+public class VokabularyAdminPreferences extends CdmPreferencePage implements IE4AdminPreferencePage {
+
+    boolean allowOverride;
+
+
+
+    @Override
+    protected Control createContents(Composite parent) {
+
+        Composite composite = new Composite(parent, SWT.NULL);
+        composite.setLayout(new GridLayout());
+
+        CdmPreference pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.CommonNameAreaVocabularies);
+
+        if (pref != null){
+            allowOverride = pref.isAllowOverride();
+        }
+
+        final CLabel commonNameAreaLabel = new CLabel(composite, SWT.NULL);
+        commonNameAreaLabel.setText("Select the area vocabularies which should be available for common names.");
+
+        final CommandHandlerButton button_opencommonNameAreaWizard = new CommandHandlerButton(composite, SWT.PUSH,
+                "eu.etaxonomy.taxeditor.store.open.OpenCommonNameAreaWizardAdminHandler");
+
+        button_opencommonNameAreaWizard.setText(Messages.GeneralPreference_open_common_name_area_selection);
+        final Button allowOverrideCommonNameAreaCheckButton = new Button(composite, SWT.CHECK);
+        allowOverrideCommonNameAreaCheckButton.setText(Messages.ChecklistEditorGeneralPreference_allowOverride);
+        allowOverrideCommonNameAreaCheckButton.setSelection(allowOverride);
+        allowOverrideCommonNameAreaCheckButton.addSelectionListener(new SelectionAdapter(){
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                allowOverride = allowOverrideCommonNameAreaCheckButton.getSelection();
+
+            }
+        });
+
+        return composite;
+    }
+
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenCommonNameAreaWizardAdminHandler.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenCommonNameAreaWizardAdminHandler.java
new file mode 100755 (executable)
index 0000000..5e7993d
--- /dev/null
@@ -0,0 +1,44 @@
+/**
+* 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.handler.e4;
+
+import javax.inject.Named;
+
+import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.widgets.Shell;
+
+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.wizard.AvailableVocabularyWizard;
+
+/**
+ * @author k.luther
+ * @since 08.10.2018
+ *
+ */
+public class OpenCommonNameAreaWizardAdminHandler {
+    String commandID = "eu.etaxonomy.taxeditor.handler.e4.OpenCommonNameAreaWizardAdminHandler";
+
+    @Execute
+    public void execute(@Named(IServiceConstants.ACTIVE_SHELL)Shell shell) {
+        CdmPreference pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.CommonNameAreaVocabularies);
+        if (pref == null){
+            pref = CdmPreference.NewDatabaseInstance(PreferencePredicate.CommonNameAreaVocabularies, null);
+        }
+        AvailableVocabularyWizard wizard = new AvailableVocabularyWizard(false, pref, "Common Names");
+
+        WizardDialog dialog = new WizardDialog(shell,
+                wizard);
+
+        dialog.open();
+    }
+}
index ca2d86eebeeee0c5172d23c0799be050f711ccaa..d0fc9267e63740955c73a98f9652c59a130b078d 100644 (file)
@@ -15,6 +15,9 @@ import org.eclipse.e4.ui.services.IServiceConstants;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.widgets.Shell;
 
+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.wizard.AvailableVocabularyWizard;
 
 /**
@@ -29,8 +32,11 @@ public class OpenDistributionEditorWizardHandlerAdminE4 {
 
         @Execute
         public void execute(@Named(IServiceConstants.ACTIVE_SHELL)Shell shell) {
-
-            AvailableVocabularyWizard wizard = new AvailableVocabularyWizard(false);
+            CdmPreference pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AvailableDistributionAreaVocabularies);
+            if (pref == null){
+                pref = CdmPreference.NewDatabaseInstance(PreferencePredicate.AvailableDistributionAreaVocabularies, null);
+            }
+            AvailableVocabularyWizard wizard = new AvailableVocabularyWizard(false, pref, "Distribution");
 
             WizardDialog dialog = new WizardDialog(shell,
                     wizard);
index aa7b0e9ff78def3546528b7f81f77e084f042c39..eed2fc9ce9a9a4b77b4e8623bd4056e04ab87717 100755 (executable)
@@ -30,7 +30,7 @@ public class OpenDistributionEditorWizardHandlerE4 {
         @Execute
         public void execute(@Named(IServiceConstants.ACTIVE_SHELL)Shell shell) {
 
-            AvailableVocabularyWizard wizard = new AvailableVocabularyWizard(true);
+            AvailableVocabularyWizard wizard = new AvailableVocabularyWizard(true, null, "Distribution");
 
             WizardDialog dialog = new WizardDialog(shell,
                     wizard);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenDistributionStatusWizardAdminHandler.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/handler/e4/OpenDistributionStatusWizardAdminHandler.java
new file mode 100755 (executable)
index 0000000..cd8b586
--- /dev/null
@@ -0,0 +1,38 @@
+/**
+* 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.handler.e4;
+
+import javax.inject.Named;
+
+import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.widgets.Shell;
+
+import eu.etaxonomy.taxeditor.preference.wizard.AvailableDistributionStatusWizard;
+
+/**
+ * @author k.luther
+ * @since 05.10.2018
+ *
+ */
+public class OpenDistributionStatusWizardAdminHandler {
+    String commandID = "eu.etaxonomy.taxeditor.handler.e4.OpenDistributionStatusWizardAdminHandler";
+
+    @Execute
+    public void execute(@Named(IServiceConstants.ACTIVE_SHELL)Shell shell) {
+
+        AvailableDistributionStatusWizard wizard = new AvailableDistributionStatusWizard();
+
+        WizardDialog dialog = new WizardDialog(shell,
+                wizard);
+
+        dialog.open();
+    }
+}
index c68d372cd78141a475f02809fe2df61a19c90e0a..19518c9846fe8d523c0351810267dafcdb868ca7 100644 (file)
@@ -431,6 +431,21 @@ public class Messages extends NLS {
 
     public static String DateDetail_parseText_tooltip;
 
+
+    public static String GeneralPreference_open_common_name_area_selection;
+
+
+    public static String DatabasePreferncesPage_Show_Specimen;
+
+
+    public static String SpecimenConfiguration_description;
+
+
+    public static String DatabasePreferncesPage_Show_IOMenu;
+
+
+    public static String Distribution_status_selection;
+
     static {
         // initialize resource bundle
         NLS.initializeMessages(BUNDLE_NAME, Messages.class);
index d8b3431ddb0608f02359002701786537848992fa..1b93ba3f390ab71f3249749703b8010378b8bf27 100644 (file)
@@ -331,3 +331,9 @@ NameDetailsViewConfiguration_description=Configure the simple name details view.
 
 DateDetail_parseText_tooltip=This field is for quick data entry. The content is parsed and the atomised fields will be filled, the content of this field will not be saved.
 
+GeneralPreference_open_common_name_area_selection=Selection of vocabularies for common name distributions
+
+DatabasePreferncesPage_Show_Specimen=Show specimen related views and menu entries
+SpecimenConfiguration_description=Select whether you want to edit specimen related data and how they should be displayed.
+DatabasePreferncesPage_Show_IOMenu=Show Import/Export menu entries
+Distribution_status_selection=Status Selection
index f76b29bf80c97dd0e4d26043391264a47f72214c..34baf583fe29d108f2b169a327a2638e5349bcac 100644 (file)
@@ -330,3 +330,9 @@ NameDetailsViewConfiguration_description=Konfiguration eines vereinfachten Namen
 
 DateDetail_parseText_tooltip=Dieses Feld ist für die schnelle Dateneingabe. Der Inhalt des Feldes wird geparsed und in die atomisierten Felder geschrieben. Der Inhalt des Feldes selber wird nicht gespeichert.
 
+GeneralPreference_open_common_name_area_selection=Auswahl der Vokabulare für die Verbreitung der Common Names
+
+DatabasePreferncesPage_Show_Specimen=Zeige Specimenbezogene Views und Menüeintrgäge
+SpecimenConfiguration_description=Wählen Sie aus, ob sie specimenbezogene Daten editieren wollen und wie diese angezeigt werden sollen.
+DatabasePreferncesPage_Show_IOMenu=Zeige Import/Export Menü Einträge an
+Distribution_status_selection=Status Auswahl
index 1401585a0ae78d115ea5e8fa214f0b2160c20947..7d4f3bbe3972847c5bbbb3a732a46465dc49a997 100644 (file)
@@ -34,6 +34,7 @@ public class AdminGeneralPreferences extends FieldEditorPreferencePageE4 {
                 IPreferenceKeys.SHOW_EXPERIMENTAL_FEATURES,
                 "Show experimental features", getFieldEditorParent()));
 
+
     }
 
 }
index 94e74da726ebf544c00693d996898fdc454dce2c..df1e66558dd0e59bc7481385e17343b293f6a2b8 100644 (file)
@@ -38,6 +38,7 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage {
     boolean isShowSymbol;
     boolean isShowIdInVocabulary;
     Composite child ;
+    boolean isAllowOverride;
 
     @Override
     protected Control createContents(Composite parent) {
@@ -46,7 +47,7 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage {
         composite.setLayout(new GridLayout());
 
         CdmPreference distributionEditorPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.DistributionEditorActivated);
-        boolean isAllowOverride = false;
+        isAllowOverride = false;
             if (distributionEditorPref != null){
                 isAllowOverride = distributionEditorPref.isAllowOverride();
             }
@@ -142,11 +143,13 @@ public class ChecklistEditorGeneralPreference extends CdmPreferencePage {
 
     @Override
     public boolean performOk() {
-        PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE, isEditorActivated);
-        PreferencesUtil.setSortNamedAreasByOrderInVocabulary(isSortByVocabularyOrder);
-        PreferencesUtil.setShowRankInChecklistEditor(isShowRank);
-        PreferencesUtil.setShowSymbolInChecklistEditor(isShowSymbol);
-        PreferencesUtil.setShowIdInVocabularyInChecklistEditor(isShowIdInVocabulary);
+        if (isAllowOverride){
+            PreferencesUtil.getPreferenceStore().setValue(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE, isEditorActivated);
+            PreferencesUtil.setSortNamedAreasByOrderInVocabulary(isSortByVocabularyOrder);
+            PreferencesUtil.setShowRankInChecklistEditor(isShowRank);
+            PreferencesUtil.setShowSymbolInChecklistEditor(isShowSymbol);
+            PreferencesUtil.setShowIdInVocabularyInChecklistEditor(isShowIdInVocabulary);
+        }
         return true;
     }
 
index 2c5eaf5954531c94bddf59aab0498e79c593fde5..fa3a812c617d9f84c6d6eadc559dd9f19c6aec55 100644 (file)
@@ -136,9 +136,9 @@ public interface IPreferenceKeys {
     public static final String SHOW_LIFE_FORM = "eu.etaxonomy.taxeditor.specimen.showLifeForm";
     public static final String SHOW_LIFE_FORM_OVERRIDE = "eu.etaxonomy.taxeditor.specimen.showLifeForm.override";
     public static final String SHOW_LIFE_FORM_ALLOW_OVERRIDE = "eu.etaxonomy.taxeditor.specimen.showLifeForm.allowOverride";
-
-    public static final String ALLOW_OVERRIDE_SPECIMEN_PREF = "eu.etaxonomy.taxeditor.specimen.allowOverride";
-    public static final String OVERRIDE_SPECIMEN_PREF = "eu.etaxonomy.taxeditor.specimen.override";
+    public static final String SHOW_SPECIMEN = "eu.etaxonomy.taxeditor.specimen.showSpecimen";
+    public static final String SHOW_SPECIMEN_ALLOW_OVERRIDE = "eu.etaxonomy.taxeditor.specimen.showSpecimen.allowOverride";
+    public static final String SHOW_SPECIMEN_OVERRIDE = "eu.etaxonomy.taxeditor.specimen.showSpecimen.override";
 
     //Distribution Editor preferences
     public static final String DISTRIBUTION_AREA_PREFRENCES_ACTIVE = "eu.etaxonomy.taxeditor.checklist.distributionAreaPreferencesActive";
@@ -152,6 +152,11 @@ public interface IPreferenceKeys {
     public static final String DISTRIBUTION_AREA_PREFRENCES_ACTIVE_OVERRIDE = "eu.etaxonomy.taxeditor.checklist.distributionAreaPreferencesActiveOverride";
     public static final String DISTRIBUTION_AREA_PREFRENCES_ACTIVE_ALLOW_OVERRIDE = "eu.etaxonomy.taxeditor.checklist.distributionAreaPreferencesActiveAllowOverride";
 
+    public static final String DISTRIBUTION_STATUS_OVERRIDE = "eu.etaxonomy.taxeditor.distribution.status";
+
+    public static final String COMMON_NAME_AREA_VOCABULARIES = "eu.etaxonomy.taxeditor.commonNames.areaVocabularies";
+    public static final String COMMON_NAME_AREA_VOCABULARIES_ALLOW_OVERRIDE = "eu.etaxonomy.taxeditor.commonNames.areaVocabularies.allowOverride";
+    public static final String COMMON_NAME_AREA_VOCABULARIES_OVERRIDE = "eu.etaxonomy.taxeditor.commonNames.areaVocabularies.override";
 //Name details view
     public static final String SHOW_SIMPLE_NAME_DETAILS_SECTION = "eu.etaxonomy.taxeditor.name.showSimpleName";
     public static final String SHOW_SIMPLE_NAME_DETAILS_TAXON = "eu.etaxonomy.taxeditor.name.showNameTaxon";
@@ -236,6 +241,7 @@ public interface IPreferenceKeys {
     public static final String PUBLISH = "PUBLISH";
 
     public static final String FILTER_COMMON_NAME_REFERENCES = "eu.etaxonomy.taxeditor.references.selection.filterCommonNameReferences";
+    public static final String SHOW_IO_MENU = "eu.etaxonomy.taxeditor.menu.showIO";
 
 
 
index 8018e9393507b15f77cb81d3dde0ef0991883e6e..25b549acbf8a70f5cfb848e0c92d9fc7a77423f3 100644 (file)
@@ -23,6 +23,8 @@ public class PreferencePropertyTester extends PropertyTester {
 
     private static final String SHOW_CHECKLIST_EDITOR = "isChecklistEditorEnabled";
 
+    private static final String SHOW_IO_MENU = "isShowIOMenuEnabled";
+
        @Override
        public boolean test(Object receiver, String property, Object[] args,
                        Object expectedValue) {
@@ -32,6 +34,9 @@ public class PreferencePropertyTester extends PropertyTester {
            if(SHOW_CHECKLIST_EDITOR.equals(property)){
                return isChecklistEditorEnabled();
            }
+           if(SHOW_IO_MENU.equals(property)){
+            return isShowIOMenuEnabled();
+        }
                return false;
        }
 
@@ -45,5 +50,8 @@ public class PreferencePropertyTester extends PropertyTester {
        private boolean isChecklistEditorEnabled() {
         return PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.DISTRIBUTION_AREA_PREFRENCES_ACTIVE);
     }
+       private boolean isShowIOMenuEnabled() {
+        return PreferencesUtil.getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_IO_MENU);
+    }
 
 }
index 96a76bcc31727fbd6e626482a3f650c1de164730..430b7b7f662637d5372b0f07ce389391fffb1043 100644 (file)
@@ -45,12 +45,14 @@ import eu.etaxonomy.cdm.api.service.config.IFindTaxaAndNamesConfigurator;
 import eu.etaxonomy.cdm.common.CdmUtils;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator;
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;
 import eu.etaxonomy.cdm.model.common.ICdmBase;
 import eu.etaxonomy.cdm.model.common.IDefinedTerm;
 import eu.etaxonomy.cdm.model.common.ISimpleTerm;
 import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.model.common.MarkerType;
 import eu.etaxonomy.cdm.model.common.TermBase;
+import eu.etaxonomy.cdm.model.common.TermType;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
 import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
@@ -65,6 +67,7 @@ import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.model.NomenclaturalCodeHelper;
 import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.store.TermStore;
 import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
 import eu.etaxonomy.taxeditor.ui.dialog.DefaultLanguageDialog;
 
@@ -211,7 +214,7 @@ public class PreferencesUtil implements IPreferenceKeys {
     }
 
        public static boolean isShowTaxonAssociations(){
-        if (getPreferenceStore().getBoolean(OVERRIDE_SPECIMEN_PREF) && getPreferenceStore().getBoolean(ALLOW_OVERRIDE_SPECIMEN_PREF)) {
+        if (getPreferenceStore().getBoolean(SHOW_TAXON_ASSOCIATIONS_OVERRIDE) && getPreferenceStore().getBoolean(SHOW_TAXON_ASSOCIATIONS_ALLOW_OVERRIDE)) {
             return getPreferenceStore().getBoolean(SHOW_TAXON_ASSOCIATIONS);
         } else{
             CdmPreference pref = getPreferenceFromDB(PreferencePredicate.ShowTaxonAssociations);
@@ -221,7 +224,7 @@ public class PreferencesUtil implements IPreferenceKeys {
     }
 
        public static boolean isShowLifeForm(){
-        if (getPreferenceStore().getBoolean(OVERRIDE_SPECIMEN_PREF) && getPreferenceStore().getBoolean(ALLOW_OVERRIDE_SPECIMEN_PREF)) {
+        if (getPreferenceStore().getBoolean(SHOW_LIFE_FORM_OVERRIDE) && getPreferenceStore().getBoolean(SHOW_LIFE_FORM_ALLOW_OVERRIDE)) {
             return getPreferenceStore().getBoolean(SHOW_LIFE_FORM);
         } else{
             CdmPreference pref = getPreferenceFromDB(PreferencePredicate.ShowLifeForm);
@@ -231,7 +234,7 @@ public class PreferencesUtil implements IPreferenceKeys {
     }
 
        public static boolean isDeterminationOnlyForFieldUnits(){
-        if (getPreferenceStore().getBoolean(OVERRIDE_SPECIMEN_PREF) && getPreferenceStore().getBoolean(ALLOW_OVERRIDE_SPECIMEN_PREF)) {
+        if (getPreferenceStore().getBoolean(DETERMINATION_ONLY_FOR_FIELD_UNITS_OVERRIDE) && getPreferenceStore().getBoolean(DETERMINATIONS_ONLY_FOR_FIELDUNITS_ALLOW_OVERRIDE)) {
             return getPreferenceStore().getBoolean(DETERMINATION_ONLY_FOR_FIELD_UNITS);
         } else{
             CdmPreference pref = getPreferenceFromDB(PreferencePredicate.DeterminationOnlyForFieldUnits);
@@ -241,7 +244,7 @@ public class PreferencesUtil implements IPreferenceKeys {
     }
 
        public static boolean isCollectingAreaInGeneralSection(){
-        if (getPreferenceStore().getBoolean(OVERRIDE_SPECIMEN_PREF) && getPreferenceStore().getBoolean(ALLOW_OVERRIDE_SPECIMEN_PREF)) {
+        if (getPreferenceStore().getBoolean(SHOW_COLLECTING_AREAS_IN_GENERAL_SECTION_OVERRIDE) && getPreferenceStore().getBoolean(SHOW_COLLECTING_AREAS_IN_GENERAL_SECTION_ALLOW_OVERRIDE)) {
             return getPreferenceStore().getBoolean(SHOW_COLLECTING_AREAS_IN_GENERAL_SECTION);
         } else{
             CdmPreference pref = getPreferenceFromDB(PreferencePredicate.ShowCollectingAreasInGeneralSection);
@@ -597,7 +600,7 @@ public class PreferencesUtil implements IPreferenceKeys {
                getPreferenceStore().setDefault(SORT_TAXA_BY_RANK_AND_NAME, true);
                //override db preferences
                getPreferenceStore().setDefault(ABCD_IMPORT_OVERRIDE, false);
-               getPreferenceStore().setDefault(OVERRIDE_SPECIMEN_PREF, false);
+               getPreferenceStore().setDefault(SHOW_SPECIMEN_OVERRIDE, false);
                getPreferenceStore().setDefault(OVERRIDE_NAME_DETAILS, false);
                getPreferenceStore().setDefault(DISTRIBUTION_AREA_PREFRENCES_ACTIVE_OVERRIDE, false);
                getPreferenceStore().setDefault(FILTER_COMMON_NAME_REFERENCES, false);
@@ -1605,7 +1608,20 @@ public static void updateDBPreferences() {
 
     updateAbcdImportConfigurationPreference();
 
+    preference = getPreferenceFromDB(PreferencePredicate.ShowImportExportMenu);
+    if (preference != null){
+        if(!prefStore.getBoolean(SHOW_IO_MENU) ||  !preference.isAllowOverride()){
+            prefStore.setValue(SHOW_IO_MENU, preference.getValue());
+        }
+    }
     //Specimen Details
+    preference = getPreferenceFromDB(PreferencePredicate.ShowSpecimen);
+    if (preference != null){
+        if(!prefStore.getBoolean(SHOW_SPECIMEN) ||  !preference.isAllowOverride()){
+            prefStore.setValue(SHOW_SPECIMEN, preference.getValue());
+        }
+    }
+
     preference = getPreferenceFromDB(PreferencePredicate.ShowTaxonAssociations);
     if (preference != null){
         if(!prefStore.getBoolean(SHOW_TAXON_ASSOCIATIONS_OVERRIDE) ||  !preference.isAllowOverride()){
@@ -1655,6 +1671,29 @@ public static void updateDBPreferences() {
         }
     }
 
+    preference = getPreferenceFromDB(PreferencePredicate.AvailableDistributionStatus);
+    if (preference != null){
+        if (!prefStore.getBoolean(DISTRIBUTION_STATUS_OVERRIDE) || !preference.isAllowOverride()){
+            //get terms for the uuids... and add them to the termManager as preferred terms
+            ITermService termService = CdmStore.getService(ITermService.class);
+            String[] uuidArray = preference.getValue().split(";");
+            List<UUID> uuidList = new ArrayList();
+            for (String uuidString:uuidArray){
+                uuidList.add(UUID.fromString(uuidString));
+            }
+
+            List<DefinedTermBase> definedTermBases = termService.load(uuidList, null);
+            CdmStore.getTermManager().setPreferredTerms(definedTermBases, TermStore.getTerms(TermType.PresenceAbsenceTerm, null));
+        }
+    }
+
+    preference = getPreferenceFromDB(PreferencePredicate.CommonNameAreaVocabularies);
+    if (preference != null){
+        if (!prefStore.getBoolean(COMMON_NAME_AREA_VOCABULARIES_OVERRIDE) ||  !preference.isAllowOverride()){
+            prefStore.setValue(COMMON_NAME_AREA_VOCABULARIES, preference.getValue());
+        }
+    }
+
 }
 
 
index b2586a48965a4573207f611108e3c48e37c2b61d..bee6a427cf4ebd75c6523fbaaa52229214e61ebb 100644 (file)
@@ -72,7 +72,7 @@ public class SpecimenOrObservationPreferences extends FieldEditorPreferencePageE
 
     @Override
     protected void createFieldEditors() {
-        if (getPreferenceStore().getBoolean(IPreferenceKeys.ALLOW_OVERRIDE_SPECIMEN_PREF)) {
+        if (getPreferenceStore().getBoolean(IPreferenceKeys.SHOW_SPECIMEN_ALLOW_OVERRIDE)) {
             addField(new BooleanFieldEditor(IPreferenceKeys.DETERMINATION_ONLY_FOR_FIELD_UNITS,
                     "Taxon determination only on FieldUnit level",
                     getFieldEditorParent()));
@@ -90,7 +90,7 @@ public class SpecimenOrObservationPreferences extends FieldEditorPreferencePageE
             label.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1));
 
             addField(new BooleanFieldEditor(
-                    IPreferenceKeys.OVERRIDE_SPECIMEN_PREF,
+                    IPreferenceKeys.SHOW_SPECIMEN_OVERRIDE,
                     "Use local specimen preferences",
                     getFieldEditorParent()));
 
@@ -34,21 +34,24 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  * @since 04.06.2018
  *
  */
-public abstract class AbstractAreaSelectionWizard extends WizardPage {
+public abstract class AbstractTermSelectionWizardPage extends WizardPage {
 
     private ColumnViewer viewer;
     private List<TermVocabulary<DefinedTermBase>> vocabularies = new ArrayList<>();
     boolean localPref;
-    List<TermBase> listCheckedTerms;
-    List<TermBase> listGrayedTerms;
+    List<TermBase> listCheckedTerms = new ArrayList<>();
+    List<TermBase> listGrayedTerms = new ArrayList<>();
+
+    TermType type;
 
     /**
      * @param pageName
      */
-    protected AbstractAreaSelectionWizard(String pageName) {
+    protected AbstractTermSelectionWizardPage(String pageName, TermType type) {
         super(pageName);
         // TODO check if configuration exists
         CdmStore.getCurrentSessionManager().bindNullSession();
+        this.type = type;
     }
 
     /**
@@ -102,22 +105,7 @@ public abstract class AbstractAreaSelectionWizard extends WizardPage {
                 listGrayedTerms = new ArrayList();
             }
             getTermsFromStringValues(listGrayed, this.listGrayedTerms);
-            NamedAreaWrapper wrapper;
-//            for(TermBase element : listGrayedTerms){
-//                if(element != null){
-//                    if (element instanceof DefinedTermBase){
-//                        wrapper = new NamedAreaWrapper((DefinedTermBase)element, true, null);
-//                        if (getViewer() instanceof CheckboxTreeViewer) {
-//                            ((CheckboxTreeViewer)getViewer()).setGrayChecked(wrapper, true);
-//                        }
-//                    }else{
-//                        if (getViewer() instanceof CheckboxTreeViewer) {
-//                            ((CheckboxTreeViewer)getViewer()).setGrayChecked(element, true);
-//                        }
-//                    }
-//                }
-//
-//            }
+
         }
         if (checkedValues != null && checkedValues != "") {
             String[] listChecked = checkedValues.split(";");
@@ -134,32 +122,6 @@ public abstract class AbstractAreaSelectionWizard extends WizardPage {
             }
             getTermsFromStringValues(checked, listCheckedTerms);
 
-//            Object[] elements = ((CheckboxTreeViewer)getViewer()).getExpandedElements();
-//            for (Object element: elements){
-//                if (element instanceof NamedAreaWrapper){
-//                    if (listCheckedTerms.contains(((NamedAreaWrapper)element).getNamedArea())){
-//                        ((CheckboxTreeViewer)getViewer()).setChecked(element, true);
-//                    }
-//                    if (listGrayedTerms.contains(((NamedAreaWrapper)element).getNamedArea())){
-//                        ((CheckboxTreeViewer)getViewer()).setGrayChecked(element, true);
-//                    }
-//                }
-//            }
-            NamedAreaWrapper wrapper;
-//            for(Object element : listCheckedTerms){
-//                if(element != null){
-//                    if (element instanceof DefinedTermBase){
-//                        wrapper = new NamedAreaWrapper((DefinedTermBase)element, true, null);
-//                        if (getViewer() instanceof CheckboxTreeViewer) {
-//                            ((CheckboxTreeViewer)getViewer()).setChecked(wrapper, true);
-//                        }
-//                    }else{
-//                        if (getViewer() instanceof CheckboxTreeViewer) {
-//                            ((CheckboxTreeViewer)getViewer()).setChecked(element, true);
-//                        }
-//                    }
-//                }
-//            }
         }
     }
 
@@ -208,7 +170,7 @@ public abstract class AbstractAreaSelectionWizard extends WizardPage {
 
         }else{
             vocs = CdmStore.getService(IVocabularyService.class).findByTermType(
-                    TermType.NamedArea, null);
+                    type, null);
         }
         setVocabularies(vocs);
     }
index e34ce4b807e96b2611373848035703ff2f7a6449..13758f00fd7147e554ede36d33524eaf97bf13ce 100755 (executable)
@@ -12,7 +12,6 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 
-import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.viewers.CheckStateChangedEvent;
 import org.eclipse.jface.viewers.CheckboxTableViewer;
 import org.eclipse.jface.viewers.ICheckStateListener;
@@ -26,6 +25,8 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
 
 import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
 import eu.etaxonomy.taxeditor.editor.definedterm.VocabularyContentProvider;
 import eu.etaxonomy.taxeditor.editor.definedterm.VocabularyLabelProvider;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
@@ -37,15 +38,18 @@ import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
  * @since 04.06.2018
  *
  */
-public class AvailableAreaVocabulariesPage  extends AbstractAreaSelectionWizard implements ICdmEntitySessionEnabled{
-
+public class AvailableAreaVocabulariesPage  extends AbstractTermSelectionWizardPage implements ICdmEntitySessionEnabled{
 
+    CdmPreference pref;
+    String featureTitle;
     /**
      * @param pageName
      */
-    public AvailableAreaVocabulariesPage(String pageName, boolean localPref) {
-        super(pageName);
+    public AvailableAreaVocabulariesPage(String pageName, boolean localPref, CdmPreference pref, String featureTitle) {
+        super(pageName, TermType.NamedArea);
         this.localPref = localPref;
+        this.pref = pref;
+        this.featureTitle = featureTitle;
 
     }
 
@@ -54,19 +58,20 @@ public class AvailableAreaVocabulariesPage  extends AbstractAreaSelectionWizard
      */
     @Override
     public void createControl(Composite parent) {
-        IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore();
-       // String checkedValues = preferenceStore.getString(PreferencesUtil.DISTRIBUTION_VOCABULARIES);
-
-        String vocString = PreferencesUtil.getPreferredVocabulariesForDistributionEditor(localPref);
-       // String grayedValues = preferenceStore.getString(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS_GRAYED);
-        setTitle("Select vocabularies for Distribution Editor");
-        setDescription("In order to be able to modify and see the distribution status of taxa,\n"
-                + "you have to select the areas which you like to see.");
+        String vocString = null;
+        if (localPref){
+            vocString = PreferencesUtil.getPreferredVocabulariesForDistributionEditor(localPref);
+        }else if (pref != null){
+            vocString = pref.getValue();
+        }
+        setTitle("Select Vocabularies for "+ featureTitle);
+        setDescription("In order to be able to modify and see the "+ featureTitle +" of taxa,\n"
+                + "you have to select the vocabularies to select the areas from.");
         Composite composite = new Composite(parent, SWT.NULL);
         composite.setLayout(new GridLayout());
         setViewer(CheckboxTableViewer.newCheckList(composite, SWT.NULL));
         ((CheckboxTableViewer)getViewer()).getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-//        viewer.setContentProvider(new TermContentProvider());
+
         Styler styler = new Styler() {
             @Override
             public void applyStyles(TextStyle textStyle) {
@@ -101,6 +106,7 @@ public class AvailableAreaVocabulariesPage  extends AbstractAreaSelectionWizard
             }
         });
         rememberCheckedValues(vocString, null);
+        ((CheckboxTableViewer)getViewer()).setCheckedElements(listCheckedTerms.toArray());
         setControl(composite);
 
     }
@@ -110,7 +116,6 @@ public class AvailableAreaVocabulariesPage  extends AbstractAreaSelectionWizard
      */
     @Override
     public ICdmEntitySession getCdmEntitySession() {
-        // TODO Auto-generated method stub
         return null;
     }
 
@@ -119,7 +124,6 @@ public class AvailableAreaVocabulariesPage  extends AbstractAreaSelectionWizard
      */
     @Override
     public <T extends CdmBase> Collection<T> getRootEntities() {
-        // TODO Auto-generated method stub
         return null;
     }
 
@@ -128,7 +132,6 @@ public class AvailableAreaVocabulariesPage  extends AbstractAreaSelectionWizard
      */
     @Override
     public Map<Object, List<String>> getPropertyPathsMap() {
-        // TODO Auto-generated method stub
         return null;
     }
 
index 1f0c048e0148e3f73589344304ae430220e665f0..c4d0513e9da27f00618c0995edc1d96c0e1a6582 100755 (executable)
@@ -29,6 +29,7 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
 
 import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.TermType;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
@@ -39,13 +40,13 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  * @date 21.07.2014
  *
  */
-public class AvailableDistributionPage extends AbstractAreaSelectionWizard implements ICdmEntitySessionEnabled {
+public class AvailableDistributionPage extends AbstractTermSelectionWizardPage implements ICdmEntitySessionEnabled {
 
     /**
      * @param pageName
      */
     protected AvailableDistributionPage(String pageName) {
-        super(pageName);
+        super(pageName, TermType.NamedArea);
         this.localPref = true;
 
     }
@@ -127,7 +128,7 @@ public class AvailableDistributionPage extends AbstractAreaSelectionWizard imple
         // TODO: write listener or toggle button to select all named areas
 
         rememberCheckedValues(checkedValues, grayedValues);
-        ((CheckboxTreeViewer)getViewer()).expandToLevel(2);
+       // ((CheckboxTreeViewer)getViewer()).expandToLevel(2);
         setControl(composite);
     }
 
@@ -148,39 +149,6 @@ public class AvailableDistributionPage extends AbstractAreaSelectionWizard imple
     }
 
 
-//    /**
-//     *
-//     * @param path
-//     */
-//    private void checkParents(final TreePath path) {
-//        if (path == null) {
-//            return;
-//        }
-//        TermContentProvider tcp = new TermContentProvider();
-//        Object treeElement = path.getLastSegment();
-//
-//        if (treeElement != null) {
-//            boolean allChecked = true;
-//            boolean allUnchecked = true;
-//            for (final Object fieldElement : tcp.getChildren(treeElement)) {
-//                allChecked = allChecked && ((CheckboxTreeViewer)getViewer()).getChecked(fieldElement);
-//                allUnchecked = allUnchecked && !((CheckboxTreeViewer)getViewer()).getChecked(fieldElement);
-//            }
-//            if (allUnchecked) {
-//                ((CheckboxTreeViewer)getViewer()).setChecked(treeElement, false);
-//                ((CheckboxTreeViewer)getViewer()).setGrayed(treeElement, false);
-//            } else if (allChecked) {
-//                ((CheckboxTreeViewer)getViewer()).setChecked(treeElement, true);
-//                ((CheckboxTreeViewer)getViewer()).setGrayed(treeElement, false);
-//            } else if (!allUnchecked && !allChecked) {
-//                ((CheckboxTreeViewer)getViewer()).setChecked(treeElement, true);
-//                ((CheckboxTreeViewer)getViewer()).setGrayed(treeElement, true);
-//            }
-//        }
-//        checkParents(path.getParentPath());
-//    }
-
-
     /**
     *
     * @param path
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusPage.java
new file mode 100755 (executable)
index 0000000..d9694b5
--- /dev/null
@@ -0,0 +1,155 @@
+/**
+* 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.preference.wizard;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.jface.viewers.CheckStateChangedEvent;
+import org.eclipse.jface.viewers.CheckboxTreeViewer;
+import org.eclipse.jface.viewers.ColumnViewer;
+import org.eclipse.jface.viewers.ICheckStateListener;
+import org.eclipse.jface.viewers.StyledString.Styler;
+import org.eclipse.jface.viewers.ViewerComparator;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.TextStyle;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+
+import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;
+import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.common.TermVocabulary;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.taxeditor.editor.definedterm.TermContentProvider;
+import eu.etaxonomy.taxeditor.editor.definedterm.TermLabelProvider;
+import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
+import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
+
+/**
+ * @author k.luther
+ * @since 05.10.2018
+ *
+ */
+public class AvailableDistributionStatusPage extends AbstractTermSelectionWizardPage implements ICdmEntitySessionEnabled{
+
+    private ColumnViewer viewer;
+    private List<TermVocabulary<DefinedTermBase>> vocabularies = new ArrayList<>();
+    private CdmPreference pref;
+
+
+    public AvailableDistributionStatusPage(String pageName, CdmPreference pref) {
+        super(pageName, TermType.PresenceAbsenceTerm);
+        this.pref = pref;
+
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void createControl(Composite parent) {
+
+       // String checkedValues = preferenceStore.getString(PreferencesUtil.DISTRIBUTION_VOCABULARIES);
+
+
+       // String grayedValues = preferenceStore.getString(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS_GRAYED);
+        setTitle("Select Distribution Status");
+        setDescription("In order to be able to modify and see the distribution status of taxa,\n"
+                + "you have to select the status the user should be allowed to use.");
+        Composite composite = new Composite(parent, SWT.NULL);
+        composite.setLayout(new GridLayout());
+        setViewer(new CheckboxTreeViewer(composite, SWT.NULL));
+        ((CheckboxTreeViewer)getViewer()).getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+//        viewer.setContentProvider(new TermContentProvider());
+        Styler styler = new Styler() {
+            @Override
+            public void applyStyles(TextStyle textStyle) {
+                textStyle.foreground = Display.getCurrent().getSystemColor(SWT.COLOR_BLACK);
+            }
+        };
+        getViewer().setContentProvider(new TermContentProvider());
+        getViewer().setLabelProvider(new TermLabelProvider(styler));
+        getViewer().setComparator(new ViewerComparator());
+        ((CheckboxTreeViewer)getViewer()).addCheckStateListener(new ICheckStateListener() {
+
+            private boolean ignoreCheckEvent = false;
+
+            @Override
+            public void checkStateChanged(CheckStateChangedEvent event) {
+
+
+                if (ignoreCheckEvent ) {
+                    return;
+                }
+
+                ignoreCheckEvent = true;
+
+                try {
+
+
+                }
+                finally {
+                    ignoreCheckEvent = false;
+                }
+
+            }
+        });
+        String checkedValues = null;
+        if (pref != null){
+            checkedValues = pref.getValue();
+        }
+        rememberCheckedValues(checkedValues, null);
+        ((CheckboxTreeViewer)getViewer()).setCheckedElements(listCheckedTerms.toArray());
+        ((CheckboxTreeViewer)getViewer()).expandToLevel(2);
+        setControl(composite);
+
+    }
+
+
+    @Override
+    public ColumnViewer getViewer() {
+        return viewer;
+    }
+
+    @Override
+    public void setViewer(ColumnViewer viewer) {
+        this.viewer = viewer;
+    }
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public ICdmEntitySession getCdmEntitySession() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public <T extends CdmBase> Collection<T> getRootEntities() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public Map<Object, List<String>> getPropertyPathsMap() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusWizard.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/wizard/AvailableDistributionStatusWizard.java
new file mode 100755 (executable)
index 0000000..527a32f
--- /dev/null
@@ -0,0 +1,159 @@
+/**
+* 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.preference.wizard;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import org.apache.commons.lang.StringUtils;
+import org.eclipse.jface.viewers.CheckboxTreeViewer;
+import org.eclipse.jface.wizard.IWizardPage;
+import org.eclipse.jface.wizard.Wizard;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
+import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author k.luther
+ * @since 05.10.2018
+ *
+ */
+public class AvailableDistributionStatusWizard extends Wizard implements IConversationEnabled{
+    private ConversationHolder conversation;
+    private final AvailableDistributionStatusPage aPage;
+    CdmPreference pref;
+
+
+    public AvailableDistributionStatusWizard() {
+        setWindowTitle("Distribution Status Selection Wizard");
+        // TODO if preferenceStore has elements checked load elements in wizard
+        pref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.AvailableDistributionStatus);
+        aPage = new AvailableDistributionStatusPage("AvailableDistributionStatusPage", pref);
+    }
+
+    @Override
+    public void addPages() {
+        addPage(aPage);
+    }
+
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public IWizardPage getPage(String pageName) {
+
+        return aPage;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public int getPageCount() {
+       return 1;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public IWizardPage[] getPages() {
+        IWizardPage[] pages = new IWizardPage[1];
+        pages [0] = aPage;
+        return pages;
+    }
+
+
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public String getWindowTitle() {
+
+        return "Distribution Status Selection Wizard";
+    }
+
+
+
+
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean performCancel() {
+        // TODO Auto-generated method stub
+        return true;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean performFinish() {
+        Object[] checkedElements = ((CheckboxTreeViewer)aPage.getViewer()).getCheckedElements();
+
+        List<UUID> listUIIDChecked = new ArrayList<>();
+        List<DefinedTermBase> preferredTerms = new ArrayList<>();
+        for (Object o : checkedElements) {
+               if(o instanceof DefinedTermBase){
+                   DefinedTermBase otb = (DefinedTermBase) o;
+                   listUIIDChecked.add(otb.getUuid());
+                   preferredTerms.add(otb);
+                }
+            }
+           String saveCheckedElements = StringUtils.join(listUIIDChecked, ";");
+           pref = CdmPreference.NewInstance(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.AvailableDistributionStatus, saveCheckedElements);
+
+           PreferencesUtil.setPreferenceToDB(pref);
+           CdmStore.getTermManager().setPreferredTerms(preferredTerms, aPage.getVocabularies().get(0).getTerms());
+           return true;
+    }
+
+
+
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void update(CdmDataChangeMap changeEvents) {
+        // TODO Auto-generated method stub
+
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public ConversationHolder getConversationHolder() {
+        if (conversation == null) {
+            conversation = CdmStore.createConversation();
+        }
+        return conversation;
+    }
+
+}
index 33e4cdbf901bdbbbae24bf3ced0a2ffb9fd98b4a..350d8bc0b1952b052cd059695c951716202f65bd 100644 (file)
@@ -83,6 +83,7 @@ public class AvailableDistributionWizard extends Wizard implements IConversation
             String saveGrayedElements = StringUtils.join(listUIIDGrayed, ";");
             IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore();
             //ToDo, if whole vocabulary is selected, save the vocabulary not all areas
+
             PreferencesUtil.setPreferredNamedAreasForDistributionEditor(saveCheckedElements, saveGrayedElements, false);
             preferenceStore.setValue(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS, saveCheckedElements);
             preferenceStore.setValue(PreferencesUtil.DISTRIBUTION_AREA_OCCURENCE_STATUS_GRAYED, saveGrayedElements);
index abe9ebd28349a4b1dc0a1ed09973fb815f541b40..fa71101fa4749509b32c6c43ba2ec36dc7493690 100755 (executable)
@@ -19,6 +19,9 @@ import org.eclipse.jface.wizard.Wizard;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.model.common.TermVocabulary;
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
+import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
@@ -33,12 +36,14 @@ public class AvailableVocabularyWizard extends Wizard implements IConversationEn
     private ConversationHolder conversation;
     private final AvailableAreaVocabulariesPage aPage;
     private boolean localPref = true;
+    private CdmPreference pref;
 
-    public AvailableVocabularyWizard(boolean localPref) {
+    public AvailableVocabularyWizard(boolean localPref, CdmPreference pref, String featureTitle) {
         setWindowTitle("Vocabulary Selection Wizard");
         // TODO if preferenceStore has elements checked load elements in wizard
         this.localPref = localPref;
-        aPage = new AvailableAreaVocabulariesPage("AvailableDistributionPage", localPref);
+        this.pref = pref;
+        aPage = new AvailableAreaVocabulariesPage("AvailableDistributionPage", localPref, pref, featureTitle);
     }
 
     @Override
@@ -119,9 +124,11 @@ public class AvailableVocabularyWizard extends Wizard implements IConversationEn
                 }
             }
            String saveCheckedElements = StringUtils.join(listUIIDChecked, ";");
-          // IPreferenceStore preferenceStore = PreferencesUtil.getPreferenceStore();
-           PreferencesUtil.setPreferredVocabulariesForDistributionEditor(saveCheckedElements, localPref);
-          // preferenceStore.setValue(PreferencesUtil.DISTRIBUTION_VOCABULARIES, saveCheckedElements);
+          //
+           CdmPreference savePref = CdmPreference.NewInstance(PreferenceSubject.NewDatabaseInstance(), PreferencePredicate.getByKey(pref.getPredicate()), saveCheckedElements);
+           PreferencesUtil.setPreferenceToDB(savePref);
+
+           PreferencesUtil.updateDBPreferences();
            return true;
     }
 
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/CommonNameNamedAreaSelectionDialog.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/CommonNameNamedAreaSelectionDialog.java
new file mode 100755 (executable)
index 0000000..1e4170d
--- /dev/null
@@ -0,0 +1,72 @@
+/**
+* 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.ui.dialog.selection;
+
+import java.util.UUID;
+
+import org.eclipse.swt.widgets.Shell;
+
+import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+
+/**
+ * @author k.luther
+ * @since 09.10.2018
+ *
+ */
+public class CommonNameNamedAreaSelectionDialog extends NamedAreaSelectionDialog {
+
+    /**
+     * @param shell
+     * @param title
+     * @param multi
+     * @param namedArea
+     * @param preferenceId
+     * @param preselectedVocabularyUuids
+     */
+    protected CommonNameNamedAreaSelectionDialog(Shell shell, String title, boolean multi, NamedArea namedArea,
+            Object preferenceId) {
+        super(shell, title, multi, namedArea, preferenceId, createVocabularyUuidList());
+
+
+    }
+
+    private static UUID[] createVocabularyUuidList() {
+        String preselectedVocString = PreferencesUtil.getPreferenceStore().getString(IPreferenceKeys.COMMON_NAME_AREA_VOCABULARIES);
+        String[] preselectedVocArray = preselectedVocString.split(";");
+        UUID[] uuidList = new UUID[preselectedVocArray.length];
+        int i = 0;
+        for (String uuidString: preselectedVocArray){
+            uuidList[i]= UUID.fromString(uuidString);
+            i++;
+        }
+        return uuidList;
+    }
+
+    /**
+     * Creates a filtered selection dialog to select a named area.
+     *
+     * @param shell
+     *              The shell for displaying this widget
+     * @param namedArea
+     *              A namedArea that should be selected when the dialog opens
+     * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+     * @param preferenceId a class which is used for generating the preference key so that every
+     * dialogs can be grouped to have their own preferences depending on this id
+     * @param preselectedVocabularyUuids the {@link UUID}s of the pre-selected vocabularies
+     * @return a {@link eu.etaxonomy.cdm.model.location.NamedArea} object.
+     */
+    public static NamedArea select(Shell shell, //ConversationHolder conversation,
+            NamedArea namedArea, String preferenceId) {
+        CommonNameNamedAreaSelectionDialog dialog = new CommonNameNamedAreaSelectionDialog(shell, //conversation,
+                "Choose an area", false, namedArea, preferenceId);
+        return getSelectionFromDialog(dialog);
+    }
+}
index e011e4f91f136d7833b9f5a36d9e022b0cfbc4ef..952c591c112f8dfaa2887c112f354a10394a84f4 100644 (file)
@@ -107,7 +107,7 @@ public class NamedAreaSelectionDialog extends
 //             search;//re-init to consider pre-selected vocabularies
        }
 
-    private List<TermVocabulary> createSelectedVocabularies() {
+    protected List<TermVocabulary> createSelectedVocabularies() {
         List<TermVocabulary> tempSelectedVocabularies = new ArrayList<TermVocabulary>();
         for(TermVocabulary vocabulary:selectedVocabularies){
                        if(preselectedVocabularies.contains(vocabulary)
index 8e9bd1c2d3169d0d7cf3a2e53eb428677a6ab9c6..8be381342bb9562ef2148d1f5223b69b14f9a6d6 100644 (file)
@@ -47,6 +47,7 @@ import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.IEntityElement;
 import eu.etaxonomy.taxeditor.ui.section.agent.TeamMemberElement;
 import eu.etaxonomy.taxeditor.ui.section.description.CommonNameSourceElement;
+import eu.etaxonomy.taxeditor.ui.section.description.detail.CommonNameDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.name.AuthorshipDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailElement;
@@ -160,6 +161,10 @@ public class SelectionDialogFactory {
                        return (T) NamedAreaSelectionDialog.select(shell, //conversation,
                                (NamedArea) currentSelection, DerivedUnit.class.getCanonicalName(), Country.uuidCountryVocabulary);
                    }
+                   else if(parentElement instanceof CommonNameDetailElement ){
+                return (T) CommonNameNamedAreaSelectionDialog.select(shell, //conversation,
+                        (NamedArea) currentSelection, DerivedUnit.class.getCanonicalName());
+            }
                    else{
                        return (T) NamedAreaSelectionDialog.select(shell, //conversation,
                                (NamedArea) currentSelection, parentElement.getClass().getCanonicalName());