9c50be23a85c7da341b86cc657577719fb96381c
[taxeditor.git] / eu.etaxonomy.taxeditor.bulkeditor / src / main / java / eu / etaxonomy / taxeditor / bulkeditor / command / OpenBulkEditorContributionItem.java
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.bulkeditor.command;
12
13 import java.util.ArrayList;
14 import java.util.HashMap;
15 import java.util.List;
16 import java.util.Map;
17
18 import org.apache.log4j.Logger;
19 import org.eclipse.jface.action.IContributionItem;
20 import org.eclipse.swt.SWT;
21 import org.eclipse.ui.PlatformUI;
22 import org.eclipse.ui.actions.CompoundContributionItem;
23 import org.eclipse.ui.menus.CommandContributionItem;
24 import org.eclipse.ui.menus.CommandContributionItemParameter;
25
26 import eu.etaxonomy.taxeditor.bulkeditor.IBulkEditorConstants;
27
28 /**
29 * <p>OpenBulkEditorContributionItem class.</p>
30 *
31 * @author p.ciardelli
32 * @created 19.08.2009
33 * @version 1.0
34 */
35 public class OpenBulkEditorContributionItem extends CompoundContributionItem {
36 private static final Logger logger = Logger
37 .getLogger(OpenBulkEditorContributionItem.class);
38
39 /**
40 * <p>Constructor for OpenBulkEditorContributionItem.</p>
41 */
42 public OpenBulkEditorContributionItem() {
43 }
44
45 /**
46 * <p>Constructor for OpenBulkEditorContributionItem.</p>
47 *
48 * @param id a {@link java.lang.String} object.
49 */
50 public OpenBulkEditorContributionItem(String id) {
51 super(id);
52 }
53
54 /* (non-Javadoc)
55 * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()
56 */
57 /** {@inheritDoc} */
58 @Override
59 protected IContributionItem[] getContributionItems() {
60
61 List<IContributionItem> contributionItems = new ArrayList<IContributionItem>();
62
63 Map inputTypeValues = (new BulkEditorInputTypeValues()).getParameterValues();
64 for (Object key : inputTypeValues.keySet()) {
65 contributionItems.add(createContributionItem(
66 (String) key, (String) inputTypeValues.get(key)));
67 }
68
69 return (IContributionItem[])contributionItems.
70 toArray(new IContributionItem[contributionItems.size()]);
71 }
72
73 /**
74 * @param key
75 * @param object
76 * @return
77 */
78 private IContributionItem createContributionItem(String label, String inputType) {
79 CommandContributionItemParameter parameter =
80 new CommandContributionItemParameter(
81 PlatformUI.getWorkbench().getActiveWorkbenchWindow(),
82 null, IBulkEditorConstants.DYNAMIC_OPEN_MENU_ID, SWT.NONE);
83
84 parameter.label = label;
85
86 Map parameters = new HashMap();
87 parameters.put(IBulkEditorConstants.INPUT_TYPE_PARAMETER_ID, inputType);
88 parameter.parameters = parameters;
89
90 return new CommandContributionItem(parameter);
91 }
92 }