added [m] for Elevation, Dist. to ground, Dist. to Water in MinMaxTextSection
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / editor / definedterm / DefinedTermMenuFactory.java
index 07365cad8964bfb4acbeab5d52fd22f2d4ae4f4a..9bd7ccbda2d8ed188e837b2cd847829e0abab79a 100644 (file)
@@ -69,27 +69,32 @@ public class DefinedTermMenuFactory extends ExtensionContributionFactory {
        
        private IContributionItem addChildTermsToMenuManager(TermType termType, IServiceLocator serviceLocator) {
        
-               Set<TermType> children = termType.getGeneralizationOf();
-               // term type has no children, so create menu item
-               if(children.isEmpty()) {                        
-                       return createMenuItem(termType, serviceLocator);
+               //FIXME : need a better way to find out if a term type can be editable (ticket 3853)
+               if(termType.getEmptyDefinedTermBase() != null) {
+                       Set<TermType> children = termType.getGeneralizationOf();
+                       // term type has no children, so create menu item
+                       if(children.isEmpty()) {                        
+                               return createMenuItem(termType, serviceLocator);
+                       }
+                       // term type has children, so create sub menu           
+                       MenuManager dtMenuManager = 
+                                       new MenuManager(termType.getMessage(),"eu.etaxonomy.taxeditor.store." + termType.getKey() + "Menu"); 
+                       dtMenuManager.setVisible(true);
+                       dtMenuManager.add(createDefaultMenuItem(termType, serviceLocator));
+
+                       Separator sep = new Separator();
+                       dtMenuManager.add(sep);
+                       // add child items to the sub menu
+                       for(TermType tt : children) {                   
+                               IContributionItem item = addChildTermsToMenuManager(tt,serviceLocator);
+                               if(item != null) {                              
+                                       dtMenuManager.add(item);
+                               }                                       
+                       }               
+                       return dtMenuManager;
+               } else {
+                       return null;
                }
-               // term type has children, so create sub menu           
-               MenuManager dtMenuManager = 
-                               new MenuManager(termType.getMessage(),"eu.etaxonomy.taxeditor.store." + termType.getKey() + "Menu"); 
-               dtMenuManager.setVisible(true);
-               dtMenuManager.add(createDefaultMenuItem(termType, serviceLocator));
-               
-               Separator sep = new Separator();
-               dtMenuManager.add(sep);
-               // add child items to the sub menu
-               for(TermType tt : children) {                   
-                       IContributionItem item = addChildTermsToMenuManager(tt,serviceLocator);
-                       if(item != null) {                              
-                               dtMenuManager.add(item);
-                       }                                       
-               }               
-               return dtMenuManager;
                
        }