Merge branch 'release/5.11.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.navigation / src / main / java / eu / etaxonomy / taxeditor / navigation / navigator / e4 / TaxonNavigatorE4.java
index 4b8365fb3d1a4e749938a6c1e88e0adc08504834..31cea7d660caa580a0bf6dadbd3bffe506cf3712 100644 (file)
@@ -219,7 +219,13 @@ public class TaxonNavigatorE4 implements
        /** {@inheritDoc} */
        protected IAdaptable getInitialInput() {
                Comparator<TaxonNodeDto> comparator;
-               NavigatorOrderEnum orderValue = PreferencesUtil.getSortNodes();
+               NavigatorOrderEnum orderValue = NavigatorOrderEnum.RankAndNameOrder;
+               try{
+                   orderValue = PreferencesUtil.getSortNodes();
+               }catch(IllegalArgumentException e){
+
+               }
+
                if (orderValue.equals(NavigatorOrderEnum.NaturalOrder)){
                        comparator = new TaxonNodeDtoNaturalComparator();
                } else if (orderValue.equals(NavigatorOrderEnum.AlphabeticalOrder)){
@@ -298,10 +304,17 @@ public class TaxonNavigatorE4 implements
                    if (editor instanceof TaxonNameEditorE4){
                        taxonNode = new TaxonNodeDto( ((TaxonNameEditorE4)editor).getEditorInput().getTaxonNode());
                    }else{
-                       taxonNode = new TaxonNodeDto(editor.getTaxon().getTaxonNodes().iterator().next());
+                       if (editor.getTaxon().getTaxonNodes() != null && !editor.getTaxon().getTaxonNodes().isEmpty()){
+                           taxonNode = new TaxonNodeDto(editor.getTaxon().getTaxonNodes().iterator().next());
+                       }
                    }
-                   viewer.reveal(taxonNode);
-                   viewer.setSelection(new StructuredSelection(taxonNode));
+                if (taxonNode != null){
+                    viewer.reveal(taxonNode);
+                    viewer.setSelection(new StructuredSelection(taxonNode));
+                }else{
+                    //TODO: show message in status bar
+                }
+
                }
            }
        }
@@ -326,6 +339,9 @@ public class TaxonNavigatorE4 implements
                        }
                }
                if(!viewer.getTree().isDisposed()){
+                   if (CdmStore.isActive()){
+                       viewer.setInput(getInitialInput());
+                   }
                    viewer.refresh();
                }