improve termdeletion, show only a warning when term can not be deleted
authorKatja Luther <k.luther@bgbm.org>
Thu, 18 Oct 2018 08:30:53 +0000 (10:30 +0200)
committerKatja Luther <k.luther@bgbm.org>
Thu, 18 Oct 2018 08:30:53 +0000 (10:30 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/DeleteTermBaseOperation.java

index 91f55ab6d02264b00426501c17325e2d1f872d84..f29d141bafed86b17b85a094d969e27230c1f153 100644 (file)
@@ -22,7 +22,6 @@ import eu.etaxonomy.cdm.api.service.IVocabularyService;
 import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
 import eu.etaxonomy.cdm.model.common.TermBase;\r
 import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
-import eu.etaxonomy.taxeditor.editor.definedterm.e4.DefinedTermEditorE4;\r
 import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput;\r
 import eu.etaxonomy.taxeditor.model.MessagingUtils;\r
 import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation;\r
@@ -69,12 +68,12 @@ public class DeleteTermBaseOperation extends AbstractPostTaxonOperation {
                        definedEditorInput.getVocabularies().remove(termBase);\r
 \r
                        DeleteResult result =   CdmStore.getService(IVocabularyService.class).delete(termBase.getUuid());\r
-                       if (result.isError()){\r
+                       if (!result.isOk()){\r
                                StringBuffer errorString = new StringBuffer();\r
                                for (Exception e:result.getExceptions()){\r
-                                       errorString.append(e.getMessage() + "\\n");\r
+                                       errorString.append(e.getMessage() + System.lineSeparator());\r
                                }\r
-                               MessageDialog.openError(null, "Delete failed", errorString.toString());\r
+                               MessageDialog.openWarning(null, "Delete failed", errorString.toString());\r
                        }\r
 \r
                } else if (termBase instanceof DefinedTermBase) {\r
@@ -93,31 +92,15 @@ public class DeleteTermBaseOperation extends AbstractPostTaxonOperation {
                                return status;\r
                        }\r
 \r
-\r
-                       DefinedTermBase partOf = definedTermBase.getPartOf();\r
-                       if(partOf != null){\r
-                               partOf.removeIncludes(definedTermBase);\r
-                       }\r
-\r
-                       DefinedTermBase kindOf = definedTermBase.getKindOf();\r
-                       if(kindOf != null){\r
-                               definedTermBase.removeGeneralization(kindOf);\r
-                       }\r
-\r
-                       TermVocabulary vocabulary = definedTermBase.getVocabulary();\r
-                       if(vocabulary != null){\r
-                               vocabulary.removeTerm(definedTermBase);\r
-                       }\r
-\r
                        DeleteResult result =   CdmStore.getService(ITermService.class).delete(termBase.getUuid());\r
 \r
-                       if (result.isError()){\r
-                               StringBuffer errorString = new StringBuffer();\r
-                               for (Exception e:result.getExceptions()){\r
-                                       errorString.append(e.getMessage() + "\\n");\r
-                               }\r
-                               MessageDialog.openError(null, "Delete failed", errorString.toString());\r
-                       }\r
+                       if (!result.isOk()){\r
+                StringBuffer errorString = new StringBuffer();\r
+                for (Exception e:result.getExceptions()){\r
+                    errorString.append(e.getMessage() + System.lineSeparator());\r
+                }\r
+                MessageDialog.openWarning(null, "Delete failed", errorString.toString());\r
+            }\r
                }\r
 \r
                return postExecute(termBase);\r