67910e1f84423123951cb33aebd2a72ea14c29b5
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / media / handler / AddExistingMediaHandler.java
1 package eu.etaxonomy.taxeditor.editor.view.media.handler;
2
3 import org.eclipse.core.commands.ExecutionEvent;
4 import org.eclipse.core.commands.common.NotDefinedException;
5
6 import eu.etaxonomy.cdm.model.description.DescriptionBase;
7 import eu.etaxonomy.cdm.model.media.Media;
8 import eu.etaxonomy.taxeditor.editor.EditorUtil;
9 import eu.etaxonomy.taxeditor.editor.view.media.operation.AddExistingMediaToImageGalleryOperation;
10 import eu.etaxonomy.taxeditor.model.AbstractUtility;
11 import eu.etaxonomy.taxeditor.model.MessagingUtils;
12 import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
13 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
14 import eu.etaxonomy.taxeditor.ui.dialog.selection.MediaSelectionDialog;
15
16 public class AddExistingMediaHandler extends CreateMediaHandler {
17
18 /**
19 * @param event
20 * @param postOperationEnabled
21 * @param description
22 */
23 @Override
24 protected void executeOperation(ExecutionEvent event, IPostOperationEnabled postOperationEnabled,
25 DescriptionBase description) {
26 AbstractPostOperation operation = null;
27 try {
28
29 //select media
30 Media media = MediaSelectionDialog.select(AbstractUtility.getShell(), null, null);
31 // TODO use undo context specific to editor
32 operation = new AddExistingMediaToImageGalleryOperation(media, event.getCommand().getName(),
33 EditorUtil.getUndoContext(), description, postOperationEnabled);
34 AbstractUtility.executeOperation(operation);
35 } catch (NotDefinedException e) {
36 MessagingUtils.warn(getClass(), "Command name not set.");
37 }
38 }
39
40 }