ref #7854: minor changes in session handling
authorKatja Luther <k.luther@bgbm.org>
Mon, 17 Dec 2018 12:35:12 +0000 (13:35 +0100)
committerKatja Luther <k.luther@bgbm.org>
Mon, 17 Dec 2018 12:35:12 +0000 (13:35 +0100)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/DistributionEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/e4/DistributionEditorPart.java

index e41780170811b050d69b7c8a1fe1b37201308fe0..732111ba45742986336df01f1bf2c05541739416 100755 (executable)
@@ -478,9 +478,6 @@ public class DistributionEditor extends Composite {
     public List<DescriptionBase> getDistributions() {
         List<DescriptionBase> descriptions = new ArrayList();
 
-//        taxonList.forEach(taxonDto->taxonDto.getDistributionMap()
-//                .forEach((area, descriptionElements)->descElements.addAll(descriptionElements)));
-
         taxonList.forEach(taxonDto -> taxonDto.getDescriptionsWrapper().getDescriptions().forEach(taxDesc -> descriptions.add(taxDesc)));
 
         for (DescriptionBase description: descriptions){
index 3f0abea84a71acff4a82437c6ce6d6f87b9239c8..d9848a52ead2388a829616ce4cabda567e61bc26 100755 (executable)
@@ -21,6 +21,7 @@ import javax.inject.Inject;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.e4.core.contexts.ContextInjectionFactory;
 import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.ui.di.Focus;
 import org.eclipse.e4.ui.di.Persist;
 import org.eclipse.e4.ui.model.application.ui.MDirtyable;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
@@ -34,7 +35,7 @@ import eu.etaxonomy.cdm.api.service.IDescriptionService;
 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
 import eu.etaxonomy.cdm.api.service.UpdateResult;
 import eu.etaxonomy.cdm.api.service.dto.TaxonDistributionDTO;
-import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.editor.IDistributionEditor;
 import eu.etaxonomy.taxeditor.model.IDirtyMarkable;
@@ -117,6 +118,16 @@ ICdmEntitySessionEnabled, IPartContentHasSupplementalData, IPartContentHasDetail
         return selService;
     }
 
+    @Focus
+    public void setFocus(){
+        if(conversation!=null){
+            conversation.bind();
+        }
+        if(cdmEntitySession != null) {
+            cdmEntitySession.bind();
+        }
+    }
+
 
     public DistributionEditor getEditor() {
         return editor;
@@ -158,9 +169,9 @@ ICdmEntitySessionEnabled, IPartContentHasSupplementalData, IPartContentHasDetail
      * {@inheritDoc}
      */
     @Override
-    public <T extends CdmBase> Collection<T> getRootEntities() {
-        // TODO Auto-generated method stub
-        return null;
+    public List<DescriptionBase> getRootEntities() {
+        return editor.getDistributions();
+
     }
 
     /**
@@ -204,12 +215,10 @@ ICdmEntitySessionEnabled, IPartContentHasSupplementalData, IPartContentHasDetail
     @Persist
     @Override
     public void save(IProgressMonitor monitor) {
-        //TODO: merge not save distributions
-
       CdmStore.getService(IDescriptionService.class).merge(editor.getDistributions(), true);
 
       conversation.commit();
-      updateResults = null;
+
       dirty.setDirty(false);
     }