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.model.common.TermBase;\r
import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput;\r
+import eu.etaxonomy.taxeditor.l10n.Messages;\r
import eu.etaxonomy.taxeditor.model.MessagingUtils;\r
import eu.etaxonomy.taxeditor.operation.AbstractPostTaxonOperation;\r
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;\r
throws ExecutionException {\r
if (termBase instanceof TermVocabulary) {\r
if (((TermVocabulary)termBase).getCreatedBy() == null) {\r
- IStatus status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), "This is a CDM system vocabulary");\r
- MessagingUtils.warningDialog("Cannot delete vocabulary", termBase, status);\r
+ IStatus status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), Messages.DeleteTermBaseOperation_SYSTEM_VOC);\r
+ MessagingUtils.warningDialog(Messages.DeleteTermBaseOperation_CANNOT_DELETE_VOC, termBase, status);\r
return status;\r
}\r
\r
if (!((TermVocabulary)termBase).getTerms().isEmpty()) {\r
- IStatus status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), "Delete all terms from this vocaulary before deleting the vocabulary.");\r
- MessagingUtils.warningDialog("Vocabulary not empty", termBase, status);\r
+ IStatus status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), Messages.DeleteTermBaseOperation_DELETE_ALL_TERMS_BEFORE);\r
+ MessagingUtils.warningDialog(Messages.DeleteTermBaseOperation_VOC_NOT_EMPTY, termBase, status);\r
return status;\r
}\r
\r
\r
DeleteResult result = CdmStore.getService(IVocabularyService.class).delete(termBase.getUuid());\r
if (!result.isOk()){\r
- StringBuffer errorString = new StringBuffer();\r
- for (Exception e:result.getExceptions()){\r
- errorString.append(e.getMessage() + System.lineSeparator());\r
- }\r
- if (result.isAbort()){\r
- MessageDialog.openWarning(null, "Delete failed", errorString.toString());\r
- }else{\r
- if (result.getExceptions().iterator().hasNext()){\r
- MessagingUtils.errorDialog("Delete failed", this.getClass(),null, TaxeditorStorePlugin.PLUGIN_ID, result.getExceptions().iterator().next(), true);\r
- }else{\r
- MessageDialog.openWarning(null, "Delete failed", errorString.toString());\r
- }\r
- }\r
- }\r
+ return showErrorMessage(result);\r
+ }\r
\r
} else if (termBase instanceof DefinedTermBase) {\r
\r
DefinedTermBase definedTermBase = (DefinedTermBase) termBase;\r
\r
if (((DefinedTermBase)termBase).getCreatedBy() == null) {\r
- IStatus status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), "This is a CDM system defined term");\r
- MessagingUtils.warningDialog("Cannot delete defined term", termBase, status);\r
+ IStatus status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), Messages.DeleteTermBaseOperation_SYSTEM_TERM);\r
+ MessagingUtils.warningDialog(Messages.DeleteTermBaseOperation_CANNOT_DELETE_TERM, termBase, status);\r
return status;\r
}\r
if(!definedTermBase.getIncludes().isEmpty()){\r
- IStatus status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), "This term includes other terms. Please delete the included terms before deleting this term.");\r
- MessagingUtils.warningDialog("Term has included terms", termBase, status);\r
+ IStatus status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), Messages.DeleteTermBaseOperation_TERM_INCLUDES_OTHERS);\r
+ MessagingUtils.warningDialog(Messages.DeleteTermBaseOperation_TERM_INLCUDES, termBase, status);\r
return status;\r
}\r
\r
DeleteResult result = CdmStore.getService(ITermService.class).delete(termBase.getUuid());\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
- if (result.isAbort()){\r
- MessageDialog.openWarning(null, "Delete failed", errorString.toString());\r
- }else{\r
- if (result.getExceptions().iterator().hasNext()){\r
- MessagingUtils.errorDialog("Delete failed", this.getClass(),null, TaxeditorStorePlugin.PLUGIN_ID, result.getExceptions().iterator().next(), true);\r
- }else{\r
- MessageDialog.openWarning(null, "Delete failed", errorString.toString());\r
- }\r
- }\r
+ return showErrorMessage(result);\r
}\r
}\r
\r
return postExecute(termBase);\r
}\r
\r
- @Override\r
+ private IStatus showErrorMessage(DeleteResult result) {\r
+ StringBuffer errorString = new StringBuffer();\r
+ for (Exception e:result.getExceptions()){\r
+ errorString.append(e.getMessage() + System.lineSeparator());\r
+ }\r
+ IStatus status = new Status(IStatus.CANCEL, StoreUtil.getPluginId(), errorString.toString());\r
+ String delete_failed = Messages.DeleteTermBaseOperation_DELETE_FAILED;\r
+ if (result.isAbort()){\r
+ MessagingUtils.warningDialog(delete_failed, this, status);\r
+ }else{\r
+ if (result.getExceptions().iterator().hasNext()){\r
+ MessagingUtils.errorDialog(delete_failed, this.getClass(),null, TaxeditorStorePlugin.PLUGIN_ID, result.getExceptions().iterator().next(), true);\r
+ }else{\r
+ MessagingUtils.warningDialog(delete_failed, this, status);\r
+ }\r
+ }\r
+ return status;\r
+ }\r
+\r
+ @Override\r
public IStatus redo(IProgressMonitor monitor, IAdaptable info)\r
throws ExecutionException {\r
- // TODO Auto-generated method stub\r
return null;\r
}\r
\r
@Override\r
public IStatus undo(IProgressMonitor monitor, IAdaptable info)\r
throws ExecutionException {\r
- // TODO Auto-generated method stub\r
return null;\r
}\r
\r