(no commit message)
authorKatja Luther <k.luther@bgbm.org>
Wed, 29 Oct 2014 12:18:01 +0000 (12:18 +0000)
committerKatja Luther <k.luther@bgbm.org>
Wed, 29 Oct 2014 12:18:01 +0000 (12:18 +0000)
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java

index 73c2c8022f83bfbfbd5d787b32e93904dcb666d5..bbf96039323bb7d7fa31456058cd8b135a7a3ecd 100644 (file)
@@ -87,6 +87,7 @@ public class DeleteHandler extends AbstractHandler {
                                        
                                        LineAnnotation annotation = (LineAnnotation) model.getAnnotation(object);
                                        DeleteResult result = new DeleteResult();       
+                                       result.setError();
                                        try {
                                                ICdmApplicationConfiguration controller;
                                                controller = (ICdmApplicationConfiguration) CdmStore.getCurrentApplicationConfiguration();
@@ -94,21 +95,27 @@ public class DeleteHandler extends AbstractHandler {
                                                if (object instanceof SpecimenOrObservationBase){
                                                        
                                                        IOccurrenceService service = controller.getOccurrenceService();
+                                                       service.load(((SpecimenOrObservationBase) object).getUuid());
                                                        result = service.delete((SpecimenOrObservationBase)object);
                                                } else if (object instanceof Reference){
                                                        IReferenceService service = controller.getReferenceService();
+                                                       service.load(((Reference) object).getUuid());
                                                        result = service.delete((Reference)object);
                                                } else if (object instanceof Group){
                                                        IGroupService service = controller.getGroupService();
+                                                       service.load(((Group) object).getUuid());
                                                        result = service.delete((Group) object);
                                                }else if (object instanceof User){
                                                        IUserService service = controller.getUserService();
+                                                       service.load(((User) object).getUuid());
                                                        result = service.delete((User) object);
                                                } else if (object instanceof TaxonNameBase){
                                                        INameService service = controller.getNameService();
+                                                       service.load(((TaxonNameBase) object).getUuid());
                                                        result = service.delete((TaxonNameBase)object);
                                                } else if (object instanceof TaxonBase){
                                                        ITaxonService service = controller.getTaxonService();
+                                                       service.load(((TaxonBase) object).getUuid());
                                                        if (object instanceof Taxon){
                                                                result = service.deleteTaxon((Taxon)object, null, null);
                                                        }else{
@@ -116,16 +123,18 @@ public class DeleteHandler extends AbstractHandler {
                                                        }
                                                } else if (object instanceof TeamOrPersonBase){
                                                        IAgentService service = controller.getAgentService();
+                                                       object = service.load(((TeamOrPersonBase) object).getUuid());
                                                        result = service.delete((TeamOrPersonBase)object);
                                                }
                                        } catch (Exception e){
-                                               MessagingUtils.messageDialog("Could not delete", getClass(), e.getMessage(), null);
+                                               MessagingUtils.messageDialog("Exception occured. Could not delete", getClass(), e.getMessage(), null);
                                        }
                                        if (result.isError()){
                                                MessagingUtils.messageDialog("Could not delete", getClass(), result.getExceptions().get(0).getMessage(), null);
                                        }
-                                       ((BulkEditor) editor).removeAnnotatedLine(annotation);
-                                       
+                                       if (result.isOk()){
+                                               ((BulkEditor) editor).removeAnnotatedLine(annotation);
+                                       }
                                }                               
                        }
                }else{