Project

General

Profile

Download (2.59 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2007 EDIT
4
* European Distributed Institute of Taxonomy 
5
* http://www.e-taxonomy.eu
6
* 
7
* The contents of this file are subject to the Mozilla Public License Version 1.1
8
* See LICENSE.TXT at the top of this package for the full license terms.
9
*/
10

    
11
package eu.etaxonomy.taxeditor.navigation.key.polytomous.operation;
12

    
13
import org.eclipse.core.commands.ExecutionException;
14
import org.eclipse.core.commands.operations.IUndoContext;
15
import org.eclipse.core.runtime.IAdaptable;
16
import org.eclipse.core.runtime.IProgressMonitor;
17
import org.eclipse.core.runtime.IStatus;
18

    
19
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
20
import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
21
import eu.etaxonomy.cdm.api.service.exception.ReferencedObjectUndeletableException;
22
import eu.etaxonomy.cdm.model.description.PolytomousKey;
23
import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
24
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
25
import eu.etaxonomy.taxeditor.store.CdmStore;
26

    
27
/**
28
 * @author n.hoffmann
29
 * @created Dec 2, 2010
30
 * @version 1.0
31
 */
32
public class DeleteOperation extends AbstractPersistentPostOperation {
33

    
34
	private PolytomousKey key;
35

    
36
	/**
37
	 * @param label
38
	 * @param undoContext
39
	 * @param postOperationEnabled
40
	 */
41
	public DeleteOperation(String label, IUndoContext undoContext,
42
			PolytomousKey key,
43
			IPostOperationEnabled postOperationEnabled, IConversationEnabled conversationEnabled) {
44
		super(label, undoContext, postOperationEnabled, conversationEnabled);
45
		this.key = key;
46
	}
47

    
48
	/* (non-Javadoc)
49
	 * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
50
	 */
51
	@Override
52
	public IStatus execute(IProgressMonitor monitor, IAdaptable info)
53
			throws ExecutionException {
54
		bind();
55
		try{
56
			CdmStore.getService(IPolytomousKeyService.class).delete(key);
57
		}catch(ReferencedObjectUndeletableException e){
58
			throw new ExecutionException(e.getMessage());
59
		}
60
		return postExecute(null);
61
	}
62

    
63
	/* (non-Javadoc)
64
	 * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
65
	 */
66
	@Override
67
	public IStatus redo(IProgressMonitor monitor, IAdaptable info)
68
			throws ExecutionException {
69
		return null;
70
	}
71

    
72
	/* (non-Javadoc)
73
	 * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
74
	 */
75
	@Override
76
	public IStatus undo(IProgressMonitor monitor, IAdaptable info)
77
			throws ExecutionException {
78
		return null;
79
	}
80

    
81
}
(1-1/2)