show menu items only once
authorKatja Luther <k.luther@bgbm.org>
Tue, 10 Nov 2020 13:42:25 +0000 (14:42 +0100)
committerKatja Luther <k.luther@bgbm.org>
Tue, 10 Nov 2020 13:42:25 +0000 (14:42 +0100)
eu.etaxonomy.taxeditor.local/OSGI-INF/l10n/bundle.properties
eu.etaxonomy.taxeditor.local/OSGI-INF/l10n/bundle_de.properties
eu.etaxonomy.taxeditor.local/fragment.e4xmi
eu.etaxonomy.taxeditor.navigation/plugin.xml
eu.etaxonomy.taxeditor.store/fragment.e4xmi
eu.etaxonomy.taxeditor.store/plugin.xml
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/CdmStorePropertyTester.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PreferencesUtil.java

index fca2dcced0aca46caa6886cf15af9d909eea4134..a25b253765abe800bb783cdd5e8ee172cce912a6 100755 (executable)
@@ -2,4 +2,5 @@
 command.label.connect = Connect
 command.label.RE_CONNECT = Re-Connect
 command.name.connect = Connect
-command.name.RE_CONNECT = Re-Connect
\ No newline at end of file
+command.name.RE_CONNECT = Re-Connect
+command.label.5 = Switch User
\ No newline at end of file
index 24c73bb5329676bb2bf06944bd97c0382b39879b..62d41f0ca319a55198426b26699a6a01fb0a8c4f 100755 (executable)
@@ -2,4 +2,5 @@
 command.label.connect = Verbinden
 command.label.RE_CONNECT = Aktualisiere Verbindung
 command.name.connect = Verbinden
-command.name.RE_CONNECT = Aktualisiere Verbindung
\ No newline at end of file
+command.name.RE_CONNECT = Aktualisiere Verbindung
+command.label.5 = Benutzer wechseln
\ No newline at end of file
index a944088ac639d579e2ae19d84fdb0cfaffba4c6d..2f6f1db69818faca72f6e7bb26a20cd2cd0ec329 100755 (executable)
@@ -22,7 +22,7 @@
     <elements xsi:type="commands:Command" xmi:id="_-g_YcIctEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.view.datasource.delete" commandName="Delete"/>
     <elements xsi:type="commands:Command" xmi:id="_ShWvcIcuEee-HITNnU9cVw" elementId="eu.etaxonomy.taxeditor.store.datasource.update" commandName="Update"/>
     <elements xsi:type="commands:Command" xmi:id="_OlOO0O0HEeqksLQRVeqFGA" elementId="eu.etaxonomy.taxeditor.local.operations.showRemotingLoginWindow" commandName="%command.name.connect"/>
-    <elements xsi:type="commands:Command" xmi:id="_3uvF0P5KEeqwiqpCwftRog" elementId="eu.etaxonomy.taxeditor.webapp.command.benutzerwechseln" commandName="Benutzer wechseln"/>
+    <elements xsi:type="commands:Command" xmi:id="_3uvF0P5KEeqwiqpCwftRog" elementId="eu.etaxonomy.taxeditor.webapp.command.benutzerwechseln" commandName="%command.name.switch"/>
     <elements xsi:type="commands:Command" xmi:id="_us_lAP75EeqwiqpCwftRog" elementId="eu.etaxonomy.taxeditor.local.command.reconnect" commandName="%command.name.RE_CONNECT"/>
   </fragments>
   <fragments xsi:type="fragment:StringModelFragment" xmi:id="_pVVyEJFJEeeDJpjGQES7gw" featurename="addons" parentElementId="xpath:/">
     <elements xsi:type="commands:Handler" xmi:id="_6GckEP5KEeqwiqpCwftRog" elementId="eu.etaxonomy.taxeditor.webapp.handler.0" contributionURI="bundleclass://eu.etaxonomy.taxeditor.local/eu.etaxonomy.taxeditor.local.handler.SwitchUserHandlerE4" command="_3uvF0P5KEeqwiqpCwftRog"/>
     <elements xsi:type="commands:Handler" xmi:id="_q26rUP75EeqwiqpCwftRog" elementId="eu.etaxonomy.taxeditor.local.handler.reconnect" contributionURI="bundleclass://eu.etaxonomy.taxeditor.local/eu.etaxonomy.taxeditor.local.handler.ReconnectHandlerE4" command="_us_lAP75EeqwiqpCwftRog"/>
   </fragments>
