Project

General

Profile

« Previous | Next » 

Revision 28e59cee

Added by Katja Luther almost 6 years ago

fix creation of hybrids after deleting cascading in relationships

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/e4/TaxonEditorInputE4.java
66 66
    private TaxonNode taxonNode;
67 67

  
68 68
    private Map<TaxonBase, TaxonBaseDeletionConfigurator> toDelete = new HashMap<>();
69
    private Set<TaxonBase> toSaveNew = new HashSet<>();
69
    private Set<Synonym> toSaveNewSynonym = new HashSet<>();
70
    private Set<Taxon> toSaveNewConcept = new HashSet<>();
71

  
70 72

  
71 73
    private Set<AbstractPostTaxonOperation> operations = new HashSet<>();
72 74

  
......
299 301
        this.operations.add(operation);
300 302
    }
301 303

  
302
    public void addToSaveNew(TaxonBase toSaveNew) {
303
        this.toSaveNew.add(toSaveNew);
304
    public void addToSaveNewSynonym(Synonym toSaveNew) {
305
        this.toSaveNewSynonym.add(toSaveNew);
306
    }
307
    public void addToSaveNewConcept(Taxon toSaveNew) {
308
        this.toSaveNewConcept.add(toSaveNew);
304 309
    }
305 310

  
306 311
    @Override
......
322 327
        }
323 328
        operations.clear();
324 329

  
325
        CdmStore.getService(ITaxonService.class).save(toSaveNew);
330
        for (Synonym syn: toSaveNewSynonym){
331
            CdmStore.getService(ITaxonService.class).createSynonym(taxonNode.getTaxon().getUuid(),syn);
332
        }
333
//        for (Taxon taxon: toSaveNewConcept){
334
//            CdmStore.getService(ITaxonService.class).createConcept(taxonNode.getTaxon().getUuid(),taxon);
335
//        }
326 336

  
327 337
        CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true);
328 338

  
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateNewTaxonBaseOperation.java
12 12

  
13 13
import org.eclipse.core.commands.operations.IUndoContext;
14 14

  
15
import eu.etaxonomy.cdm.model.taxon.Synonym;
15 16
import eu.etaxonomy.cdm.model.taxon.Taxon;
16 17
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
17 18
import eu.etaxonomy.taxeditor.editor.EditorUtil;
......
55 56
        Object activePart = EditorUtil.getActivePart();
56 57
        if (activePart instanceof TaxonNameEditorE4){
57 58
           editor = (TaxonNameEditorE4) activePart;
58
           editor.getEditorInput().addToSaveNew(newTaxonBase);
59
           if (newTaxonBase instanceof Synonym){
60
               editor.getEditorInput().addToSaveNewSynonym((Synonym)newTaxonBase);
61
           }else{
62
               editor.getEditorInput().addToSaveNewConcept((Taxon)newTaxonBase);
63
           }
59 64
           editor.setDirty();
60 65
        }
61 66
    }
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateSynonymInExistingHomotypicalGroupOperation.java
70 70
			synonym = element.addHeterotypicSynonymName(newSynonymName);
71 71
		}
72 72

  
73
//		addToSaveList(synonym);
73
		addToSaveList(synonym);
74 74
		monitor.worked(40);
75 75

  
76 76
//		Synonym affectedSynonym = null;
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/CreateSynonymInNewGroupOperation.java
64 64
		monitor.worked(20);
65 65
		HibernateProxyHelper.deproxy(element);
66 66
		newSynonym = element.addHeterotypicSynonymName(newSynonymName);
67
		addToSaveList(newSynonym);
67 68
		monitor.worked(40);
68 69

  
69 70
		return postExecute(newSynonym);

Also available in: Unified diff