java/code/src/com/redhat/rhn/frontend/action/rhnpackage/profile/SyncSystemsSetupAction.java | 53 +++++----- java/code/webapp/WEB-INF/pages/systems/details/packages/profiles/syncsystem.jsp | 9 - java/code/webapp/WEB-INF/struts-config.xml | 3 3 files changed, 35 insertions(+), 30 deletions(-)
New commits: commit ec6c07075589500acb45d4192e7f50352ddc2377 Author: Tomas Lestach tlestach@redhat.com Date: Fri Mar 5 13:28:33 2010 +0100
559551 - ISE fixed for SyncSystems.do
diff --git a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/profile/SyncSystemsSetupAction.java b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/profile/SyncSystemsSetupAction.java index 5a2ceef..cddd5f7 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/profile/SyncSystemsSetupAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/rhnpackage/profile/SyncSystemsSetupAction.java @@ -21,7 +21,8 @@ import com.redhat.rhn.domain.user.User; import com.redhat.rhn.frontend.struts.RequestContext; import com.redhat.rhn.frontend.struts.RhnAction; import com.redhat.rhn.frontend.struts.SessionSetHelper; -import com.redhat.rhn.frontend.taglibs.list.ListTagHelper; +import com.redhat.rhn.frontend.taglibs.list.helper.ListHelper; +import com.redhat.rhn.frontend.taglibs.list.helper.Listable; import com.redhat.rhn.manager.profile.ProfileManager; import com.redhat.rhn.manager.system.SystemManager;
@@ -30,6 +31,9 @@ import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.DynaActionForm;
+import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.Set;
import javax.servlet.http.HttpServletRequest; @@ -39,7 +43,7 @@ import javax.servlet.http.HttpServletResponse; * SyncSystemsSetupAction * @version $Rev$ */ -public class SyncSystemsSetupAction extends RhnAction { +public class SyncSystemsSetupAction extends RhnAction implements Listable {
private static final String DATA_SET = "pageList"; private static final CompareSystemSetupAction DECL_ACTION = @@ -55,50 +59,51 @@ public class SyncSystemsSetupAction extends RhnAction {
Long sid = requestContext.getRequiredParam(RequestContext.SID); Long sid1 = requestContext.getRequiredParam(RequestContext.SID1); - User user = requestContext.getLoggedInUser(); Server server = SystemManager.lookupByIdAndUser(sid, user); Server server1 = SystemManager.lookupByIdAndUser(sid1, user);
- DataResult itemsToBeSynced = getDataResult(request, user); - + ListHelper helper = new ListHelper(this, request); + helper.execute(); + DynaActionForm dynaForm = (DynaActionForm) formIn; DatePicker picker = getStrutsDelegate().prepopulateDatePicker(request, dynaForm, "date", DatePicker.YEAR_RANGE_POSITIVE); - + + if (requestContext.wasDispatched("schedulesync.jsp.schedulesync")) { + Map syncParam = new HashMap(); + syncParam.put(RequestContext.SID, sid); + syncParam.put(RequestContext.SID1, sid1); + syncParam.put(RequestContext.DISPATCH, + request.getParameter(RequestContext.DISPATCH)); + return getStrutsDelegate().forwardParams(mapping.findForward("sync"), + syncParam); + } + request.setAttribute("date", picker); request.setAttribute("system", server); request.setAttribute("system1", server1); - requestContext.copyParamToAttributes(RequestContext.SID); - requestContext.copyParamToAttributes(RequestContext.SID1); - request.setAttribute(ListTagHelper.PARENT_URL, - request.getRequestURI() + "?sid=" + sid + "&sid_1=" + sid1); - request.setAttribute(DATA_SET, itemsToBeSynced); - + return getStrutsDelegate().forwardParams(mapping.findForward("default"), - request.getParameterMap()); + request.getParameterMap()); }
/** * Gets the List of differing packages between two servers - * @param request HttpServletRequest - * @param user The logged in user - * @param pc PageControl + * @param context RequestContext * @return List of packages and differences */ - protected DataResult getDataResult(HttpServletRequest request, User user) { + public List getResult(RequestContext context) { + Long sid = context.getRequiredParam(RequestContext.SID); + Long sid1 = context.getRequiredParam(RequestContext.SID1); + User user = context.getLoggedInUser();
- RequestContext requestContext = new RequestContext(request); - - Long sid = requestContext.getRequiredParam("sid"); - Long sid1 = requestContext.getRequiredParam("sid_1"); - - Set <String> pkgIdCombos = SessionSetHelper.lookupAndBind(request, + Set <String> pkgIdCombos = SessionSetHelper.lookupAndBind(context.getRequest(), getDecl(sid));
DataResult dr = ProfileManager.prepareSyncToServer(sid, sid1, user.getOrg().getId(), null, pkgIdCombos); - + return dr; }
diff --git a/java/code/webapp/WEB-INF/pages/systems/details/packages/profiles/syncsystem.jsp b/java/code/webapp/WEB-INF/pages/systems/details/packages/profiles/syncsystem.jsp index 7ab7b39..6e756e4 100644 --- a/java/code/webapp/WEB-INF/pages/systems/details/packages/profiles/syncsystem.jsp +++ b/java/code/webapp/WEB-INF/pages/systems/details/packages/profiles/syncsystem.jsp @@ -14,16 +14,14 @@ <bean:message key="schedulesync.jsp.profilesync" /> </h2>
-<html:form method="POST" action="/systems/details/packages/profiles/SyncSystemsSubmit"> +<rl:listset name="compareListSet"> <div class="page-summary"> <bean:message key="schedulesync.jsp.pagesummary" arg0="${requestScope.system.name}" arg1="${requestScope.system1.name}" /> </div>
- <rl:listset name="compareListSet"> - <rl:list dataset="pageList" - width="100%" + <rl:list width="100%" name="compareList" styleclass="list" emptykey="schedulesync.jsp.nopackagesselected"> @@ -74,8 +72,7 @@ <html:hidden property="sid_1" value="${param.sid_1}" /> <html:hidden property="set_label" value="packages_for_system_sync" />
- </rl:listset> +</rl:listset>
-</html:form> </body> </html> diff --git a/java/code/webapp/WEB-INF/struts-config.xml b/java/code/webapp/WEB-INF/struts-config.xml index c522cd1..daa5925 100644 --- a/java/code/webapp/WEB-INF/struts-config.xml +++ b/java/code/webapp/WEB-INF/struts-config.xml @@ -3801,6 +3801,9 @@ type="com.redhat.rhn.frontend.action.rhnpackage.profile.SyncSystemsSetupAction"> <forward name="default" path="/WEB-INF/pages/systems/details/packages/profiles/syncsystem.jsp"/> + <forward name="sync" + path="/systems/details/packages/profiles/SyncSystemsSubmit.do" + redirect="true" /> </action>
<action path="/systems/details/packages/profiles/SyncSystemsSubmit"