1 package com.proalpha.java.oea.plugins.querygenerator;
3 import java.util.ArrayList;
4 import java.util.HashMap;
8 import org.eclipse.jface.action.IContributionItem;
9 import org.eclipse.jface.action.Separator;
10 import org.eclipse.swt.SWT;
11 import org.eclipse.ui.actions.CompoundContributionItem;
12 import org.eclipse.ui.menus.CommandContributionItem;
13 import org.eclipse.ui.menus.CommandContributionItemParameter;
14 import org.eclipse.ui.menus.IWorkbenchContribution;
15 import org.eclipse.ui.services.IServiceLocator;
17 import com.openedge.core.runtime.IAVMClient;
18 import com.openedge.pdt.project.IOpenEdgeProject;
19 import com.openedge.pdt.project.OEProjectPlugin;
22 IWorkbenchContribution {
24 private IServiceLocator serviceLocator;
27 public void initialize(IServiceLocator serviceLocator) {
28 this.serviceLocator = serviceLocator;
32 protected IContributionItem[] getContributionItems() {
34 OEProjectPlugin projectPlugin = OEProjectPlugin.getDefault();
35 IOpenEdgeProject[] projects = projectPlugin.getOpenEdgeModel().getOpenEdgeProjects();
37 List<IContributionItem> itemList =
new ArrayList<IContributionItem>();
41 for (
int i = 0; i < projects.length; i++) {
43 IAVMClient runtime = projects[i].getRuntime();
45 if (runtime !=
null && runtime.isConnected()) {
47 Map<String, String> parameterMap =
new HashMap<String, String>();
48 parameterMap.put(
"com.proalpha.java.oea.plugins.querygenerator.avmTypeParameter",
"ProjectAVM");
49 parameterMap.put(
"com.proalpha.java.oea.plugins.querygenerator.avmNameParameter", runtime.getName());
51 CommandContributionItemParameter itemParameter =
new CommandContributionItemParameter(
53 "com.proalpha.java.oea.plugins.querygenerator.commands.startQueryGenerator",
54 "com.proalpha.java.oea.plugins.querygenerator.commands.startQueryGenerator",
57 itemParameter.label = runtime.getName();
58 itemParameter.parameters = parameterMap;
60 CommandContributionItem item =
new CommandContributionItem(itemParameter);
61 item.setVisible(
true);
71 if (projects.length > 0) {
72 Separator separator =
new Separator();
73 itemList.add(separator);
78 Map<String, String> parameterMap =
new HashMap<String, String>();
79 parameterMap.put(
"com.proalpha.java.oea.plugins.querygenerator.avmTypeParameter",
"SharedAVM");
81 CommandContributionItemParameter itemParameter =
new CommandContributionItemParameter(
83 "com.proalpha.java.oea.plugins.querygenerator.commands.startQueryGenerator",
84 "com.proalpha.java.oea.plugins.querygenerator.commands.startQueryGenerator",
87 itemParameter.label =
"Shared AVM";
88 itemParameter.parameters = parameterMap;
90 CommandContributionItem item =
new CommandContributionItem(itemParameter);
91 item.setVisible(
true);
95 return itemList.toArray(
new IContributionItem[itemList.size()]);