adaption for error handling of delete methods
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / editor / definedterm / operation / DeleteTermBaseOperation.java
index c0d89719447f06971149075e4ef5892260f9376e..24865969ae937a3694ebfa64c496682567b410a4 100644 (file)
@@ -15,7 +15,9 @@ import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IProgressMonitor;\r
 import org.eclipse.core.runtime.IStatus;\r
 import org.eclipse.core.runtime.Status;\r
+import org.eclipse.jface.dialogs.MessageDialog;\r
 \r
+import eu.etaxonomy.cdm.api.service.DeleteResult;\r
 import eu.etaxonomy.cdm.api.service.ITermService;\r
 import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
 import eu.etaxonomy.cdm.api.service.exception.DataChangeNoRollbackException;\r
@@ -79,8 +81,10 @@ public class DeleteTermBaseOperation extends AbstractPostTaxonOperation {
 \r
                        definedEditorInput.getVocabularies().remove((TermVocabulary)termBase); \r
                        \r
-                       String result = CdmStore.getService(IVocabularyService.class).delete((TermVocabulary)termBase);\r
-                       \r
+                       DeleteResult result =   CdmStore.getService(IVocabularyService.class).delete((TermVocabulary)termBase);\r
+                       if (result.isError()){\r
+                               //TODO: Error message!\r
+                       }\r
                        \r
                } else if (termBase instanceof DefinedTermBase) {\r
                        \r
@@ -114,8 +118,11 @@ public class DeleteTermBaseOperation extends AbstractPostTaxonOperation {
                                vocabulary.removeTerm(definedTermBase);\r
                        }\r
                        \r
-                       String result = CdmStore.getService(ITermService.class).delete((DefinedTermBase)termBase);\r
+                       DeleteResult result =   CdmStore.getService(ITermService.class).delete((DefinedTermBase)termBase);\r
                        \r
+                       if (result.isError()){\r
+                               MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage());\r
+                       }\r
                }\r
                \r
                return postExecute(termBase);\r