Project

General

Profile

« Previous | Next » 

Revision 2d07d699

Added by Patrick Plitzner almost 5 years ago

ref #8263 Full refresh when creating a new vocabulary

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/e4/DefinedTermEditorE4.java
45 45
import eu.etaxonomy.cdm.model.term.DefinedTermBase;
46 46
import eu.etaxonomy.cdm.model.term.TermBase;
47 47
import eu.etaxonomy.cdm.model.term.TermVocabulary;
48
import eu.etaxonomy.cdm.persistence.dto.AbstractTermDto;
48 49
import eu.etaxonomy.cdm.persistence.dto.TermDto;
49 50
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
50 51
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
......
142 143
	public boolean postOperation(Object objectAffectedByOperation) {
143 144
        input.initialiseVocabularies();
144 145

  
145
	    Collection<TermDto> termsToSelect = new HashSet<>();
146
	    Collection<AbstractTermDto> itemsToSelect = new HashSet<>();
146 147

  
147 148
	    if(objectAffectedByOperation instanceof Collection){
148 149
	        for (Object o : (Collection<?>)objectAffectedByOperation) {
......
152 153
                else if(o instanceof TermDto){
153 154
                    viewer.refresh(((TermDto) o).getVocabularyDto());
154 155
                    viewer.refresh(o);
155
                    termsToSelect.add((TermDto) o);
156
                    itemsToSelect.add((TermDto) o);
156 157
                }
157 158
            }
158 159
	    }
159
	    if(objectAffectedByOperation instanceof TermDto){
160
	    if(objectAffectedByOperation instanceof TermVocabularyDto){
161
	        viewer.refresh();
162
	        itemsToSelect.add((AbstractTermDto) objectAffectedByOperation);
163
	    }
164
	    else if(objectAffectedByOperation instanceof TermDto){
160 165
	        TermDto termDto = (TermDto) objectAffectedByOperation;
161
            termsToSelect.add(termDto);
166
            itemsToSelect.add(termDto);
162 167
	        viewer.refresh(termDto.getVocabularyDto());
163 168
	    }
164 169
	    else{
165 170
	        viewer.refresh(objectAffectedByOperation);
166 171
	    }
167
		if(!termsToSelect.isEmpty()){
168
			StructuredSelection selection = new StructuredSelection(termsToSelect);
172
		if(!itemsToSelect.isEmpty()){
173
			StructuredSelection selection = new StructuredSelection(itemsToSelect);
169 174
            viewer.setSelection(selection);
170
            for (TermDto termDto : termsToSelect) {
175
            for (AbstractTermDto termDto : itemsToSelect) {
171 176
                viewer.expandToLevel(termDto, 1);
172 177
            }
173 178
		}

Also available in: Unified diff