/** * Method to overload if the controller wants to be an origin for workflows. Child classes should * customize this to participate in workflows. * * @param request The request to get the session to store the returnPath into. * @param mapping The ActionMapping to get the input forward from. * @param params A Map of request parameters to add to the return path. */ protected void setReturnPath( HttpServletRequest request, ActionMapping mapping, Map<String, Object> params) throws Exception { String returnPath = ActionUtils.findReturnPath(mapping, params); if (log.isTraceEnabled()) { log.trace("setting return path: " + returnPath); } SessionUtils.setReturnPath(request.getSession(), returnPath); }
@Override public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { HttpSession session = request.getSession(); WebUser user = SessionUtils.getWebUser(session); AuthzSubject guestUser = authzBoss.findSubjectByName(user.getSessionId(), "guest"); DashboardConfig dashboardConfig = dashboardManager.getUserDashboard(guestUser, guestUser); String portletId = request.getParameter("pid"); Portlet portlet = new Portlet(portletId); session.setAttribute("portlet", portlet); session.setAttribute(Constants.SELECTED_DASHBOARD_ID, dashboardConfig.getId()); return super.execute(mapping, form, request, response); }
public String update() throws Exception { HttpSession session = request.getSession(); WebUser user = SessionUtils.getWebUser(session); String forwardStr = SUCCESS; String token = (String) session.getAttribute("currentPortletToken"); // For multi-portlet configurations String resKey = JsonLoadCriticalAlertsNG.RESOURCES_KEY; String countKey = PropertiesFormNG.ALERT_NUMBER; String priorityKey = PropertiesFormNG.PRIORITY; String timeKey = PropertiesFormNG.PAST; String selOrAllKey = PropertiesFormNG.SELECTED_OR_ALL; String titleKey = PropertiesFormNG.TITLE; if (token != null) { resKey += token; countKey += token; priorityKey += token; timeKey += token; selOrAllKey += token; titleKey += token; } DashboardConfig dashConfig = dashboardManager.findDashboard( (Integer) session.getAttribute(Constants.SELECTED_DASHBOARD_ID), user, authzBoss); ConfigResponse dashPrefs = dashConfig.getConfig(); if (pForm.isRemoveClicked()) { DashboardUtils.removeResources(pForm.getIds(), resKey, dashPrefs); configurationProxy.setDashboardPreferences(session, user, dashPrefs); forwardStr = "review"; } String forward = checkSubmit(pForm); if (forward != null) { return forward; } Integer numberOfAlerts = pForm.getNumberOfAlerts(); String past = String.valueOf(pForm.getPast()); String prioritity = pForm.getPriority(); String selectedOrAll = pForm.getSelectedOrAll(); dashPrefs.setValue(countKey, numberOfAlerts.toString()); dashPrefs.setValue(timeKey, past); dashPrefs.setValue(priorityKey, prioritity); dashPrefs.setValue(selOrAllKey, selectedOrAll); dashPrefs.setValue(titleKey, pForm.getTitle()); configurationProxy.setDashboardPreferences(session, user, dashPrefs); session.removeAttribute(Constants.USERS_SES_PORTAL); removeValueInSession("currentPortletKey"); removeValueInSession("currentPortletToken"); return forwardStr; }
public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { HttpSession session = request.getSession(); AddApplicationServicesForm addForm = (AddApplicationServicesForm) form; AppdefEntityID aeid = new AppdefEntityID(addForm.getType().intValue(), addForm.getRid()); HashMap<String, Object> forwardParams = new HashMap<String, Object>(2); forwardParams.put(Constants.ENTITY_ID_PARAM, aeid.getAppdefKey()); forwardParams.put(Constants.ACCORDION_PARAM, "3"); ActionForward forward = checkSubmit(request, mapping, form, forwardParams); if (forward != null) { BaseValidatorForm spiderForm = (BaseValidatorForm) form; if (spiderForm.isCancelClicked() || spiderForm.isResetClicked() || forward.getName().equalsIgnoreCase(Constants.RESET_URL)) { log.trace("removing pending service list"); SessionUtils.removeList(session, Constants.PENDING_APPSVCS_SES_ATTR); } else if (spiderForm.isAddClicked()) { log.trace( "adding to pending service list " + Arrays.asList(addForm.getAvailableServices())); SessionUtils.addToList( session, Constants.PENDING_APPSVCS_SES_ATTR, addForm.getAvailableServices()); } else if (spiderForm.isRemoveClicked()) { log.trace("removing from pending service list"); SessionUtils.removeFromList( session, Constants.PENDING_APPSVCS_SES_ATTR, addForm.getPendingServices()); } return forward; } Integer sessionId = RequestUtils.getSessionId(request); log.trace("getting pending service list"); List<String> uiPendings = SessionUtils.getListAsListStr(session, Constants.PENDING_APPSVCS_SES_ATTR); List<AppdefEntityID> svcList = new ArrayList<AppdefEntityID>(); for (int pRcs = 0; pRcs < uiPendings.size(); pRcs++) { log.debug("uiPendings = " + uiPendings.get(pRcs)); StringTokenizer tok = new StringTokenizer(uiPendings.get(pRcs), " "); svcList.add(new AppdefEntityID(tok.nextToken())); } // when we call boss.setApplicationServices(...) our map must // be populated with all of the existing services (and whether // or not they're entry points) as well as our new ones // first, get the existing ones PageControl nullPc = new PageControl(-1, -1); List<AppdefResourceValue> existingServices = appdefBoss.findServiceInventoryByApplication(sessionId.intValue(), aeid.getId(), nullPc); DependencyTree tree = appdefBoss.getAppDependencyTree(sessionId.intValue(), aeid.getId()); for (AppdefResourceValue service : existingServices) { log.debug("service =" + service.getClass().getName()); tree.findAppService(service); svcList.add(service.getEntityId()); } // second, get the new ones // set all added services to be entry points, if they're not to be // entry points and are instead part of a dependency chain, // setting up the dependencies is a separate activity log.trace("adding servicess " + svcList + " for application [" + aeid.getID() + "]"); appdefBoss.setApplicationServices(sessionId.intValue(), aeid.getId(), svcList); log.trace("removing pending service list"); SessionUtils.removeList(session, Constants.PENDING_APPSVCS_SES_ATTR); RequestUtils.setConfirmation(request, "resource.application.inventory.confirm.AddedServices"); return returnSuccess(request, mapping, forwardParams); }