private TaxonNode taxonNode;
private Map<TaxonBase, TaxonBaseDeletionConfigurator> toDelete = new HashMap<>();
- private Set<TaxonBase> toSaveNew = new HashSet<>();
+ private Set<Synonym> toSaveNewSynonym = new HashSet<>();
+ private Set<Taxon> toSaveNewConcept = new HashSet<>();
+
private Set<AbstractPostTaxonOperation> operations = new HashSet<>();
this.operations.add(operation);
}
- public void addToSaveNew(TaxonBase toSaveNew) {
- this.toSaveNew.add(toSaveNew);
+ public void addToSaveNewSynonym(Synonym toSaveNew) {
+ this.toSaveNewSynonym.add(toSaveNew);
+ }
+ public void addToSaveNewConcept(Taxon toSaveNew) {
+ this.toSaveNewConcept.add(toSaveNew);
}
@Override
}
operations.clear();
- CdmStore.getService(ITaxonService.class).save(toSaveNew);
+ for (Synonym syn: toSaveNewSynonym){
+ CdmStore.getService(ITaxonService.class).createSynonym(taxonNode.getTaxon().getUuid(),syn);
+ }
+// for (Taxon taxon: toSaveNewConcept){
+// CdmStore.getService(ITaxonService.class).createConcept(taxonNode.getTaxon().getUuid(),taxon);
+// }
CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true);
import org.eclipse.core.commands.operations.IUndoContext;
+import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
Object activePart = EditorUtil.getActivePart();
if (activePart instanceof TaxonNameEditorE4){
editor = (TaxonNameEditorE4) activePart;
- editor.getEditorInput().addToSaveNew(newTaxonBase);
+ if (newTaxonBase instanceof Synonym){
+ editor.getEditorInput().addToSaveNewSynonym((Synonym)newTaxonBase);
+ }else{
+ editor.getEditorInput().addToSaveNewConcept((Taxon)newTaxonBase);
+ }
editor.setDirty();
}
}