From: Katja Luther Date: Wed, 30 Jul 2014 12:09:55 +0000 (+0000) Subject: adaption for error handling of delete methods X-Git-Tag: 3.6.0~518 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/bcdc7df3472a8ed556e01f72415ab5e8b9f76682 adaption for error handling of delete methods --- diff --git a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java index 95b1636ec..8e4759ab6 100644 --- a/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java +++ b/eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java @@ -22,6 +22,7 @@ import org.eclipse.ui.IEditorPart; import org.eclipse.ui.handlers.HandlerUtil; import org.eclipse.ui.texteditor.IDocumentProvider; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.IAgentService; import eu.etaxonomy.cdm.api.service.IGroupService; import eu.etaxonomy.cdm.api.service.INameService; @@ -85,7 +86,7 @@ public class DeleteHandler extends AbstractHandler { for(Object object : structuredSelection.toList()){ LineAnnotation annotation = (LineAnnotation) model.getAnnotation(object); - String result = ""; + DeleteResult result = new DeleteResult(); try { ICdmApplicationConfiguration controller; controller = (ICdmApplicationConfiguration) CdmStore.getCurrentApplicationConfiguration(); @@ -120,10 +121,8 @@ public class DeleteHandler extends AbstractHandler { } catch (Exception e){ BulkEditorUtil.errorDialog("Could not delete", getClass(), e.getMessage(), null); } - try { - UUID uuid = UUID.fromString(result); - }catch (IllegalArgumentException e){ - BulkEditorUtil.errorDialog("Could not delete", getClass(), result, null); + if (result.isError()){ + BulkEditorUtil.errorDialog("Could not delete", getClass(), result.getExceptions().get(0).getMessage(), null); } ((BulkEditor) editor).removeAnnotatedLine(annotation); diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteTaxonOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteTaxonOperation.java index 8274cc91f..8bbc18005 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteTaxonOperation.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteTaxonOperation.java @@ -12,6 +12,7 @@ import org.eclipse.ui.IWorkbenchPage; import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.ITaxonService; import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator; import eu.etaxonomy.cdm.api.service.exception.DataChangeNoRollbackException; @@ -68,7 +69,7 @@ public class DeleteTaxonOperation extends DeleteTaxonBaseOperation{ ITaxonService service = controller.getTaxonService(); - String result = service.deleteTaxon(element, new TaxonDeletionConfigurator(), classification); + DeleteResult result = service.deleteTaxon(element, new TaxonDeletionConfigurator(), classification); //closeObsoleteEditor(taxon); diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientAgentService.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientAgentService.java index c22637fff..80e0d90e6 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientAgentService.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientAgentService.java @@ -20,6 +20,7 @@ import org.hibernate.Session; import org.hibernate.criterion.Criterion; import org.hibernate.envers.query.criteria.AuditCriterion; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.IAgentService; import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase; import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; @@ -284,7 +285,7 @@ public class TransientAgentService implements IAgentService { * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) */ @Override - public String delete(AgentBase persistentObject) { + public DeleteResult delete(AgentBase persistentObject) { return defaultAgentService.delete(persistentObject); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientClassificationService.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientClassificationService.java index 4e7e44236..7f907cdf3 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientClassificationService.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientClassificationService.java @@ -20,6 +20,7 @@ import org.hibernate.Session; import org.hibernate.criterion.Criterion; import org.hibernate.envers.query.criteria.AuditCriterion; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.IClassificationService; import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase; import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; @@ -299,7 +300,7 @@ public class TransientClassificationService implements IClassificationService { * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) */ @Override - public String delete(Classification persistentObject) { + public DeleteResult delete(Classification persistentObject) { return defaultClassificationService.delete(persistentObject); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientDescriptionService.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientDescriptionService.java index e32f1d997..2f46507ad 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientDescriptionService.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientDescriptionService.java @@ -20,6 +20,7 @@ import org.hibernate.Session; import org.hibernate.criterion.Criterion; import org.hibernate.envers.query.criteria.AuditCriterion; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.DistributionTree; import eu.etaxonomy.cdm.api.service.IDescriptionService; import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase; @@ -277,7 +278,7 @@ public class TransientDescriptionService implements IDescriptionService { * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) */ @Override - public String delete(DescriptionBase persistentObject) { + public DeleteResult delete(DescriptionBase persistentObject) { return defaultDescriptionService.delete(persistentObject); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientNameService.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientNameService.java index afaf72b65..54c6911f3 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientNameService.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientNameService.java @@ -23,6 +23,7 @@ import org.hibernate.Session; import org.hibernate.criterion.Criterion; import org.hibernate.envers.query.criteria.AuditCriterion; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.INameService; import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase; import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; @@ -219,7 +220,7 @@ public class TransientNameService implements INameService { * @see eu.etaxonomy.cdm.api.service.INameService#delete(eu.etaxonomy.cdm.model.name.TaxonNameBase, eu.etaxonomy.cdm.api.service.config.NameDeletionConfigurator) */ @Override - public String delete(TaxonNameBase name, NameDeletionConfigurator config) { + public DeleteResult delete(TaxonNameBase name, NameDeletionConfigurator config) { return defaultNameService.delete(name, config); } @@ -256,7 +257,7 @@ public class TransientNameService implements INameService { * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) */ @Override - public String delete(TaxonNameBase persistentObject) { + public DeleteResult delete(TaxonNameBase persistentObject) { return defaultNameService.delete(persistentObject); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientOccurenceService.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientOccurenceService.java index 8e6a6e7b7..77402df6a 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientOccurenceService.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientOccurenceService.java @@ -27,6 +27,7 @@ import org.hibernate.search.spatial.impl.Rectangle; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.IOccurrenceService; import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase; import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; @@ -276,7 +277,7 @@ public class TransientOccurenceService implements IOccurrenceService { * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) */ @Override - public String delete(SpecimenOrObservationBase persistentObject) { + public DeleteResult delete(SpecimenOrObservationBase persistentObject) { return defaultService.delete(persistentObject); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientReferenceService.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientReferenceService.java index c70f5f06f..4aa2dabc6 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientReferenceService.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientReferenceService.java @@ -20,6 +20,7 @@ import org.hibernate.Session; import org.hibernate.criterion.Criterion; import org.hibernate.envers.query.criteria.AuditCriterion; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.IReferenceService; import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase; import eu.etaxonomy.cdm.api.service.config.IIdentifiableEntityServiceConfigurator; @@ -273,7 +274,7 @@ public class TransientReferenceService implements IReferenceService { * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) */ @Override - public String delete(Reference persistentObject) { + public DeleteResult delete(Reference persistentObject) { return defaultReferenceService.delete(persistentObject); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientTaxonService.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientTaxonService.java index 96b5f6d45..9d00256fb 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientTaxonService.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientTaxonService.java @@ -24,6 +24,7 @@ import org.hibernate.Session; import org.hibernate.criterion.Criterion; import org.hibernate.envers.query.criteria.AuditCriterion; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.ITaxonService; import eu.etaxonomy.cdm.api.service.TaxaAndNamesSearchMode; import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase; @@ -257,7 +258,7 @@ public class TransientTaxonService implements ITaxonService { * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) */ @Override - public String delete(TaxonBase persistentObject) { + public DeleteResult delete(TaxonBase persistentObject) { return defaultTaxonService.delete(persistentObject); } @@ -1346,7 +1347,7 @@ public class TransientTaxonService implements ITaxonService { * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator) */ @Override - public String deleteSynonym(Synonym arg0, SynonymDeletionConfigurator arg1) { + public DeleteResult deleteSynonym(Synonym arg0, SynonymDeletionConfigurator arg1) { return defaultTaxonService.deleteSynonym(arg0, arg1); } @@ -1354,7 +1355,7 @@ public class TransientTaxonService implements ITaxonService { * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteSynonym(eu.etaxonomy.cdm.model.taxon.Synonym, eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.api.service.config.SynonymDeletionConfigurator) */ @Override - public String deleteSynonym(Synonym arg0, Taxon arg1, SynonymDeletionConfigurator arg2) { + public DeleteResult deleteSynonym(Synonym arg0, Taxon arg1, SynonymDeletionConfigurator arg2) { return defaultTaxonService.deleteSynonym(arg0, arg1, arg2); } @@ -1362,7 +1363,7 @@ public class TransientTaxonService implements ITaxonService { * @see eu.etaxonomy.cdm.api.service.ITaxonService#deleteTaxon(eu.etaxonomy.cdm.model.taxon.Taxon, eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator, eu.etaxonomy.cdm.model.taxon.Classification) */ @Override - public String deleteTaxon(Taxon arg0, TaxonDeletionConfigurator arg1, Classification arg2) { + public DeleteResult deleteTaxon(Taxon arg0, TaxonDeletionConfigurator arg1, Classification arg2) { return defaultTaxonService.deleteTaxon(arg0, arg1, arg2); } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientTermService.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientTermService.java index 533c4de90..4264a12bb 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientTermService.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientTermService.java @@ -331,7 +331,7 @@ public class TransientTermService implements ITermService { * @see eu.etaxonomy.cdm.api.service.IService#delete(eu.etaxonomy.cdm.model.common.ICdmBase) */ @Override - public String delete(DefinedTermBase persistentObject) { + public DeleteResult delete(DefinedTermBase persistentObject) { return defaultTermService.delete(persistentObject); } diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/operation/DeleteOperation.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/operation/DeleteOperation.java index abb15e3a4..377bc61da 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/operation/DeleteOperation.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/key/polytomous/operation/DeleteOperation.java @@ -15,8 +15,10 @@ import org.eclipse.core.commands.operations.IUndoContext; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; +import org.eclipse.jface.dialogs.MessageDialog; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.IPolytomousKeyService; import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException; import eu.etaxonomy.cdm.model.description.PolytomousKey; @@ -53,7 +55,13 @@ public class DeleteOperation extends AbstractPersistentPostOperation { throws ExecutionException { bind(); - String result = CdmStore.getService(IPolytomousKeyService.class).delete(key); + DeleteResult result = CdmStore.getService(IPolytomousKeyService.class).delete(key); + if (result.isError()){ + MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage()); + + }else if(!result.getExceptions().isEmpty()){ + //TODO:Warning! + } return postExecute(null); } diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java index 21629870e..481b6d928 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java @@ -19,9 +19,11 @@ import org.eclipse.core.commands.operations.IUndoContext; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; +import org.eclipse.jface.dialogs.MessageDialog; import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration; import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.IClassificationService; import eu.etaxonomy.cdm.api.service.ITaxonNodeService; import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator; @@ -102,8 +104,12 @@ public class DeleteOperation extends AbstractPersistentPostOperation{ element = ((TaxonNode)taxonNode).getTaxon(); - String result = service.deleteTaxonNode((TaxonNode)taxonNode, config); - //TODO:if result is not a UUIDstring then pop up a message box + DeleteResult result = service.deleteTaxonNode((TaxonNode)taxonNode, config); + if (result.isError()){ + //TODO:Error message! + MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage()); + } + }else if(taxonNode != null && taxonNode instanceof Classification){ Classification taxonomicTree = (Classification) taxonNode; @@ -113,8 +119,11 @@ public class DeleteOperation extends AbstractPersistentPostOperation{ } }*/ - String result = CdmStore.getService(IClassificationService.class).delete(taxonomicTree); - + DeleteResult result = CdmStore.getService(IClassificationService.class).delete(taxonomicTree); + if (result.isError()){ + //TODO:Error message! + MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage()); + } /*}else{ try{ diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/DeleteTermBaseOperation.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/DeleteTermBaseOperation.java index c0d897194..24865969a 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/DeleteTermBaseOperation.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/operation/DeleteTermBaseOperation.java @@ -15,7 +15,9 @@ import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; +import org.eclipse.jface.dialogs.MessageDialog; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.ITermService; import eu.etaxonomy.cdm.api.service.IVocabularyService; import eu.etaxonomy.cdm.api.service.exception.DataChangeNoRollbackException; @@ -79,8 +81,10 @@ public class DeleteTermBaseOperation extends AbstractPostTaxonOperation { definedEditorInput.getVocabularies().remove((TermVocabulary)termBase); - String result = CdmStore.getService(IVocabularyService.class).delete((TermVocabulary)termBase); - + DeleteResult result = CdmStore.getService(IVocabularyService.class).delete((TermVocabulary)termBase); + if (result.isError()){ + //TODO: Error message! + } } else if (termBase instanceof DefinedTermBase) { @@ -114,8 +118,11 @@ public class DeleteTermBaseOperation extends AbstractPostTaxonOperation { vocabulary.removeTerm(definedTermBase); } - String result = CdmStore.getService(ITermService.class).delete((DefinedTermBase)termBase); + DeleteResult result = CdmStore.getService(ITermService.class).delete((DefinedTermBase)termBase); + if (result.isError()){ + MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage()); + } } return postExecute(termBase); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/SelectFeatureTreeWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/SelectFeatureTreeWizardPage.java index de74faa76..9457d0969 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/SelectFeatureTreeWizardPage.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/SelectFeatureTreeWizardPage.java @@ -31,6 +31,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; +import eu.etaxonomy.cdm.api.service.DeleteResult; import eu.etaxonomy.cdm.api.service.IFeatureTreeService; import eu.etaxonomy.cdm.api.service.exception.DataChangeNoRollbackException; import eu.etaxonomy.cdm.model.description.FeatureTree; @@ -162,8 +163,11 @@ public class SelectFeatureTreeWizardPage extends WizardPage implements ISelectio for(Object element : selection.toArray()){ viewer.remove(element); - String result = CdmStore.getService(IFeatureTreeService.class).delete((FeatureTree) element); + DeleteResult result = CdmStore.getService(IFeatureTreeService.class).delete((FeatureTree) element); + if (result.isError()){ + + } viewer.setSelection(new StructuredSelection(new Object[0])); } }