started to refactor action delegation
[taxeditor.git] / eclipseprojects / eu.etaxonomy.taxeditor / src / eu / etaxonomy / taxeditor / actions / name / CreateTaxonomicallyIncludedTaxonAction.java
1 /**
2 * Copyright (C) 2007 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
10 package eu.etaxonomy.taxeditor.actions.name;
11
12 import org.apache.log4j.Logger;
13 import org.eclipse.jface.action.Action;
14 import org.eclipse.jface.resource.ImageDescriptor;
15
16 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
17 import eu.etaxonomy.cdm.model.taxon.Taxon;
18 import eu.etaxonomy.taxeditor.ITaxEditorConstants;
19 import eu.etaxonomy.taxeditor.TaxEditorPlugin;
20 import eu.etaxonomy.taxeditor.controller.EditorController;
21 import eu.etaxonomy.taxeditor.controller.GlobalController;
22 import eu.etaxonomy.taxeditor.editor.name.CdmParserController;
23 import eu.etaxonomy.taxeditor.model.CdmSessionDataRepository;
24
25 /**
26 * @author n.hoffmann
27 * @created 02.02.2009
28 * @version 1.0
29 */
30 public class CreateTaxonomicallyIncludedTaxonAction extends Action {
31 private static final Logger logger = Logger
32 .getLogger(CreateTaxonomicallyIncludedTaxonAction.class);
33
34 private static String text = "Create taxonomically included taxon";
35 private static ImageDescriptor image = TaxEditorPlugin.getDefault()
36 .getImageRegistry().getDescriptor(ITaxEditorConstants.BLACK_SQUARE_ICON);
37
38 public CreateTaxonomicallyIncludedTaxonAction(){
39 super(text, image);
40 }
41
42 public void run(){
43
44 Taxon taxon = EditorController.getActiveEditor().getTaxon();
45 // Create a new taxon with an empty name
46 TaxonNameBase childName =
47 CdmParserController.parseFullReference("", null, null);
48 Taxon childTaxon = Taxon.NewInstance(childName, CdmSessionDataRepository.getDefault().getDefaultSec());
49
50 // Add the newly created taxon to the actual open taxon
51 taxon.addTaxonomicChild(childTaxon, null, null);
52
53 // Open a new editor window for the new taxon
54 EditorController.open(childTaxon);
55 }
56 }