ref #7850 Refresh vocabulary when moving terms
authorPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 24 Oct 2018 13:12:14 +0000 (15:12 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 24 Oct 2018 13:12:14 +0000 (15:12 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/e4/DefinedTermEditorE4.java

index b5a1799772febb1cbe18b5ecc7e2e5c92e9a038a..909de8b08ff40b0dbf9f994db198ad2c1f4364e3 100644 (file)
@@ -35,7 +35,10 @@ import org.eclipse.ui.IMemento;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;
+import eu.etaxonomy.cdm.model.common.TermVocabulary;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermSorter;
 import eu.etaxonomy.taxeditor.editor.definedterm.TermContentProvider;
@@ -127,7 +130,13 @@ IPartContentHasDetails, IPartContentHasSupplementalData, IE4SavablePart, IContex
 
        @Override
        public boolean postOperation(CdmBase objectAffectedByOperation) {
-               viewer.refresh();
+           if(objectAffectedByOperation.isInstanceOf(DefinedTermBase.class)){
+               TermVocabulary vocabulary = HibernateProxyHelper.deproxy(objectAffectedByOperation, DefinedTermBase.class).getVocabulary();
+               viewer.refresh(vocabulary);
+           }
+           else{
+               viewer.refresh();
+           }
 
                if(objectAffectedByOperation != null){
                        viewer.setSelection(new StructuredSelection(objectAffectedByOperation));