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);