From: Patrick Plitzner
Date: Mon, 15 Apr 2019 12:27:37 +0000 (+0200)
Subject: Save edited character in FeatureTreeEditor
X-Git-Tag: 5.7.0^2~23
X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/4fee34875648f5289cb08a393e7389c77e269413
Save edited character in FeatureTreeEditor
---
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureTreeEditor.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureTreeEditor.java
index fef243c6b..26969d869 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureTreeEditor.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureTreeEditor.java
@@ -47,8 +47,11 @@ import org.eclipse.ui.IMemento;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
+import eu.etaxonomy.cdm.api.service.ITermService;
+import eu.etaxonomy.cdm.model.description.Character;
import eu.etaxonomy.cdm.model.term.FeatureNode;
import eu.etaxonomy.cdm.model.term.FeatureTree;
+import eu.etaxonomy.cdm.model.term.TermType;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.definedterm.TermTransfer;
import eu.etaxonomy.taxeditor.featuretree.FeatureNodeTransfer;
@@ -247,6 +250,15 @@ public class FeatureTreeEditor implements IFeatureTreeEditor, ISelectionChangedL
CdmStore.getService(IFeatureTreeService.class).saveOrUpdate(getRootEntities());
+ List rootEntities = getRootEntities();
+ for (FeatureTree featureTree : rootEntities) {
+ if(featureTree.getTermType().equals(TermType.Character)){
+ FeatureTree characterTree = featureTree;
+ //save characters because they can be modified in this editor
+ characterTree.getDistinctFeatures().forEach(character->CdmStore.getService(ITermService.class).merge(character,true));
+ }
+ }
+
initializeTrees();
this.setDirty(false);