java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml |
9
java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java |
147 +---------
java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListConfirmAction.java |
122 ++++++++
java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataSystemsAffectedListAction.java |
65 ++++
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml |
15 -
java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java |
14
java/code/webapp/WEB-INF/pages/ssm/systems/errata-list-fragment.jspf |
65 ++++
java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata-confirm.jsp |
37 ++
java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata-systems-affected.jsp |
22 +
java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp |
55 ---
java/code/webapp/WEB-INF/struts-config.xml |
30 +-
11 files changed, 390 insertions(+), 191 deletions(-)
New commits:
commit 01ba4705a978a7d6a17edc30f7f057160e8e91ad
Author: Matej Kollar <mkollar(a)redhat.com>
Date: Tue Feb 4 16:01:23 2014 +0100
Use prepared confirm page
diff --git a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
index a671b32..89ea40a 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
@@ -15,25 +15,16 @@
package com.redhat.rhn.frontend.action.ssm;
-import com.redhat.rhn.common.localization.LocalizationService;
-import com.redhat.rhn.common.messaging.MessageQueue;
-import com.redhat.rhn.common.util.DatePicker;
import com.redhat.rhn.domain.rhnset.RhnSet;
-import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.action.SetLabels;
-import com.redhat.rhn.frontend.dto.SystemOverview;
-import com.redhat.rhn.frontend.events.SsmErrataEvent;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnHelper;
-import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListSessionSetHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
import com.redhat.rhn.manager.errata.ErrataManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
-import com.redhat.rhn.manager.system.SystemManager;
+import com.redhat.rhn.manager.rhnset.RhnSetManager;
-import java.util.ArrayList;
-import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
@@ -42,7 +33,6 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.DynaActionForm;
/**
*
@@ -69,65 +59,31 @@ public class ErrataListAction extends RhnAction implements Listable {
HttpServletResponse response)
throws Exception {
RequestContext requestContext = new RequestContext(request);
- DynaActionForm form = (DynaActionForm) actionForm;
- ListRhnSetHelper setHelper = this.bindDatasets(request);
+ ListSessionSetHelper helper = new ListSessionSetHelper(this, request);
+ helper.setListName(LIST_NAME);
+ helper.execute();
- if (setHelper.isDispatched()) {
- if (requestContext.wasDispatched("errata.jsp.apply")) {
- return handleConfirm(mapping, form, requestContext, setHelper, request);
- }
+ if (helper.isDispatched() &&
requestContext.wasDispatched("errata.jsp.apply")) {
+ return handleConfirm(mapping, requestContext, helper);
}
- getStrutsDelegate().prepopulateDatePicker(
- request, form, "date", DatePicker.YEAR_RANGE_POSITIVE);
- request.setAttribute("parentUrl", request.getRequestURI());
return mapping.findForward(RhnHelper.DEFAULT_FORWARD);
}
private ActionForward handleConfirm(ActionMapping mapping,
- DynaActionForm form,
RequestContext context,
- ListRhnSetHelper helper,
- HttpServletRequest request) {
- User user = context.getLoggedInUser();
-
- List<SystemOverview> srv = SystemManager.inSet(user,
SetLabels.SYSTEM_LIST);
- List<Long> serverIds = new ArrayList<Long>(srv.size());
- for (SystemOverview s : srv) {
- serverIds.add(s.getId());
+ ListSessionSetHelper helper) {
+ RhnSet set = getSetDecl().get(context.getCurrentUser());
+ set.clear();
+ for (String item : helper.getSet()) {
+ set.addElement(item);
}
-
- RhnSet erratas = helper.getSet();
- List<Long> errataIds = new ArrayList<Long>(erratas.size());
- errataIds.addAll(erratas.getElementValues());
-
- Date scheduleDate = this.getStrutsDelegate().readDatePicker(
- form, "date", DatePicker.YEAR_RANGE_POSITIVE);
-
- MessageQueue.publish(new SsmErrataEvent(
- user.getId(),
- scheduleDate,
- errataIds,
- serverIds)
- );
- createMessage(request, "ssm.errata.message.scheduled",
- new String[] {LocalizationService.getInstance().formatDate(
- scheduleDate, request.getLocale())});
+ RhnSetManager.store(set);
return mapping.findForward("confirm");
}
- private ListRhnSetHelper bindDatasets(HttpServletRequest request) {
- ListRhnSetHelper shlp = new ListRhnSetHelper(this,
- request, ErrataListAction.getSetDecl());
- shlp.setListName(LIST_NAME);
- shlp.setParentUrl(request.getRequestURI());
- shlp.execute();
-
- return shlp;
- }
-
/**
* @return Returns RhnSetDecl.ERRATA
*/
diff --git a/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp
b/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp
index 423f00c..b715fae 100644
--- a/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp
+++ b/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp
@@ -90,21 +90,6 @@
</rl:list>
- <div align="left">
- <!--
- <p><bean:message
key="installconfirm.jsp.widgetsummary"/></p>
- -->
- <table class="details" align="center">
- <tr>
- <th><label
for="radio_use_date_now"><bean:message
key="scheduleremote.jsp.nosoonerthan"/></label></th>
- <td>
- <jsp:include
page="/WEB-INF/pages/common/fragments/date-picker.jsp">
- <jsp:param name="widget"
value="date"/>
- </jsp:include><br/>
- </td>
- </tr>
- </table>
- </div>
<div class="text-right">
<hr />
<html:submit property="dispatch">
diff --git a/java/code/webapp/WEB-INF/struts-config.xml
b/java/code/webapp/WEB-INF/struts-config.xml
index 2fbb16e..f5da3e0 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -3667,7 +3667,8 @@
<forward name="default"
path="/WEB-INF/pages/ssm/systems/ssm-errata.jsp" />
<forward name="confirm"
- path="/WEB-INF/pages/ssm/ssmindex.jsp" />
+ path="/systems/ssm/ListPatchesConfirm.do"
+ redirect="true" />
</action>
<action path="/systems/ssm/ListPatchesConfirm"
commit d2cf00c137c7aa44be6bcf18c73b0827ef450004
Author: Matej Kollar <mkollar(a)redhat.com>
Date: Tue Feb 4 15:41:22 2014 +0100
Add confirmation page to ssm/ListPatches
diff --git a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListConfirmAction.java
b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListConfirmAction.java
new file mode 100644
index 0000000..5c35fbb
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListConfirmAction.java
@@ -0,0 +1,122 @@
+/**
+ * Copyright (c) 2014 Red Hat, Inc.
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ *
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+package com.redhat.rhn.frontend.action.ssm;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.DynaActionForm;
+
+import com.redhat.rhn.common.localization.LocalizationService;
+import com.redhat.rhn.common.messaging.MessageQueue;
+import com.redhat.rhn.common.util.DatePicker;
+import com.redhat.rhn.domain.rhnset.RhnSet;
+import com.redhat.rhn.domain.user.User;
+import com.redhat.rhn.frontend.action.SetLabels;
+import com.redhat.rhn.frontend.dto.SystemOverview;
+import com.redhat.rhn.frontend.events.SsmErrataEvent;
+import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.struts.RhnHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
+import com.redhat.rhn.manager.errata.ErrataManager;
+import com.redhat.rhn.manager.rhnset.RhnSetDecl;
+import com.redhat.rhn.manager.rhnset.RhnSetManager;
+import com.redhat.rhn.manager.system.SystemManager;
+
+/**
+ * Confirm application of errata to systems in SSM.
+ */
+public class ErrataListConfirmAction extends RhnAction implements
+ Listable {
+ /** {@inheritDoc} */
+ @Override
+ public ActionForward execute(ActionMapping mapping,
+ ActionForm formIn,
+ HttpServletRequest request,
+ HttpServletResponse response) {
+
+
+ ListRhnSetHelper helper = new ListRhnSetHelper(this, request, getSetDecl());
+ helper.setWillClearSet(false);
+ helper.setListName("errataList");
+ helper.execute();
+
+ if (helper.isDispatched()) {
+ return handleDispatch(mapping, (DynaActionForm) formIn, request);
+ }
+
+ getStrutsDelegate().prepopulateDatePicker(request,
+ (DynaActionForm) formIn, "date",
DatePicker.YEAR_RANGE_POSITIVE);
+
+ return mapping.findForward(RhnHelper.DEFAULT_FORWARD);
+ }
+
+ private ActionForward handleDispatch(
+ ActionMapping mapping,
+ DynaActionForm formIn,
+ HttpServletRequest request) {
+ RequestContext context = new RequestContext(request);
+ User user = context.getLoggedInUser();
+
+ Date earliest = getStrutsDelegate().readDatePicker(formIn,
+ "date", DatePicker.YEAR_RANGE_POSITIVE);
+
+ List<SystemOverview> systems = SystemManager.inSet(user,
SetLabels.SYSTEM_LIST);
+ List<Long> serverIds = new ArrayList<Long>(systems.size());
+ for (SystemOverview s : systems) {
+ serverIds.add(s.getId());
+ }
+
+ RhnSet erratas = getSetDecl().get(context.getCurrentUser());
+ List<Long> errataIds = new ArrayList<Long>(erratas.size());
+ errataIds.addAll(erratas.getElementValues());
+
+ MessageQueue.publish(new SsmErrataEvent(
+ user.getId(),
+ earliest,
+ errataIds,
+ serverIds)
+ );
+
+ createMessage(request, "ssm.errata.message.scheduled",
+ new String[] {LocalizationService.getInstance().formatDate(
+ earliest, request.getLocale())});
+
+ RhnSet set = getSetDecl().get(context.getCurrentUser());
+ set.clear();
+ RhnSetManager.store(set);
+
+ return mapping.findForward("confirm");
+ }
+
+ protected RhnSetDecl getSetDecl() {
+ return RhnSetDecl.ERRATA;
+ }
+
+ /** {@inheritDoc} */
+ public List getResult(RequestContext context) {
+ return ErrataManager.lookupErrataListFromSet(context.getCurrentUser(),
+ getSetDecl().getLabel());
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index c42b1d1..c450751 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -15124,6 +15124,12 @@ any of these revisions. Are you sure you want to do
this?</source>
<trans-unit id="ssm.errata-relevant-systems.summary">
<source>Below is a list of the systems in the system set manager which
are affected by this erratum.</source>
</trans-unit>
+ <trans-unit id="ssm.errata-apply-confirm.title">
+ <source>Relevant Errata Confirm</source>
+ </trans-unit>
+ <trans-unit id="ssm.errata-apply-confirm.summary">
+ <source>The errata below will be applied to listed
systems.</source>
+ </trans-unit>
</group>
<trans-unit
id="ssm.operations.actionchaindetails.schedulesuccess">
<source>Action chain "{0}" has been successfully scheduled at
"{1}".</source>
diff --git a/java/code/webapp/WEB-INF/pages/ssm/systems/errata-list-fragment.jspf
b/java/code/webapp/WEB-INF/pages/ssm/systems/errata-list-fragment.jspf
new file mode 100644
index 0000000..460b1b0
--- /dev/null
+++ b/java/code/webapp/WEB-INF/pages/ssm/systems/errata-list-fragment.jspf
@@ -0,0 +1,65 @@
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<%@taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
+<%@taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
+<%@taglib
uri="http://struts.apache.org/tags-bean" prefix="bean"
%>
+<%@taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl" %>
+
+<rl:list name="errataList" styleclass="list"
+ emptykey="erratalist.jsp.norelevanterrata"
alphabarcolumn="advisorySynopsis">
+ <rl:decorator name="ElaborationDecorator"/>
+ <rl:decorator name="PageSizeDecorator"/>
+
+ <rl:column headerkey="erratalist.jsp.type" styleclass="text-align:
center;" bound="false">
+ <c:if test="${current.securityAdvisory}">
+ <rhn:icon type="errata-security" />
+ </c:if>
+ <c:if test="${current.bugFix}">
+ <rhn:icon type="errata-bugfix" />
+ </c:if>
+ <c:if test="${current.productEnhancement}">
+ <rhn:icon type="errata-enhance" />
+ </c:if>
+ </rl:column>
+
+ <rl:column headerkey="erratalist.jsp.advisory" bound="false"
sortattr="advisoryName" sortable="true">
+ <a
href="/rhn/errata/details/Details.do?eid=${current.id}">${current.advisoryName}</a>
+ </rl:column>
+
+ <rl:column headerkey="erratalist.jsp.synopsis" bound="false"
sortattr="advisorySynopsis"
+ sortable="true" filterattr="advisorySynopsis">
+ ${current.advisorySynopsis}
+ </rl:column>
+
+ <rl:column headerkey="errata.jsp.status" bound="false"
sortattr="currentStatusAndActionId[0]" sortable="true">
+ <c:if test="${not empty current.status}">
+ <c:if test="${current.currentStatusAndActionId[0] ==
'Queued'}">
+ <a
href="/rhn/schedule/ActionDetails.do?aid=${current.currentStatusAndActionId[1]}">
+ <bean:message key="affectedsystems.jsp.pending"/>
+ </a>
+ </c:if>
+ <c:if test="${current.currentStatusAndActionId[0] ==
'Failed'}">
+ <a
href="/network/systems/details/history/event.pxt?sid=${param.sid}&hid=${current.currentStatusAndActionId[1]}">
+ <bean:message key="actions.jsp.failed"/>
+ </a>
+ </c:if>
+ <c:if test="${current.currentStatusAndActionId[0] == 'Picked
Up'}">
+ <a
href="/network/systems/details/history/event.pxt?sid=${param.sid}&hid=${current.currentStatusAndActionId[1]}">
+ <bean:message key="actions.jsp.pickedup"/>
+ </a>
+ </c:if>
+ </c:if>
+ <c:if test="${empty current.status}">
+ <bean:message key="affectedsystems.jsp.none"/>
+ </c:if>
+ </rl:column>
+
+ <rl:column headerkey="errata.jsp.affected" bound="false"
sortattr="affectedSystemCount" sortable="true">
+ <a
href="/rhn/systems/ssm/ErrataSystemsAffected.do?eid=${current.id}">${current.affectedSystemCount}</a>
+ </rl:column>
+
+ <rl:column headerkey="erratalist.jsp.updated" bound="false"
sortattr="updateDateObj"
+ sortable="true" defaultsort="desc"
styleclass="last-column">
+ ${current.updateDate}
+ </rl:column>
+
+</rl:list>
diff --git a/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata-confirm.jsp
b/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata-confirm.jsp
new file mode 100644
index 0000000..5793e66
--- /dev/null
+++ b/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata-confirm.jsp
@@ -0,0 +1,37 @@
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<%@taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
+<%@taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
+<%@taglib
uri="http://struts.apache.org/tags-html" prefix="html"
%>
+<%@taglib
uri="http://struts.apache.org/tags-bean" prefix="bean"
%>
+<%@taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl" %>
+
+<html>
+<body>
+ <%@ include file="/WEB-INF/pages/common/fragments/ssm/header.jspf" %>
+ <h2><bean:message key="ssm.errata-apply-confirm.title"
/></h2>
+ <p class="page-summary"><bean:message
key="ssm.errata-apply-confirm.summary" /></p>
+
+ <rl:listset name="errataSet" legend="errata">
+ <rhn:csrf />
+ <rhn:submitted />
+<%@ include file="/WEB-INF/pages/ssm/systems/errata-list-fragment.jspf"
%>
+
+ <table class="details" align="center">
+ <tr>
+ <th><label for="radio_use_date_now"><bean:message
key="scheduleremote.jsp.nosoonerthan" /></label></th>
+ <td>
+ <jsp:include
page="/WEB-INF/pages/common/fragments/date-picker.jsp">
+ <jsp:param name="widget" value="date" />
+ </jsp:include>
+ </td>
+ </tr>
+ </table>
+ <div class="text-right">
+ <hr />
+ <html:submit property="dispatch">
+ <bean:message key="confirm.jsp.confirm" />
+ </html:submit>
+ </div>
+ </rl:listset>
+</body>
+</html>
diff --git a/java/code/webapp/WEB-INF/struts-config.xml
b/java/code/webapp/WEB-INF/struts-config.xml
index 57d0ff7..2fbb16e 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -3670,6 +3670,20 @@
path="/WEB-INF/pages/ssm/ssmindex.jsp" />
</action>
+ <action path="/systems/ssm/ListPatchesConfirm"
+ scope="request"
+ name="SSMPatchListForm"
+ input="/WEB-INF/pages/ssm/systems/ssm-errata.jsp"
+ type="com.redhat.rhn.frontend.action.ssm.ErrataListConfirmAction"
+ className="com.redhat.rhn.frontend.struts.RhnActionMapping">
+ <set-property property="postRequiredIfSubmitted"
value="true" />
+ <forward name="default"
+ path="/WEB-INF/pages/ssm/systems/ssm-errata-confirm.jsp"
/>
+ <forward name="confirm"
+ path="/systems/ssm/ListPatches.do"
+ redirect="true" />
+ </action>
+
<action path="/systems/ssm/MigrateSystems"
scope="request"
input="/WEB-INF/pages/ssm/systems/ssmdeleteconfirm.jsp"
commit 94c27adb6a59bf5a6659e42a5e4693ddce266179
Author: Matej Kollar <mkollar(a)redhat.com>
Date: Tue Feb 4 15:38:06 2014 +0100
Needed elaborable return of ErrataManager.lookupErrataListFromSet
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
index f858e4c..30fdd66 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Errata_queries.xml
@@ -455,18 +455,19 @@ SELECT DISTINCT E.id , E.advisory_name AS advisory,
</mode>
<mode name="errata_list_in_set"
class="com.redhat.rhn.frontend.dto.ErrataOverview">
-<query params="user_id, set" >
+ <query params="user_id, set" >
Select DISTINCT E.id , E.advisory_name AS advisory,
E.update_date AS UPDATE_DATE,
E.synopsis as ADVISORY_SYNOPSIS,
- E.advisory_type as ADVISORY_TYPE,
- E.advisory_name AS advisory
+ E.advisory_type as ADVISORY_TYPE,
+ E.advisory_name AS advisory
FROM rhnErrata E,
rhnSet ST
WHERE ST.user_id = :user_id
AND ST.label = :set
AND ST.element = E.id
-</query>
+ </query>
+ <elaborator name="errata_overview" />
</mode>
<mode name="in_sources_for_target_package_assoc"
class="com.redhat.rhn.frontend.dto.ErrataOverview">
diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
index 61d2a2d..d8e554e 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
@@ -1139,7 +1139,7 @@ public class ErrataManager extends BaseManager {
/**
- * lookup errata that are in the set "errata_list"
+ * Lookup errata that are in the set
* @param user the user to search the set for
* @param setLabel the set label
* @return list of Errata Overview Objects
@@ -1149,9 +1149,11 @@ public class ErrataManager extends BaseManager {
Map params = new HashMap();
params.put("user_id", user.getId());
params.put("set", setLabel);
+ Map elabParams = new HashMap();
+ elabParams.put("user_id", user.getId());
SelectMode m = ModeFactory.getMode(
"Errata_queries", "errata_list_in_set");
- return m.execute(params);
+ return makeDataResult(params, elabParams, null, m);
}
commit 70321e31ca327c0a8a84666362b612863c39587c
Author: Matej Kollar <mkollar(a)redhat.com>
Date: Mon Feb 3 20:38:39 2014 +0100
Whitespace fix
Often commited details
diff --git a/java/code/webapp/WEB-INF/struts-config.xml
b/java/code/webapp/WEB-INF/struts-config.xml
index e968d3c..57d0ff7 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -3634,7 +3634,7 @@
path="/systems/ssm/misc/Index.do"
redirect="true"/>
</action>
- <action path="/systems/ssm/ListSystems"
+ <action path="/systems/ssm/ListSystems"
scope="request"
input="/WEB-INF/pages/ssm/systems/list.jsp"
type="com.redhat.rhn.frontend.action.ssm.ListSystemsAction"
commit 307086be31106fab35702836225cd4db0bfb2d30
Author: Matej Kollar <mkollar(a)redhat.com>
Date: Mon Feb 3 20:18:26 2014 +0100
Remove unnecessary code after extraction
diff --git a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
index db8122a..a671b32 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
@@ -18,9 +18,7 @@ package com.redhat.rhn.frontend.action.ssm;
import com.redhat.rhn.common.localization.LocalizationService;
import com.redhat.rhn.common.messaging.MessageQueue;
import com.redhat.rhn.common.util.DatePicker;
-import com.redhat.rhn.domain.entitlement.Entitlement;
import com.redhat.rhn.domain.rhnset.RhnSet;
-import com.redhat.rhn.domain.server.Server;
import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.action.SetLabels;
import com.redhat.rhn.frontend.dto.SystemOverview;
@@ -29,7 +27,6 @@ import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.frontend.struts.RhnHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.ListRhnSetHelper;
-import com.redhat.rhn.frontend.taglibs.list.helper.ListSessionSetHelper;
import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
import com.redhat.rhn.manager.errata.ErrataManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
@@ -37,7 +34,6 @@ import com.redhat.rhn.manager.system.SystemManager;
import java.util.ArrayList;
import java.util.Date;
-import java.util.HashMap;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
@@ -53,13 +49,7 @@ import org.apache.struts.action.DynaActionForm;
* @author bo
*/
public class ErrataListAction extends RhnAction implements Listable {
- //public static final String LIST_NAME = "errataList";
- public static final String SELECTOR = "type";
- public static final String RP_AFFECTED_SYSTEMS = "afs"; // Request param
- private static final String MULTIBIND = "_bind_." +
- ErrataListAction.class.getCanonicalName();
- private static final String MULTIBIND_SUMMARY = "summaryList";
- private static final String MULTIBIND_DETAILS = "detailsList";
+ public static final String LIST_NAME = "errataList";
/**
* Entry-point caller.
@@ -92,7 +82,6 @@ public class ErrataListAction extends RhnAction implements Listable {
getStrutsDelegate().prepopulateDatePicker(
request, form, "date", DatePicker.YEAR_RANGE_POSITIVE);
request.setAttribute("parentUrl", request.getRequestURI());
- request.setAttribute(SELECTOR, request.getParameter(SELECTOR));
return mapping.findForward(RhnHelper.DEFAULT_FORWARD);
}
@@ -130,67 +119,24 @@ public class ErrataListAction extends RhnAction implements Listable
{
}
private ListRhnSetHelper bindDatasets(HttpServletRequest request) {
- request.setAttribute(ErrataListAction.MULTIBIND,
- ErrataListAction.MULTIBIND_SUMMARY);
ListRhnSetHelper shlp = new ListRhnSetHelper(this,
- request, ErrataListAction.getSetDecl(0L));
- shlp.setListName((String) request.getAttribute(ErrataListAction.MULTIBIND));
+ request, ErrataListAction.getSetDecl());
+ shlp.setListName(LIST_NAME);
shlp.setParentUrl(request.getRequestURI());
shlp.execute();
- if (request.getParameter(ErrataListAction.RP_AFFECTED_SYSTEMS) != null) {
- request.setAttribute(ErrataListAction.MULTIBIND,
- ErrataListAction.MULTIBIND_DETAILS);
- ListSessionSetHelper h = new ListSessionSetHelper(this, request, new
HashMap());
- h.setDataSetName((String) request.getAttribute(ErrataListAction.MULTIBIND));
- h.execute();
- }
-
return shlp;
}
-
/**
* @return Returns RhnSetDecl.ERRATA
*/
- static RhnSetDecl getSetDecl(Long sid) {
- return RhnSetDecl.ERRATA.createCustom(sid);
+ private static RhnSetDecl getSetDecl() {
+ return RhnSetDecl.ERRATA;
}
/** {@inheritDoc} */
public List getResult(RequestContext context) {
- List<SystemOverview> systems = null;
- if (context.getRequest().getAttribute(ErrataListAction.MULTIBIND)
- .equals(ErrataListAction.MULTIBIND_SUMMARY)) {
- systems =
ErrataManager.relevantErrataToSystemSet(context.getLoggedInUser());
- }
- else if (context.getRequest().getAttribute(ErrataListAction.MULTIBIND)
- .equals(ErrataListAction.MULTIBIND_DETAILS)) {
- systems = ErrataManager.systemsAffectedInSet(
- context.getCurrentUser(),
- Long.parseLong(
- context.getRequest().getParameter(
- ErrataListAction.RP_AFFECTED_SYSTEMS)
- ), null
- );
- if (systems != null) {
- for (int i = 0; i < systems.size(); i++) {
- SystemOverview systemOverview = systems.get(i);
- Server server =
SystemManager.lookupByIdAndUser(systemOverview.getId(),
-
context.getLoggedInUser());
- systemOverview.setChannelId(server.getBaseChannel().getId());
- systemOverview.setChannelLabels(server.getBaseChannel().getName());
-
- List<String> entitlements = new ArrayList<String>();
- for (Entitlement e : server.getEntitlements()) {
- entitlements.add(e.getLabel());
- }
-
- systemOverview.setEntitlement(entitlements);
- }
- }
- }
-
- return systems;
+ return ErrataManager.relevantErrataToSystemSet(context.getLoggedInUser());
}
}
diff --git a/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp
b/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp
index 06725f5..423f00c 100644
--- a/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp
+++ b/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp
@@ -23,12 +23,10 @@
<h2><bean:message key="ssm.patches.list.header"
/></h2>
<p><bean:message key="ssm.patches.list.summary"
/></p>
- <c:choose>
- <c:when test="${empty param.afs}">
<rl:listset name="errataListSet" legend="errata">
<rhn:csrf />
<rhn:submitted />
- <rl:list width="100%" name="summaryList"
styleclass="list"
+ <rl:list name="errataList" styleclass="list"
emptykey="erratalist.jsp.norelevanterrata"
alphabarcolumn="advisorySynopsis">
<rl:decorator name="ElaborationDecorator"/>
<rl:decorator name="PageSizeDecorator"/>
@@ -115,39 +113,5 @@
</div>
<rhn:submitted/>
</rl:listset>
- </c:when>
- <c:otherwise>
- <rl:listset name="groupSet" legend="system">
- <rhn:csrf />
- <rl:list dataset="detailsList" width="100%"
name="detailsList"
- styleclass="list"
emptykey="ssm.operations.actionchaindetails.table.empty">
- <rl:decorator name="PageSizeDecorator"/>
- <rl:column headerkey="systemlist.jsp.system"
bound="false" sortattr="advisoryName" sortable="true">
- <a
href="/rhn/systems/details/Overview.do?sid=${current.id}">${current.name}</a>
- </rl:column>
- <rl:column headerkey="ssm.overview.errata"
bound="false" sortattr="advisoryName" sortable="true">
- <a
href="/rhn/systems/details/ErrataList.do?sid=${current.id}">${current.totalErrataCount}</a>
- </rl:column>
- <rl:column headerkey="ssm.overview.packages"
bound="false" sortattr="advisoryName" sortable="true">
- <a
href="/rhn/systems/details/packages/UpgradableList.do?sid=${current.id}">${current.pendingUpdates}</a>
- </rl:column>
- <rl:column sortable="false" bound="false"
headerkey="systemlist.jsp.channel" >
- <%@ include
file="/WEB-INF/pages/common/fragments/channel/channel_list_fragment.jspf" %>
- </rl:column>
- <rl:column sortable="false" bound="false"
headerkey="systemlist.jsp.entitlement">
- <c:out value="${current.entitlementLevel}"
escapeXml="false"/>
- </rl:column>
- </rl:list>
- </rl:listset>
-
- <html:form action="/systems/ssm/ListPatches">
- <rhn:csrf />
- <div class="text-right">
- <hr/>
- <input type="submit" name="back"
value="<bean:message key='ssm.errata.serverlist.return'/>" />
- </div>
- </html:form>
- </c:otherwise>
- </c:choose>
</body>
</html>
commit d744f251fd629e81a557109adf8a294be1678901
Author: Matej Kollar <mkollar(a)redhat.com>
Date: Mon Feb 3 17:48:17 2014 +0100
Extracted "list systems in ssm related to errata" into separate action
On the way fixed some problems:
* elaborators were ignored and later was data inefficiently loaded
by other means (problem rooted in ErrataManager);
* localization.
diff --git a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
index 589a276..db8122a 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
@@ -171,7 +171,7 @@ public class ErrataListAction extends RhnAction implements Listable {
Long.parseLong(
context.getRequest().getParameter(
ErrataListAction.RP_AFFECTED_SYSTEMS)
- )
+ ), null
);
if (systems != null) {
for (int i = 0; i < systems.size(); i++) {
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataSystemsAffectedListAction.java
b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataSystemsAffectedListAction.java
new file mode 100644
index 0000000..95771c4
--- /dev/null
+++
b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataSystemsAffectedListAction.java
@@ -0,0 +1,65 @@
+/**
+ * Copyright (c) 2014 Red Hat, Inc.
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ *
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+package com.redhat.rhn.frontend.action.ssm;
+
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.struts.action.ActionForm;
+import org.apache.struts.action.ActionForward;
+import org.apache.struts.action.ActionMapping;
+import com.redhat.rhn.frontend.struts.RequestContext;
+import com.redhat.rhn.frontend.struts.RhnAction;
+import com.redhat.rhn.frontend.struts.RhnHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.ListSessionSetHelper;
+import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
+import com.redhat.rhn.manager.errata.ErrataManager;
+
+/**
+ * List systems affected by errata in SSM.
+ *
+ * @author mkollar
+ */
+public class ErrataSystemsAffectedListAction extends RhnAction implements
+ Listable {
+
+ /** {@inheritDoc} */
+ @Override
+ public ActionForward execute(
+ ActionMapping mapping,
+ ActionForm actionForm,
+ HttpServletRequest request,
+ HttpServletResponse response)
+ throws Exception {
+
+ request.setAttribute("erratum", new
RequestContext(request).lookupErratum());
+
+ ListSessionSetHelper helper = new ListSessionSetHelper(this, request);
+ helper.setDataSetName(RequestContext.PAGE_LIST);
+ helper.setListName("systemList");
+ helper.execute();
+
+ return mapping.findForward(RhnHelper.DEFAULT_FORWARD);
+ }
+
+ /** {@inheritDoc} */
+ @SuppressWarnings("rawtypes")
+ public List getResult(RequestContext context) {
+ return ErrataManager.systemsAffectedInSet(context.getCurrentUser(),
+ context.lookupErratum().getId(), null);
+ }
+}
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
index 328262e..c42b1d1 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml
@@ -4446,9 +4446,6 @@ value for this entitlement, excluding the default organization's
consumption.</s
<trans-unit id="ssm.overview.misc.scap">
<source><a
href="/rhn/systems/ssm/audit/ScheduleXccdf.do">Audit</a>
systems with OpenSCAP</source>
</trans-unit>
- <trans-unit id="ssm.errata.serverlist.return">
- <source>Back to errata</source>
- </trans-unit>
<trans-unit id="ssm.errata.message.scheduled">
<source>Errata updates <a
href="/rhn/schedule/PendingActions.do">scheduled</a> at
{0}.</source>
</trans-unit>
@@ -15121,6 +15118,12 @@ any of these revisions. Are you sure you want to do
this?</source>
<trans-unit id="ssm.patches.list.summary">
<source>The errata below apply to one or more of your selected
systems.</source>
</trans-unit>
+ <trans-unit id="ssm.errata-relevant-systems.title">
+ <source>Systems in System Set Manager Affected By {0} -
{1}</source>
+ </trans-unit>
+ <trans-unit id="ssm.errata-relevant-systems.summary">
+ <source>Below is a list of the systems in the system set manager which
are affected by this erratum.</source>
+ </trans-unit>
</group>
<trans-unit
id="ssm.operations.actionchaindetails.schedulesuccess">
<source>Action chain "{0}" has been successfully scheduled at
"{1}".</source>
diff --git a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
index 59e75ed..61d2a2d 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
@@ -783,14 +783,16 @@ public class ErrataManager extends BaseManager {
*
* @param user Logged-in user.
* @param eid Errata ID.
+ * @param pc PageControl
* @return systems Affected by current errata, that are in the set of SSM.
*/
- public static List<SystemOverview> systemsAffectedInSet(User user, Long eid) {
+ public static DataResult<SystemOverview> systemsAffectedInSet(User user, Long
eid,
+ PageControl pc) {
Map params = new HashMap();
params.put("eid", eid);
params.put("user_id", user.getId());
- return ModeFactory.getMode("Errata_queries",
-
"in_set_and_affected_by_errata").execute(params);
+ return makeDataResult(params, Collections.EMPTY_MAP, pc,
+ ModeFactory.getMode("Errata_queries",
"in_set_and_affected_by_errata"));
}
/**
diff --git a/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata-systems-affected.jsp
b/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata-systems-affected.jsp
new file mode 100644
index 0000000..9a59815
--- /dev/null
+++ b/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata-systems-affected.jsp
@@ -0,0 +1,22 @@
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+
+<%@taglib
uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
+<%@taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c"
%>
+<%@taglib
uri="http://struts.apache.org/tags-html" prefix="html"
%>
+<%@taglib
uri="http://struts.apache.org/tags-bean" prefix="bean"
%>
+<%@taglib
uri="http://rhn.redhat.com/tags/list" prefix="rl" %>
+
+<html>
+<body>
+ <%@ include file="/WEB-INF/pages/common/fragments/ssm/header.jspf" %>
+ <h2><bean:message key="ssm.errata-relevant-systems.title"
arg0="${erratum.advisoryName}" arg1="${erratum.synopsis}"
/></h2>
+ <p class="page-summary"><bean:message
key="ssm.errata-relevant-systems.summary" /></p>
+
+ <rl:listset name="systemSet" legend="system">
+ <c:set var="notSelectable" value="True"/>
+ <c:set var="noCsv" value="1" />
+ <c:set var="noAddToSsm" value="1" />
+ <%@ include
file="/WEB-INF/pages/common/fragments/systems/system_listdisplay.jspf" %>
+ </rl:listset>
+</body>
+</html>
diff --git a/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp
b/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp
index 2650387..06725f5 100644
--- a/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp
+++ b/java/code/webapp/WEB-INF/pages/ssm/systems/ssm-errata.jsp
@@ -82,7 +82,7 @@
</rl:column>
<rl:column headerkey="errata.jsp.affected"
bound="false" sortattr="affectedSystemCount"
sortable="true">
- <a
href="/rhn/systems/ssm/ListPatches.do?<%=ErrataListAction.RP_AFFECTED_SYSTEMS%>=${current.id}">${current.affectedSystemCount}</a>
+ <a
href="/rhn/systems/ssm/ErrataSystemsAffected.do?eid=${current.id}">${current.affectedSystemCount}</a>
</rl:column>
<rl:column headerkey="erratalist.jsp.updated"
bound="false" sortattr="updateDateObj"
diff --git a/java/code/webapp/WEB-INF/struts-config.xml
b/java/code/webapp/WEB-INF/struts-config.xml
index 084104d..e968d3c 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -3646,6 +3646,17 @@
path="/systems/ssm/ListSystems.do"
redirect="true"/>
</action>
+ <action path="/systems/ssm/ErrataSystemsAffected"
+ scope="request"
+ name="SSMPatchListForm"
+ input="/WEB-INF/pages/ssm/systems/ssm-errata-systems-affected.jsp"
+
type="com.redhat.rhn.frontend.action.ssm.ErrataSystemsAffectedListAction"
+ className="com.redhat.rhn.frontend.struts.RhnActionMapping">
+ <set-property property="postRequiredIfSubmitted"
value="true" />
+ <forward name="default"
+
path="/WEB-INF/pages/ssm/systems/ssm-errata-systems-affected.jsp" />
+ </action>
+
<action path="/systems/ssm/ListPatches"
scope="request"
name="SSMPatchListForm"
commit ea296bfff62fbea288b9d92e8ca477b1c4b9816d
Author: Matej Kollar <mkollar(a)redhat.com>
Date: Mon Feb 3 15:07:10 2014 +0100
Change misleading variable name
diff --git a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
index c999724..589a276 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
@@ -110,9 +110,9 @@ public class ErrataListAction extends RhnAction implements Listable {
serverIds.add(s.getId());
}
- RhnSet packages = helper.getSet();
- List<Long> errataIds = new ArrayList<Long>(packages.size());
- errataIds.addAll(packages.getElementValues());
+ RhnSet erratas = helper.getSet();
+ List<Long> errataIds = new ArrayList<Long>(erratas.size());
+ errataIds.addAll(erratas.getElementValues());
Date scheduleDate = this.getStrutsDelegate().readDatePicker(
form, "date", DatePicker.YEAR_RANGE_POSITIVE);
commit 84c2de41cad9f805a8aca68f767d54eacf9edbe8
Author: Matej Kollar <mkollar(a)redhat.com>
Date: Fri Jan 31 16:10:52 2014 +0100
Extract actual handling of action into separate method
It will be easier to add confirmation page then.
diff --git a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
index a8af13c..c999724 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
@@ -46,8 +46,6 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.ActionMessage;
-import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.DynaActionForm;
/**
@@ -81,54 +79,55 @@ public class ErrataListAction extends RhnAction implements Listable {
HttpServletResponse response)
throws Exception {
RequestContext requestContext = new RequestContext(request);
- User user = requestContext.getLoggedInUser();
DynaActionForm form = (DynaActionForm) actionForm;
- ActionMessages actionMessages = new ActionMessages();
-
- String forwardId = RhnHelper.DEFAULT_FORWARD;
ListRhnSetHelper setHelper = this.bindDatasets(request);
if (setHelper.isDispatched()) {
if (requestContext.wasDispatched("errata.jsp.apply")) {
- List<SystemOverview> srv = SystemManager.inSet(user,
SetLabels.SYSTEM_LIST);
- List<Long> serverIds = new ArrayList<Long>(srv.size());
- for (SystemOverview s : srv) {
- serverIds.add(s.getId());
- }
-
- RhnSet packages = setHelper.getSet();
- List<Long> errataIds = new ArrayList<Long>(packages.size());
- errataIds.addAll(packages.getElementValues());
-
- Date scheduleDate = this.getStrutsDelegate().readDatePicker(
- form, "date", DatePicker.YEAR_RANGE_POSITIVE);
-
- MessageQueue.publish(new SsmErrataEvent(
- user.getId(),
- scheduleDate,
- errataIds,
- serverIds)
- );
- actionMessages.add(
- ActionMessages.GLOBAL_MESSAGE,
- new ActionMessage("ssm.errata.message.scheduled",
- LocalizationService.getInstance().formatDate(
- scheduleDate, request.getLocale())));
- forwardId = "confirm";
+ return handleConfirm(mapping, form, requestContext, setHelper, request);
}
}
- this.getStrutsDelegate().saveMessages(request, actionMessages);
-
- request.setAttribute("date",
this.getStrutsDelegate().prepopulateDatePicker(
- request, form, "date", DatePicker.YEAR_RANGE_POSITIVE));
+ getStrutsDelegate().prepopulateDatePicker(
+ request, form, "date", DatePicker.YEAR_RANGE_POSITIVE);
request.setAttribute("parentUrl", request.getRequestURI());
request.setAttribute(SELECTOR, request.getParameter(SELECTOR));
- return mapping.findForward(forwardId);
+ return mapping.findForward(RhnHelper.DEFAULT_FORWARD);
}
+ private ActionForward handleConfirm(ActionMapping mapping,
+ DynaActionForm form,
+ RequestContext context,
+ ListRhnSetHelper helper,
+ HttpServletRequest request) {
+ User user = context.getLoggedInUser();
+
+ List<SystemOverview> srv = SystemManager.inSet(user,
SetLabels.SYSTEM_LIST);
+ List<Long> serverIds = new ArrayList<Long>(srv.size());
+ for (SystemOverview s : srv) {
+ serverIds.add(s.getId());
+ }
+
+ RhnSet packages = helper.getSet();
+ List<Long> errataIds = new ArrayList<Long>(packages.size());
+ errataIds.addAll(packages.getElementValues());
+
+ Date scheduleDate = this.getStrutsDelegate().readDatePicker(
+ form, "date", DatePicker.YEAR_RANGE_POSITIVE);
+
+ MessageQueue.publish(new SsmErrataEvent(
+ user.getId(),
+ scheduleDate,
+ errataIds,
+ serverIds)
+ );
+ createMessage(request, "ssm.errata.message.scheduled",
+ new String[] {LocalizationService.getInstance().formatDate(
+ scheduleDate, request.getLocale())});
+ return mapping.findForward("confirm");
+ }
private ListRhnSetHelper bindDatasets(HttpServletRequest request) {
request.setAttribute(ErrataListAction.MULTIBIND,
commit f0a79aa14f6704d2e5999b5bd91b39de8278c563
Author: Matej Kollar <mkollar(a)redhat.com>
Date: Fri Jan 31 15:25:31 2014 +0100
Use some idioms to improve code readability
diff --git a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
index a4b18ad..a8af13c 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
@@ -34,13 +34,15 @@ import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
import com.redhat.rhn.manager.errata.ErrataManager;
import com.redhat.rhn.manager.rhnset.RhnSetDecl;
import com.redhat.rhn.manager.system.SystemManager;
+
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
+
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
@@ -90,17 +92,14 @@ public class ErrataListAction extends RhnAction implements Listable {
if (setHelper.isDispatched()) {
if (requestContext.wasDispatched("errata.jsp.apply")) {
List<SystemOverview> srv = SystemManager.inSet(user,
SetLabels.SYSTEM_LIST);
- List<Long> serverIds = new ArrayList<Long>();
- for (int i = 0; i < srv.size(); i++) {
- serverIds.add(srv.get(i).getId());
+ List<Long> serverIds = new ArrayList<Long>(srv.size());
+ for (SystemOverview s : srv) {
+ serverIds.add(s.getId());
}
RhnSet packages = setHelper.getSet();
- List<Long> errataIds = new ArrayList<Long>();
- Iterator<Long> iter = packages.getElementValues().iterator();
- while (iter.hasNext()) {
- errataIds.add(iter.next());
- }
+ List<Long> errataIds = new ArrayList<Long>(packages.size());
+ errataIds.addAll(packages.getElementValues());
Date scheduleDate = this.getStrutsDelegate().readDatePicker(
form, "date", DatePicker.YEAR_RANGE_POSITIVE);
commit bb330654b0291cd882f3838f18ec7c86d425ff9e
Author: Matej Kollar <mkollar(a)redhat.com>
Date: Fri Jan 31 14:30:27 2014 +0100
Replace explicit iterator with enhanced for
diff --git a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
index 7140741..a4b18ad 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/ssm/ErrataListAction.java
@@ -183,13 +183,12 @@ public class ErrataListAction extends RhnAction implements Listable
{
systemOverview.setChannelId(server.getBaseChannel().getId());
systemOverview.setChannelLabels(server.getBaseChannel().getName());
- List entitlement = new ArrayList();
- for (Iterator<Entitlement> itr =
server.getEntitlements().iterator();
- itr.hasNext();) {
- entitlement.add(itr.next().getLabel());
+ List<String> entitlements = new ArrayList<String>();
+ for (Entitlement e : server.getEntitlements()) {
+ entitlements.add(e.getLabel());
}
- systemOverview.setEntitlement(entitlement);
+ systemOverview.setEntitlement(entitlements);
}
}
}