import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.viewers.TreeNode;
-import org.eclipse.ui.ISaveablePart;
import eu.etaxonomy.cdm.api.service.DeleteResult;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.molecular.Sequence;
import eu.etaxonomy.cdm.model.molecular.SingleRead;
-import eu.etaxonomy.taxeditor.editor.Messages;
-import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView;
+import eu.etaxonomy.taxeditor.editor.l10n.Messages;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.dialog.deleteConfigurator.DeleteConfiguratorDialog;
/**
*
/** {@inheritDoc} */
@Override
public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
- if(getPostOperationEnabled() instanceof ISaveablePart){
- String confirmationQuestion = Messages.DeleteDerivateOperation_REALLY_DELETE;
- if(deleteConfigurator.isDeleteChildren()){
- confirmationQuestion += Messages.DeleteDerivateOperation_AND_CHILDREN;
- }
- confirmationQuestion += "?"; //$NON-NLS-1$
- if(!DeleteConfiguratorDialog.openConfirmWithConfigurator(deleteConfigurator, null, Messages.DeleteDerivateOperation_CONFIRM, confirmationQuestion)){
- return Status.CANCEL_STATUS;
- }
- if(((ISaveablePart) getPostOperationEnabled()).isDirty()){
- MessagingUtils.warningDialog(DerivateView.VIEW_HAS_UNSAVED_CHANGES, this, DerivateView.YOU_NEED_TO_SAVE_BEFORE_PERFORMING_THIS_ACTION);
- return Status.CANCEL_STATUS;
- }
- }
+
DeleteResult deleteResult;
if(element instanceof SingleRead && treeNode!=null
&& treeNode.getValue().equals(element)
&& treeNode.getParent()!=null
&& treeNode.getParent().getValue() instanceof Sequence){
- deleteResult = CdmStore.getService(IOccurrenceService.class).deleteSingleRead(((SingleRead)element).getUuid(),
+ deleteResult = CdmStore.getService(ISequenceService.class).deleteSingleRead(((SingleRead)element).getUuid(),
((Sequence) treeNode.getParent().getValue()).getUuid());
} else if(element instanceof Sequence){
- deleteResult = CdmStore.getService(ISequenceService.class).delete(element.getUuid(), deleteConfigurator);
+ deleteResult = CdmStore.getService(ISequenceService.class).delete(element.getUuid());
} else {
- deleteResult = CdmStore.getService(IOccurrenceService.class).deleteDerivateHierarchy(element.getUuid(), deleteConfigurator);
- }
- if(deleteResult.isOk()){
- if(getPostOperationEnabled() instanceof DerivateView){
- DerivateView derivateView = (DerivateView) getPostOperationEnabled();
- derivateView.remove(element);
- //update DerivateView
- derivateView.getConversationHolder().commit();
- IStatus returnStatus = postExecute(null);
- return returnStatus;
- }
+ deleteResult = CdmStore.getService(IOccurrenceService.class).delete(element.getUuid(), deleteConfigurator);
}
- else{
+
+ if (!deleteResult.isOk()) {
MessagingUtils.warningDialog(Messages.DeleteDerivateOperation_DELETE_FAILED, this, deleteResult.toString());
+
return Status.CANCEL_STATUS;
}
return Status.OK_STATUS;