adapting to chages in CdmUtils
[taxeditor.git] / eu.etaxonomy.taxeditor.molecular / src / main / java / eu / etaxonomy / taxeditor / molecular / handler / AbstractAlignmentEditorHandler.java
1 /**
2 * Copyright (C) 2015 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.taxeditor.molecular.handler;
10
11
12 import org.eclipse.core.commands.AbstractHandler;
13 import org.eclipse.core.commands.ExecutionEvent;
14 import org.eclipse.core.commands.ExecutionException;
15 import org.eclipse.ui.IEditorPart;
16
17 import eu.etaxonomy.taxeditor.model.AbstractUtility;
18 import eu.etaxonomy.taxeditor.molecular.editor.AlignmentEditor;
19
20
21
22
23 /**
24 * Abstract implementation for all handlers triggering actions in an active instance of
25 * {@link AlignmentEditor}.
26 *
27 * @author Ben Stöver
28 * @date 19.06.2015
29 */
30 public abstract class AbstractAlignmentEditorHandler extends AbstractHandler {
31 public static AlignmentEditor getActiveAlignmentEditor() {
32 IEditorPart activeEditor = AbstractUtility.getActiveEditor();
33 if (activeEditor instanceof AlignmentEditor) {
34 return (AlignmentEditor)activeEditor;
35 }
36 else {
37 return null;
38 }
39 }
40
41
42 @Override
43 public Object execute(ExecutionEvent event) throws ExecutionException {
44 AlignmentEditor editor = getActiveAlignmentEditor();
45 if (editor != null) {
46 doExecute(event, editor);
47 }
48 return null;
49 }
50
51
52 protected abstract void doExecute(ExecutionEvent event, AlignmentEditor editor) throws ExecutionException;
53 }