Merge branch 'develop' into taxonDescription
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / descriptiveDataSet / DescriptiveDataSetNavigator.java
index 15b2011c6ac88f02a9c074bc67323484d50c970d..ad730e0c8c179beb44c6d857cd82a2439fae5e9f 100644 (file)
@@ -42,7 +42,6 @@ import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.cdm.model.description.DescriptiveDataSet;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
-import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.IContextListener;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
@@ -97,13 +96,15 @@ public class DescriptiveDataSetNavigator implements IConversationEnabled, ICdmEn
                 ISelection selection = event.getSelection();
                 if(selection instanceof IStructuredSelection){
                        DescriptiveDataSet descriptiveDataSetUuid = (DescriptiveDataSet) ((IStructuredSelection) selection).getFirstElement();
-                    EditorUtil.openDescriptiveDataSetEditor(descriptiveDataSetUuid.getUuid(), modelService, partService, application);
+                       if(descriptiveDataSetUuid!=null){
+                           EditorUtil.openDescriptiveDataSetEditor(descriptiveDataSetUuid.getUuid(), modelService, partService, application);
+                       }
                 }
             }
         });
 
         //propagate selection
-       selectionChangedListener = (event -> selService.setSelection(AbstractUtility.getElementsFromSelectionChangedEvent(event)));
+       selectionChangedListener = (event -> selService.setSelection(event.getSelection()));
        viewer.addSelectionChangedListener(selectionChangedListener);
 
         //create context menu
@@ -117,7 +118,9 @@ public class DescriptiveDataSetNavigator implements IConversationEnabled, ICdmEn
             if(conversation == null) {
                 conversation = CdmStore.createConversation();
             }
-            cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
+            if(cdmEntitySession == null){
+                cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
+            }
             descriptiveDataSets = CdmStore.getService(IDescriptiveDataSetService.class).list(DescriptiveDataSet.class, null, null, null, null);
             viewer.setInput(descriptiveDataSets);
         }