package org.insightech.er.extention; import java.util.ArrayList; import java.util.List; import org.eclipse.core.runtime.CoreException; import org.eclipse.gef.ui.actions.ActionRegistry; import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.MenuManager; import org.insightech.er.editor.ERDiagramEditor; public class ExtensionLoader { private List<ExtendPopupMenu> extendPopupMenuList = new ArrayList<ExtendPopupMenu>();; public ExtensionLoader(ERDiagramEditor editor) throws CoreException { this.extendPopupMenuList = ExtendPopupMenu.loadExtensions(editor); } public List<IAction> createExtendedActions() { List<IAction> actionList = new ArrayList<IAction>(); for (ExtendPopupMenu extendPopupMenu : this.extendPopupMenuList) { actionList.add(extendPopupMenu.getAction()); } return actionList; } public void addERDiagramPopupMenu(MenuManager menuMgr, ActionRegistry actionregistry) { for (ExtendPopupMenu extendPopupMenu : this.extendPopupMenuList) { menuMgr.findMenuUsingPath(extendPopupMenu.getPath()).add( extendPopupMenu.getAction()); } } }