had to rename the packages to make them compliant with buckminster
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / media / handler / AddImageGalleryHandler.java
1 /**
2 *
3 */
4 package eu.etaxonomy.taxeditor.editor.view.media.handler;
5
6 import org.eclipse.core.commands.AbstractHandler;
7 import org.eclipse.core.commands.ExecutionEvent;
8 import org.eclipse.core.commands.ExecutionException;
9 import org.eclipse.core.commands.common.NotDefinedException;
10 import org.eclipse.jface.viewers.ISelection;
11 import org.eclipse.jface.viewers.IStructuredSelection;
12 import org.eclipse.ui.IEditorInput;
13 import org.eclipse.ui.IEditorPart;
14 import org.eclipse.ui.IWorkbenchPart;
15 import org.eclipse.ui.handlers.HandlerUtil;
16
17 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
18 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
19 import eu.etaxonomy.cdm.model.description.Feature;
20 import eu.etaxonomy.cdm.model.description.SpecimenDescription;
21 import eu.etaxonomy.cdm.model.description.TextData;
22 import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
23 import eu.etaxonomy.cdm.model.taxon.Taxon;
24 import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
25 import eu.etaxonomy.taxeditor.bulkeditor.input.OccurrenceEditorInput;
26 import eu.etaxonomy.taxeditor.editor.EditorUtil;
27 import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
28 import eu.etaxonomy.taxeditor.editor.view.descriptive.operation.CreateTaxonDescriptionOperation;
29 import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
30 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
31
32 /**
33 * <p>AddImageGalleryHandler class.</p>
34 *
35 * @author p.ciardelli
36 * @version $Id: $
37 */
38 public class AddImageGalleryHandler extends AbstractHandler {
39
40 /* (non-Javadoc)
41 * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
42 */
43 /** {@inheritDoc} */
44 public Object execute(ExecutionEvent event) throws ExecutionException {
45
46 IWorkbenchPart part = HandlerUtil.getActivePart(event);
47 IPostOperationEnabled postOperationEnabled = (part instanceof IPostOperationEnabled) ? (IPostOperationEnabled) part : null;
48
49
50 IEditorPart editor = HandlerUtil.getActiveEditor(event);
51 IEditorInput input = editor.getEditorInput();
52 if (input instanceof TaxonEditorInput) {
53 Taxon taxon = ((TaxonEditorInput) input).getTaxon();
54 AbstractPostOperation operation;
55 try {
56 // TODO use undo context specific to editor
57 operation = new CreateTaxonDescriptionOperation(event.getCommand().getName(),
58 EditorUtil.getUndoContext(), taxon, postOperationEnabled, true);
59 EditorUtil.executeOperation(operation);
60 } catch (NotDefinedException e) {
61 EditorUtil.warn(getClass(), "Command name not set.");
62 }
63 }
64 return null;
65 }
66
67 }