/** * Creates the workspace action map. * * @return the workspace action map. */ protected ActionMap createWorkspaceActionMap() { ActionMap workspaceActionMap = new ActionMap(); List<ActionList> workspaceActionLists = new ArrayList<>(); ActionList exitActionList = new ActionList(); exitActionList.setName("file"); exitActionList.setIconImageURL(getWorkspacesMenuIconImageUrl()); List<IDisplayableAction> exitActions = new ArrayList<>(); exitActions.add(getExitAction()); exitActionList.setActions(exitActions); workspaceActionLists.add(createWorkspaceActionList()); workspaceActionLists.add(exitActionList); workspaceActionMap.setActionLists(workspaceActionLists); return workspaceActionMap; }
/** * Creates the workspace action list. * * @return the workspace action list. */ protected ActionList createWorkspaceActionList() { ActionList workspaceSelectionActionList = new ActionList(); workspaceSelectionActionList.setName("workspaces"); workspaceSelectionActionList.setIconImageURL(getWorkspacesMenuIconImageUrl()); List<IDisplayableAction> workspaceSelectionActions = new ArrayList<>(); for (String workspaceName : getWorkspaceNames()) { Workspace workspace = getWorkspace(workspaceName); if (isAccessGranted(workspace)) { try { pushToSecurityContext(workspace); IViewDescriptor workspaceViewDescriptor = getWorkspace(workspaceName).getViewDescriptor(); WorkspaceSelectionAction<E, F, G> workspaceSelectionAction = createWorkspaceSelectionAction(workspaceName, workspaceViewDescriptor); workspaceSelectionActions.add(workspaceSelectionAction); } finally { restoreLastSecurityContextSnapshot(); } } } workspaceSelectionActionList.setActions(workspaceSelectionActions); workspaceSelectionActionList.setCollapsable(true); return workspaceSelectionActionList; }