-  <fragments xsi:type="fragment:StringModelFragment" xmi:id="_udC8YPv3EeqwiqpCwftRog" featurename="children" parentElementId="eu.etaxonomy.taxeditor.workbench.menu.file" positionInList="before:eu.etaxonomy.taxeditor.application.filemenu.io">
+  <fragments xsi:type="fragment:StringModelFragment" xmi:id="_udC8YPv3EeqwiqpCwftRog" featurename="children" parentElementId="eu.etaxonomy.taxeditor.workbench.menu.file" positionInList="index:8">
     <elements xsi:type="menu:HandledMenuItem" xmi:id="_z4gfgPv3EeqwiqpCwftRog" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.commandlabelconnect" label="%command.name.connect" command="_OlOO0O0HEeqksLQRVeqFGA">
       <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_5Sv6oPv3EeqwiqpCwftRog" coreExpressionId="isCdmStoreNotConnected"/>
     </elements>
-    <elements xsi:type="menu:HandledMenuItem" xmi:id="_1OTwcP5KEeqwiqpCwftRog" elementId="eu.etaxonomy.taxeditor.webapp.handledmenuitem.benutzerwechseln" label="Benutzer wechseln">
+    <elements xsi:type="menu:HandledMenuItem" xmi:id="_1OTwcP5KEeqwiqpCwftRog" elementId="eu.etaxonomy.taxeditor.webapp.handledmenuitem.benutzerwechseln" label="Benutzer wechseln" command="_3uvF0P5KEeqwiqpCwftRog">
       <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_80AT8CKQEeuJ57DHLSlqzw" coreExpressionId="isCdmStoreConnected"/>
     </elements>
     <elements xsi:type="menu:HandledMenuItem" xmi:id="_9aCBMP75EeqwiqpCwftRog" elementId="eu.etaxonomy.taxeditor.local.handledmenuitem.commandnamere_connect" label="%command.name.RE_CONNECT" command="_us_lAP75EeqwiqpCwftRog">
index b1ffe6c9db15c489c44f0e9d1549c4e70d6b5ad9..ad84af6047e06c694053072d4d5a314c0a1562d7 100644 (file)
                   definitionId="isCdmStoreConnected">
             </reference>
          </and>
+      </definition>
+      <definition
+            id="isCdmStoreConnectedAndNotLocalActive">
+         <test
+               property="eu.etaxonomy.taxeditor.preference.CdmStorePropertyTester.isCdmStoreConnectedAndNotLocalActive">
+         </test>
+      </definition>
+       <definition
+            id="isCdmStoreConnectedAndLocalActive">
+         <test
+               property="eu.etaxonomy.taxeditor.preference.CdmStorePropertyTester.isCdmStoreConnectedAndLocalActive">
+         </test>
       </definition>
        <definition
             id="isClassification">
index a0742b60757caf30470b1eb3043f5e4d8a34ea41..f2e98e6837928b22eb9ec5d3e35c97d96f36b11d 100644 (file)
       <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_u12J4NhGEeijwMElCRdOhg" coreExpressionId="isCdmStoreNotConnected"/>
     </elements>
     <elements xsi:type="menu:HandledMenuItem" xmi:id="_qRrzgK2uEeeykrJkROy5EA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.commandlabel5" label="%command.label.5" command="_S868QK2dEeeykrJkROy5EA">
-      <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_zRHMoK2uEeeykrJkROy5EA" coreExpressionId="isCdmStoreConnected"/>
+      <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_zRHMoK2uEeeykrJkROy5EA" coreExpressionId="isCdmStoreConnectedAndNotLocalActive"/>
     </elements>
     <elements xsi:type="menu:HandledMenuItem" xmi:id="_rZtLgK2uEeeykrJkROy5EA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.commandlabelre_connect" label="%command.label.RE_CONNECT" command="_KQP_sK2gEeeykrJkROy5EA">
-      <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_0b9PIK2uEeeykrJkROy5EA" coreExpressionId="isCdmStoreConnected"/>
+      <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_0b9PIK2uEeeykrJkROy5EA" coreExpressionId="isCdmStoreConnectedAndNotLocalActive"/>
     </elements>
     <elements xsi:type="menu:HandledMenuItem" xmi:id="_tKrZ4K2uEeeykrJkROy5EA" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.commandlabelchange_password" label="%command.label.CHANGE_PASSWORD" command="_SXZF8K2gEeeykrJkROy5EA">
       <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_1cb0sK2uEeeykrJkROy5EA" coreExpressionId="isCdmStoreConnected"/>
   </fragments>
   <fragments xsi:type="fragment:StringModelFragment" xmi:id="_lnmLABWNEeiazYUJirF0Pw" featurename="children" parentElementId="eu.etaxonomy.taxeditor.workbench.menu.help" positionInList="after:eu.etaxonomy.taxeditor.workbench.menuseparator.beforeHelp">
     <elements xsi:type="menu:HandledMenuItem" xmi:id="_uHiLwBWNEeiazYUJirF0Pw" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.handledmenuitemlabel6" label="%handledmenuitem.label.11" command="_jSJrsBWPEeiazYUJirF0Pw"/>
