Project

General

Profile

« Previous | Next » 

Revision 5fa61729

Added by Patrick Plitzner over 4 years ago

fix #8744 Fix LIE while saving character editor

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/character/CharacterEditor.java
329 329
        conversation.commit(true);
330 330

  
331 331
        TermTree<Character> featureTree = characterTreeEditorComposite.getFeatureTree();
332
        CdmStore.getService(ITermTreeService.class).saveOrUpdate(featureTree);
333

  
332 334
        if(featureTree!=null){
333 335
            //save characters because they can be modified in this editor
334 336
            featureTree.getDistinctTerms().forEach(character->CdmStore.getService(ITermService.class).merge(character,true));
335 337
        }
336
        CdmStore.getService(ITermTreeService.class).saveOrUpdate(featureTree);
337 338

  
339
        initializeTrees();
338 340

  
339 341
        dirty.setDirty(false);
340 342
    }
341 343

  
344
    private void initializeTrees() {
345
        Object[] expandedElements = characterTreeEditorComposite.getViewer().getExpandedElements();
346
        characterTreeEditorComposite.getViewer().getTree().removeAll();
347
        TermTree tree = (TermTree) characterTreeEditorComposite.getViewer().getInput();
348
        characterTreeEditorComposite.getViewer().setInput(tree);
349
        characterTreeEditorComposite.getViewer().setExpandedElements(expandedElements);
350
    }
351

  
342 352
    @Override
343 353
    public boolean isDirty() {
344 354
        return dirty.isDirty();

Also available in: Unified diff