/** * Applies the selected errata * * @param mapping ActionMapping * @param formIn ActionForm * @param request ServletRequest * @param response ServletResponse * @return The ActionForward to go to next. */ public ActionForward applyErrata( ActionMapping mapping, ActionForm formIn, HttpServletRequest request, HttpServletResponse response) { Map<String, Object> params = new HashMap<String, Object>(); RequestContext requestContext = new RequestContext(request); StrutsDelegate strutsDelegate = getStrutsDelegate(); // if they chose errata, send them to the confirmation page Long sid = requestContext.getParamAsLong("sid"); User user = requestContext.getCurrentUser(); RhnSet set = getSetDecl(sid).get(user); // if they chose no errata, return to the same page with a message if (set.isEmpty()) { ActionMessages msg = new ActionMessages(); msg.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("errata.applynone")); params = makeParamMap(formIn, request); strutsDelegate.saveMessages(request, msg); return strutsDelegate.forwardParams(mapping.findForward(RhnHelper.DEFAULT_FORWARD), params); } if (sid != null) { params.put("sid", sid); } return strutsDelegate.forwardParams(mapping.findForward(RhnHelper.CONFIRM_FORWARD), params); }
/** {@inheritDoc} */ @Override public ActionForward handleDispatch( ListSessionSetHelper helper, ActionMapping mapping, ActionForm formIn, HttpServletRequest request, HttpServletResponse response) { RequestContext context = new RequestContext(request); ActivationKey key = context.lookupAndBindActivationKey(); ConfigChannelListProcessor proc = new ConfigChannelListProcessor(); Set<String> set = helper.getSet(); for (String id : set) { Long ccid = Long.valueOf(id); ConfigChannel cc = ConfigurationFactory.lookupConfigChannelById(ccid); proc.remove(key.getConfigChannelsFor(context.getCurrentUser()), cc); } getStrutsDelegate() .saveMessage( "config_channels_to_unsubscribe.unsubscribe.success", new String[] {String.valueOf(set.size())}, request); Map<String, Object> params = new HashMap<String, Object>(); params.put(RequestContext.TOKEN_ID, key.getToken().getId().toString()); StrutsDelegate strutsDelegate = getStrutsDelegate(); return strutsDelegate.forwardParams(mapping.findForward("success"), params); }
/** {@inheritDoc} */ public ActionForward execute( ActionMapping mapping, ActionForm formIn, HttpServletRequest request, HttpServletResponse response) { RequestContext requestContext = new RequestContext(request); StrutsDelegate strutsDelegate = getStrutsDelegate(); User user = requestContext.getCurrentUser(); Errata errata = requestContext.lookupErratum(); DataResult dr = ErrataManager.systemsAffected(user, errata.getId(), null); RhnSet set = RhnSetDecl.SYSTEMS_AFFECTED.get(user); RhnListSetHelper helper = new RhnListSetHelper(request); // if its not submitted // ==> this is the first visit to this page // clear the 'dirty set' if (!requestContext.isSubmitted()) { set.clear(); RhnSetManager.store(set); } if (request.getParameter(DISPATCH) != null) { helper.updateSet(set, LIST_NAME); if (!set.isEmpty()) { // Send to AffectedSystemsAction to handle submit return strutsDelegate.forwardParams( mapping.findForward("confirm"), request.getParameterMap()); } RhnHelper.handleEmptySelection(request); } if (ListTagHelper.getListAction(LIST_NAME, request) != null) { helper.execute(set, LIST_NAME, dr); } // if I have a previous set selections populate data using it if (!set.isEmpty()) { helper.syncSelections(set, dr); ListTagHelper.setSelectedAmount(LIST_NAME, set.size(), request); } TagHelper.bindElaboratorTo("systemAffectedList", dr.getElaborator(), request); ListTagHelper.bindSetDeclTo(LIST_NAME, RhnSetDecl.SYSTEMS_AFFECTED, request); request.setAttribute(RequestContext.PAGE_LIST, dr); request.setAttribute("set", set); request.setAttribute("errata", errata); request.setAttribute( ListTagHelper.PARENT_URL, request.getRequestURI() + "?" + RequestContext.ERRATA_ID + "=" + errata.getId()); return strutsDelegate.forwardParams( mapping.findForward(RhnHelper.DEFAULT_FORWARD), request.getParameterMap()); }
/** {@inheritDoc} */ public ActionForward execute( ActionMapping mapping, ActionForm formIn, HttpServletRequest request, HttpServletResponse response) { RequestContext context = new RequestContext(request); User user = context.getCurrentUser(); long cid = context.getRequiredParam("cid"); Channel chan = ChannelFactory.lookupByIdAndUser(cid, user); request.setAttribute("channel_name", chan.getName()); request.setAttribute("cid", chan.getId()); Map<String, Object> params = new HashMap<String, Object>(); params.put(RequestContext.CID, chan.getId().toString()); ListSessionSetHelper helper = new ListSessionSetHelper(this, request, params); if (!context.isSubmitted()) { List<ContentSource> result = getResult(context); Set<String> preSelect = new HashSet<String>(); for (int i = 0; i < result.size(); i++) { ContentSource src = result.get(i); if (src.getChannels().contains(chan)) { preSelect.add(src.getId().toString()); } } helper.preSelect(preSelect); } helper.ignoreEmptySelection(); helper.execute(); if (helper.isDispatched()) { Set<ContentSource> foo = chan.getSources(); foo.clear(); Set<String> set = helper.getSet(); for (String id : set) { Long sgid = Long.valueOf(id); ContentSource tmp = ChannelFactory.lookupContentSource(sgid, user.getOrg()); foo.add(tmp); } ChannelFactory.save(chan); StrutsDelegate strutsDelegate = getStrutsDelegate(); strutsDelegate.saveMessage( "channel.edit.repo.updated", new String[] {chan.getName()}, request); return strutsDelegate.forwardParams(mapping.findForward("success"), params); } return mapping.findForward(RhnHelper.DEFAULT_FORWARD); }
/** * Forward to the confirm page * * @param mapping ActionMapping * @param formIn ActionForm * @param request ServletRequest * @param response ServletResponse * @return The ActionForward to go to next. */ public ActionForward forwardToConfirm( ActionMapping mapping, ActionForm formIn, HttpServletRequest request, HttpServletResponse response) { RhnSet set = updateSet(request); String forwardName = "delete"; StrutsDelegate strutsDelegate = getStrutsDelegate(); if (set.size() == 0) { strutsDelegate.saveMessage("filelists.jsp.selectafilelist", request); forwardName = RhnHelper.DEFAULT_FORWARD; } Map params = makeParamMap(formIn, request); RhnSetManager.store(set); return strutsDelegate.forwardParams(mapping.findForward(forwardName), params); }
/** {@inheritDoc} */ public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { StrutsDelegate strutsDelegate = getStrutsDelegate(); ActionForward forward = null; DynaActionForm f = (DynaActionForm) form; RequestContext requestContext = new RequestContext(request); Long sid = requestContext.getRequiredParam("sid"); User user = requestContext.getLoggedInUser(); Server server = SystemManager.lookupByIdAndUser(sid, user); request.setAttribute("system", server); DynaActionForm dynaForm = (DynaActionForm) form; DatePicker picker = getStrutsDelegate() .prepopulateDatePicker(request, dynaForm, "date", DatePicker.YEAR_RANGE_POSITIVE); request.setAttribute("date", picker); if (!isSubmitted(f)) { setup(request, f); forward = strutsDelegate.forwardParams(mapping.findForward("default"), request.getParameterMap()); } else { ActionMessages msgs = processForm(user, server, f, request); strutsDelegate.saveMessages(request, msgs); String mode = (String) f.get("mode"); forward = strutsDelegate.forwardParams( mapping.findForward(getForward(mode)), request.getParameterMap()); } return forward; }
/** {@inheritDoc} */ @Override public ActionForward execute( ActionMapping mapping, ActionForm formIn, HttpServletRequest request, HttpServletResponse response) { RequestContext context = new RequestContext(request); User user = context.getCurrentUser(); Server server = context.lookupAndBindServer(); ListSessionSetHelper helper = new ListSessionSetHelper(this, request); helper.execute(); if (helper.isDispatched()) { ServerGroupManager manager = ServerGroupManager.getInstance(); List<Server> servers = new LinkedList<Server>(); servers.add(server); for (String id : helper.getSet()) { ServerGroup group = manager.lookup(Long.valueOf(id), user); manager.addServers(group, servers, user); } helper.destroy(); getStrutsDelegate() .saveMessage( "systems.groups.jsp.added", new String[] {String.valueOf(helper.getSet().size())}, request); Map<String, Object> params = new HashMap<String, Object>(); params.put(RequestContext.SID, server.getId().toString()); StrutsDelegate strutsDelegate = getStrutsDelegate(); return strutsDelegate.forwardParams(mapping.findForward("success"), params); } return mapping.findForward(RhnHelper.DEFAULT_FORWARD); }
protected ActionForward doExecute( HttpServletRequest request, ActionMapping mapping, DynaActionForm form) { String viewMode = form.getString(VIEW_MODE); String searchString = form.getString(SEARCH_STR).trim(); ActionErrors errs = new ActionErrors(); if (viewMode.equals(SystemSearchHelper.ID) || viewMode.equals(SystemSearchHelper.CPU_MHZ_LT) || viewMode.equals(SystemSearchHelper.CPU_MHZ_GT) || viewMode.equals(SystemSearchHelper.RAM_LT) || viewMode.equals(SystemSearchHelper.RAM_GT) || viewMode.equals(SystemSearchHelper.NUM_CPUS_LT) || viewMode.equals(SystemSearchHelper.NUM_CPUS_GT) || viewMode.equals(SystemSearchHelper.CHECKIN) || viewMode.equals(SystemSearchHelper.REGISTERED)) { String regEx = "(\\d)*"; Pattern pattern = Pattern.compile(regEx); Matcher matcher = pattern.matcher(searchString); if (!matcher.matches()) { errs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("systemsearch.errors.numeric")); } } // TODO: Set up combined-form validator // errs.add(RhnValidationHelper.validateDynaActionForm(this, daForm)); addErrors(request, errs); ListRhnSetHelper helper = new ListRhnSetHelper(this, request, RhnSetDecl.SYSTEMS); helper.setWillClearSet(false); helper.setDataSetName(getDataSetName()); helper.setListName(getListName()); helper.execute(); List results = (List) request.getAttribute(getDataSetName()); log.debug( "SystemSearch results.size() = " + (results != null ? results.size() : "null results")); if ((results != null) && (results.size() == 1)) { SystemSearchResult s = (SystemSearchResult) results.get(0); return StrutsDelegate.getInstance() .forwardParam(mapping.findForward("single"), "sid", s.getId().toString()); } return mapping.findForward(RhnHelper.DEFAULT_FORWARD); }
/** * Executes the appropriate PackageAction * * @param mapping ActionMapping * @param formIn ActionForm * @param request ServletRequest * @param response ServletResponse * @return The ActionForward to go to next. */ public ActionForward executePackageAction( ActionMapping mapping, ActionForm formIn, HttpServletRequest request, HttpServletResponse response) { RequestContext requestContext = new RequestContext(request); StrutsDelegate strutsDelegate = getStrutsDelegate(); Long sid = requestContext.getRequiredParam("sid"); User user = requestContext.getCurrentUser(); // updateList(newactions, user.getId()); List<Map<String, Long>> data = PackageListItem.toKeyMaps(getDataResult(request)); int numPackages = data.size(); // Archive the actions Server server = SystemManager.lookupByIdAndUser(sid, user); // The earliest time to perform the action. DynaActionForm dynaActionForm = (DynaActionForm) formIn; Date earliest = getStrutsDelegate().readDatePicker(dynaActionForm, "date", DatePicker.YEAR_RANGE_POSITIVE); // The action chain to append this action to, if any ActionChain actionChain = ActionChainHelper.readActionChain(dynaActionForm, user); PackageAction pa = schedulePackageAction(formIn, requestContext, data, earliest, actionChain); // Remove the actions from the users set SessionSetHelper.obliterate(request, getDecl(sid)); ActionMessages msgs = new ActionMessages(); if (actionChain == null) { /** * If there was only one action archived, display the "action" archived message, else display * the "actions" archived message. */ if (numPackages == 1) { msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( getMessageKeyForOne(), LocalizationService.getInstance().formatNumber(numPackages), pa.getId().toString(), sid.toString(), StringUtil.htmlifyText(server.getName()))); } else { msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( getMessageKeyForMany(), LocalizationService.getInstance().formatNumber(numPackages), pa.getId().toString(), sid.toString(), StringUtil.htmlifyText(server.getName()))); } } else { msgs.add( ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "message.addedtoactionchain", actionChain.getId(), StringUtil.htmlifyText(actionChain.getLabel()))); } strutsDelegate.saveMessages(request, msgs); Map params = new HashMap(); processParamMap(formIn, request, params); return strutsDelegate.forwardParams(mapping.findForward(RhnHelper.CONFIRM_FORWARD), params); }