import java.util.Set;
import java.util.UUID;
+import org.eclipse.e4.ui.di.UISynchronize;
+
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
import eu.etaxonomy.cdm.api.service.IClassificationService;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.editor.CdmEntitySessionInput;
import eu.etaxonomy.taxeditor.editor.ChooseFromMultipleTaxonNodesDialog;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.l10n.Messages;
import eu.etaxonomy.taxeditor.model.DataChangeBridge;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
+import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
private Map<TaxonBase, TaxonBaseDeletionConfigurator> toDelete = new HashMap<>();
+ private Set<AbstractPostTaxonOperation> operations = new HashSet<>();
+
private TaxonEditorInputDataChangeBehaviourE4 dataChangeBehavior;
private TaxonBase initiallySelectedTaxonBase;
+ UISynchronize sync;
+
+
+ public void setSync(UISynchronize sync) {
+ this.sync = sync;
+ }
+
private enum CdmType {
TAXON_NODE,
TAXON_BASE,
return initiallySelectedTaxonBase;
}
+ public Set<AbstractPostTaxonOperation> getOperations() {
+ return operations;
+ }
+
+ public void setOperations(Set<AbstractPostTaxonOperation> operations) {
+ this.operations = operations;
+ }
+
+ public void addOperation(AbstractPostTaxonOperation operation) {
+ this.operations.add(operation);
+ }
+
@Override
public List<TaxonNode> getRootEntities() {
return Arrays.asList(taxonNode);
delete(entry.getKey(), entry.getValue());
}
toDelete.clear();
+ for(AbstractPostOperation entry:operations){
+ EditorUtil.executeOperation(entry,sync);
+ }
+ operations.clear();
+
CdmStore.getService(ITaxonNodeService.class).merge(taxonNode, true);
}
"extensions", //$NON-NLS-1$
"rights", //$NON-NLS-1$
"sources", //$NON-NLS-1$
+ "identifiers",
"descriptions", //$NON-NLS-1$
- "relationsToThisTaxon", //$NON-NLS-1$
- "relationsFromThisTaxon", //$NON-NLS-1$
+ "relationsToThisTaxon.relatedFrom.name.taxonBases.taxonNodes", //$NON-NLS-1$
+ "relationsToThisTaxon.relatedFrom.name.taxonBases.relationsFromThisTaxon", //$NON-NLS-1$
+ "relationsToThisTaxon.relatedFrom.name.taxonBases.relationsToThisTaxon", //$NON-NLS-1$
+ "relationsFromThisTaxon.relatedTo.name.taxonBases.taxonNodes", //$NON-NLS-1$
+ "relationsFromThisTaxon.relatedTo.name.taxonBases.relationsFromThisTaxon", //$NON-NLS-1$
+ "relationsFromThisTaxon.relatedTo.name.taxonBases.relationsToThisTaxon", //$NON-NLS-1$
"taxonNodes", //$NON-NLS-1$
"descriptions.descriptionElements.feature", //$NON-NLS-1$
"descriptions.descriptionElements.area", //$NON-NLS-1$
"name.taxonBases.taxonNodes", //$NON-NLS-1$
"name.relationsFromThisName", //$NON-NLS-1$
"name.relationsToThisName", //$NON-NLS-1$
- "name.homotypicalGroup.typifiedNames.taxonBases.synonymRelations.synonym.name.status", //$NON-NLS-1$
+ "name.homotypicalGroup.typifiedNames.taxonBases.synonyms.synonym.name.status", //$NON-NLS-1$
"name.homotypicalGroup.typifiedNames.relationsToThisName.fromName", //$NON-NLS-1$
- "synonymRelations.synonym.name.status.type", //$NON-NLS-1$
- "synonymRelations.synonym.name.relationsToThisName.fromName", //$NON-NLS-1$
- "synonymRelations.synonym.name.nomenclaturalReference.inReference.authorship", //$NON-NLS-1$
- "synonymRelations.synonym.name.nomenclaturalReference.authorship", //$NON-NLS-1$
- "synonymRelations.synonym.name.homotypicalGroup.typifiedNames.taxonBases.synonymRelations" //$NON-NLS-1$
+ "synonyms.name.status.type", //$NON-NLS-1$
+ "synonyms.name.relationsToThisName.fromName", //$NON-NLS-1$
+ "synonyms.name.nomenclaturalReference.inReference.authorship", //$NON-NLS-1$
+ "synonyms.name.nomenclaturalReference.authorship", //$NON-NLS-1$
+// "synonyms.name.homotypicalGroup", //$NON-NLS-1$
+// "synonyms.synonym.name.homotypicalGroup.typifiedNames", //$NON-NLS-1$
+ "synonyms.name.homotypicalGroup.typifiedNames.taxonBases.synonyms" //$NON-NLS-1$
});
return taxonBasePropertyPaths;