From 20170293d6d7128788cc6a61dd1d5f32b7f181b3 Mon Sep 17 00:00:00 2001 From: Katja Luther Date: Thu, 29 May 2014 20:47:52 +0000 Subject: [PATCH] delete in taxon bulk editor --- .../bulkeditor/handler/DeleteHandler.java | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java index 93e2682cc..95b1636ec 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java @@ -10,6 +10,8 @@ package eu.etaxonomy.taxeditor.bulkeditor.handler; +import java.util.UUID; + import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; @@ -34,6 +36,9 @@ import eu.etaxonomy.cdm.model.name.NameRelationship; import eu.etaxonomy.cdm.model.name.TaxonNameBase; import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; import eu.etaxonomy.cdm.model.reference.Reference; +import eu.etaxonomy.cdm.model.taxon.Synonym; +import eu.etaxonomy.cdm.model.taxon.Taxon; +import eu.etaxonomy.cdm.model.taxon.TaxonBase; import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration; import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy; import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService; @@ -80,7 +85,7 @@ public class DeleteHandler extends AbstractHandler { for(Object object : structuredSelection.toList()){ LineAnnotation annotation = (LineAnnotation) model.getAnnotation(object); - + String result = ""; try { ICdmApplicationConfiguration controller; controller = (ICdmApplicationConfiguration) CdmStore.getCurrentApplicationConfiguration(); @@ -88,26 +93,38 @@ public class DeleteHandler extends AbstractHandler { if (object instanceof SpecimenOrObservationBase){ IOccurrenceService service = controller.getOccurrenceService(); - service.delete((SpecimenOrObservationBase)object); + result = service.delete((SpecimenOrObservationBase)object); } else if (object instanceof Reference){ IReferenceService service = controller.getReferenceService(); - service.delete((Reference)object); + result = service.delete((Reference)object); } else if (object instanceof Group){ IGroupService service = controller.getGroupService(); - service.delete((Group) object); + result = service.delete((Group) object); }else if (object instanceof User){ IUserService service = controller.getUserService(); - service.delete((User) object); + result = service.delete((User) object); } else if (object instanceof TaxonNameBase){ INameService service = controller.getNameService(); - service.delete((TaxonNameBase)object); + result = service.delete((TaxonNameBase)object); + } else if (object instanceof TaxonBase){ + ITaxonService service = controller.getTaxonService(); + if (object instanceof Taxon){ + result = service.deleteTaxon((Taxon)object, null, null); + }else{ + result = service.deleteSynonym((Synonym)object, null); + } } else if (object instanceof TeamOrPersonBase){ IAgentService service = controller.getAgentService(); - service.delete((TeamOrPersonBase)object); + result = service.delete((TeamOrPersonBase)object); } } catch (Exception e){ BulkEditorUtil.errorDialog("Could not delete", getClass(), e.getMessage(), null); } + try { + UUID uuid = UUID.fromString(result); + }catch (IllegalArgumentException e){ + BulkEditorUtil.errorDialog("Could not delete", getClass(), result, null); + } ((BulkEditor) editor).removeAnnotatedLine(annotation); } -- 2.34.1