- fixed compile error and possible NPE #4810
authorPatric Plitzner <p.plitzner@bgbm.org>
Mon, 1 Jun 2015 08:05:33 +0000 (08:05 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Mon, 1 Jun 2015 08:05:33 +0000 (08:05 +0000)
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/operation/DeleteOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java

index 4508e93a324d8ca3146a71e6dd7cd560a0c65651..868116c208841f12714ec1f7265d8557e9e81a2c 100644 (file)
@@ -1,9 +1,9 @@
 // $Id$
 /**
 * Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy 
+* European Distributed Institute of Taxonomy
 * http://www.e-taxonomy.eu
-* 
+*
 * The contents of this file are subject to the Mozilla Public License Version 1.1
 * See LICENSE.TXT at the top of this package for the full license terms.
 */
@@ -32,7 +32,7 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  */
 public class DeleteOperation extends AbstractPersistentPostOperation {
 
-       private PolytomousKey key;
+       private final PolytomousKey key;
 
        /**
         * @param label
@@ -50,15 +50,15 @@ public class DeleteOperation extends AbstractPersistentPostOperation {
        public IStatus execute(IProgressMonitor monitor, IAdaptable info)
                        throws ExecutionException {
                bind();
-               
+
                DeleteResult result = CdmStore.getService(IPolytomousKeyService.class).delete(key);
-               if (result.isError()){
-                       MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage());
-                       
+               if (result.isError() && !result.getExceptions().isEmpty()){
+                       MessageDialog.openError(null, "Delete failed", result.getExceptions().iterator().next().getMessage());
+
                }else if(result.isAbort()){
                        MessageDialog.openWarning(null, "Delete abort", "The object could not be deleted, maybe there was no object selected.");
                }
-               
+
                return postExecute(null);
        }
 
index 743cb775ea135bb417ec3f06e82937935740295a..ad739203dc88570a65804add5571edd5c4bea677 100644 (file)
@@ -101,9 +101,9 @@ public class DeleteOperation extends AbstractPersistentPostOperation{
                                element = ((TaxonNode)taxonNode).getTaxon();
 
                                DeleteResult result = service.deleteTaxonNode((TaxonNode)taxonNode, config);
-                               if (result.isError()){
+                               if (result.isError() && !result.getExceptions().isEmpty()){
                                        //TODO:Error message!
-                                       MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage());
+                                       MessageDialog.openError(null, "Delete failed", result.getExceptions().iterator().next().getMessage());
                                }
 
 
@@ -114,11 +114,11 @@ public class DeleteOperation extends AbstractPersistentPostOperation{
                                                return null;
                                        }
                                }*/
-                               
+
                                DeleteResult result = CdmStore.getService(IClassificationService.class).delete(taxonomicTree);
-                               if (result.isError()){
+                               if (result.isError() && !result.getExceptions().isEmpty()){
                                        //TODO:Error message!
-                                       MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage());
+                                       MessageDialog.openError(null, "Delete failed", result.getExceptions().iterator().next().getMessage());
                                }
 
                                /*}else{
@@ -129,11 +129,11 @@ public class DeleteOperation extends AbstractPersistentPostOperation{
                                        }
                                }*/
                        } else {
-                               
+
                                DeleteResult result =service.deleteTaxonNodes(treeNodes, config);
-                               if (result.isError()){
+                               if (result.isError() && !result.getExceptions().isEmpty()){
                                        //TODO:Error message!
-                                       MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage());
+                                       MessageDialog.openError(null, "Delete failed", result.getExceptions().iterator().next().getMessage());
                                }
                        }