-    <elements xsi:type="menu:HandledMenuItem" xmi:id="_g-dAYP5UEeqwiqpCwftRog" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.erweiterungensuchen" label="Erweiterungen suchen"/>
+    <elements xsi:type="menu:HandledMenuItem" xmi:id="_g-dAYP5UEeqwiqpCwftRog" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.erweiterungensuchen" label="Erweiterungen suchen" command="_qENOgP5VEeqwiqpCwftRog"/>
   </fragments>
   <fragments xsi:type="fragment:StringModelFragment" xmi:id="_S2CIED8oEempU5gGjh-zOg" featurename="children" parentElementId="eu.etaxonomy.taxeditor.workbench.menu.databaseRepair">
     <elements xsi:type="menu:HandledMenuItem" xmi:id="_67xR4D8oEempU5gGjh-zOg" elementId="eu.etaxonomy.taxeditor.store.handledmenuitem.UpdateCaches" label="%handledmenuitem.label.18" command="_qYxw8D85EemTy7SLZkowuQ">
index 154f97d8bef6f86f9ea721acf036bb7ec0cbd2f8..909088c88903b7768fc40c2d4d0d7bf45ef2b251 100755 (executable)
                </or>
             </iterate>
          </with>
+      </definition>
+       <definition
+            id="isCdmStoreConnectedAndLocalActive">
+         <test
+               property="eu.etaxonomy.taxeditor.preference.CdmStorePropertyTester.isCdmStoreConnectedAndLocalActive">
+         </test>
       </definition>
       <definition
             id="hasROLE_PROJECT_MANAGER">
index 6a32de077f3fb73332d1726330159455b002eca9..2d01c06d11eea685b9ab78aff3b552cf4235fb68 100644 (file)
@@ -23,6 +23,8 @@ public class CdmStorePropertyTester extends PropertyTester {
     private static final String EDITOR_IS_CONNECTED_TO_DB = "isCdmStoreConnected";
     private static final String IS_REMOTING = "isRemoting";
     private static final String IS_STANDALONE = "isStandAlone";
+    private static final String IS_CONNECTED_AND_NOT_LOCAL_ACTIVATED = "isCdmStoreConnectedAndNotLocalActivated";
+    private static final String IS_CONNECTED_AND_LOCAL_ACTIVATED = "isCdmStoreConnectedAndLocalActive";
 
     @Override
     public boolean test(Object receiver, String property, Object[] args,
@@ -47,6 +49,12 @@ public class CdmStorePropertyTester extends PropertyTester {
                 return !isRemoting();
             }
         }
+        if(IS_CONNECTED_AND_NOT_LOCAL_ACTIVATED.equals(property)){
+            return isCdmStoreConnectedAndNotLocalActive();
+        }
+        if(IS_CONNECTED_AND_LOCAL_ACTIVATED.equals(property)){
+            return isCdmStoreConnectedAndLocalActive();
+        }
         return false;
     }
 
@@ -55,6 +63,17 @@ public class CdmStorePropertyTester extends PropertyTester {
         return active;
     }
 
+    private boolean isCdmStoreConnectedAndNotLocalActive(){
+        boolean active = CdmStore.isActive();
+        active = active & !PreferencesUtil.getLocalActive();
+        return active;
+    }
+    private boolean isCdmStoreConnectedAndLocalActive(){
+        boolean active = CdmStore.isActive();
+        active = active & PreferencesUtil.getLocalActive();
+        return active;
+    }
+
     private boolean isRemoting() {
         return CdmStore.getCurrentSessionManager().isRemoting();
     }
index 3544134dd0f6b5964b5b3f60389954d0c804f1ad..4e4a8e1e275649a042062459e54d08f3f47a82de 100644 (file)
@@ -1787,4 +1787,12 @@ public class PreferencesUtil implements IPreferenceKeys {
     public static void setLastSelectedBiocaseProvider(String lastAccessPoint) {
         setStringValue(LAST_USED_BIOCASE_PROVIDER, lastAccessPoint);
     }
+
+    /**
+     * @return
+     */
+    public static boolean getLocalActive() {
+        // TODO this needs to be adapted!!!
+        return true;
+    }
 }