From dbe4fe949be6e79bcb55a24e3f0d3b456ce98687 Mon Sep 17 00:00:00 2001
From: Patrick Plitzner
Date: Wed, 12 Apr 2017 08:04:05 +0200
Subject: [PATCH] ref #6566 Avoid NPE when initializing term preference menu
(e4 specific)
---
.../editor/definedterm/DefinedTermMenu.java | 69 ++++++++++---------
1 file changed, 36 insertions(+), 33 deletions(-)
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermMenu.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermMenu.java
index da41ff5e2..5acacce6c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermMenu.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/DefinedTermMenu.java
@@ -30,6 +30,7 @@ import org.eclipse.ui.menus.CommandContributionItemParameter;
import eu.etaxonomy.cdm.model.common.TermType;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* Menu used in the store plugin xml to dynamically generate menu (sub-menu) contribution items
@@ -46,39 +47,41 @@ public class DefinedTermMenu extends CompoundContributionItem {
@Override
protected IContributionItem[] getContributionItems() {
Collection items = new ArrayList();
- MenuManager dtMenuManager =
- new MenuManager("Term Editor","eu.etaxonomy.taxeditor.store.definedTermEditorMenu");
-
- dtMenuManager.setVisible(true);
-
- items.add(dtMenuManager);
- //add Feature and NamedArea to top level
- dtMenuManager.add(addChildTermsToMenuManager(TermType.Feature));
- dtMenuManager.add(addChildTermsToMenuManager(TermType.NamedArea));
- dtMenuManager.add(new Separator());
-
- MenuManager otherMenuManager =
- new MenuManager("Others","eu.etaxonomy.taxeditor.store.term.other.menu");
- otherMenuManager.setVisible(true);
- dtMenuManager.add(otherMenuManager);
-
- List ttList = new ArrayList(EnumSet.allOf(TermType.class));
- Collections.sort(ttList,new SortByTermTypeMessage());
- for (TermType tt : ttList)
- {
- //skip Feature and NamedArea as they have already been added to top level
- if(tt.equals(TermType.Feature) || tt.equals(TermType.NamedArea)){
- continue;
- }
- // if term type has a parent, do not add it
- // it will be added in the recursive call
- if(tt.getKindOf() == null) {
- IContributionItem ici = addChildTermsToMenuManager(tt);
- if(ici != null) {
- otherMenuManager.add(ici);
- }
- }
- }
+ if(CdmStore.isActive()){
+ MenuManager dtMenuManager =
+ new MenuManager("Term Editor","eu.etaxonomy.taxeditor.store.definedTermEditorMenu");
+
+ dtMenuManager.setVisible(true);
+
+ items.add(dtMenuManager);
+ //add Feature and NamedArea to top level
+ dtMenuManager.add(addChildTermsToMenuManager(TermType.Feature));
+ dtMenuManager.add(addChildTermsToMenuManager(TermType.NamedArea));
+ dtMenuManager.add(new Separator());
+
+ MenuManager otherMenuManager =
+ new MenuManager("Others","eu.etaxonomy.taxeditor.store.term.other.menu");
+ otherMenuManager.setVisible(true);
+ dtMenuManager.add(otherMenuManager);
+
+ List ttList = new ArrayList(EnumSet.allOf(TermType.class));
+ Collections.sort(ttList,new SortByTermTypeMessage());
+ for (TermType tt : ttList)
+ {
+ //skip Feature and NamedArea as they have already been added to top level
+ if(tt.equals(TermType.Feature) || tt.equals(TermType.NamedArea)){
+ continue;
+ }
+ // if term type has a parent, do not add it
+ // it will be added in the recursive call
+ if(tt.getKindOf() == null) {
+ IContributionItem ici = addChildTermsToMenuManager(tt);
+ if(ici != null) {
+ otherMenuManager.add(ici);
+ }
+ }
+ }
+ }
return items.toArray(new IContributionItem[]{});
}
--
2.34.1