java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java | 31 ++++++++-- java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp | 9 -- 2 files changed, 28 insertions(+), 12 deletions(-)
New commits: commit 170c7b355fd28fabbfbf93e11e0a6b6924d1417e Author: Shannon Hughes shughes@redhat.com Date: Wed Jun 2 19:22:05 2010 -0400
db mapping logic for channel repos
diff --git a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java index 1424a65..fd1864a 100644 --- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java +++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/RepositoriesAction.java @@ -33,6 +33,7 @@ import com.redhat.rhn.domain.channel.ContentSource; 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.StrutsDelegate; import com.redhat.rhn.frontend.taglibs.list.helper.ListSessionSetHelper; import com.redhat.rhn.frontend.taglibs.list.helper.Listable;
@@ -52,26 +53,46 @@ public class RepositoriesAction extends RhnAction implements Listable { Channel chan = ChannelFactory.lookupByIdAndUser(cid, user); request.setAttribute("channel_name", chan.getName());
- Map params = new HashMap(); - params.put(RequestContext.CID, context.getRequiredParamAsString(RequestContext.CID)); + Map params = new HashMap(); + params.put(RequestContext.CID, chan.getId().toString());
- ListSessionSetHelper helper = new ListSessionSetHelper(this, request, params); + ListSessionSetHelper helper = new ListSessionSetHelper(this, request,params);
if (!context.isSubmitted()) { List<ContentSource> result = getResult(context); + System.out.println("result set is " + result.size()); Set<String> preSelect = new HashSet<String>(); for (int i = 0; i < result.size(); i++) { ContentSource src = result.get(i); if(src.getChannels().contains(chan)) { + System.out.println("adding repo to preselect, " + src.getLabel() ); preSelect.add(src.getId().toString()); } } helper.preSelect(preSelect); } - + + helper.ignoreEmptySelection(); helper.execute(); + if(helper.isDispatched()) { - return mapping.findForward("success"); + Set<ContentSource> foo = chan.getSources(); + foo.clear(); + Set <String> set = helper.getSet(); + System.out.println("SET is " + set.size()); + for (String id : set) { + Long sgid = Long.valueOf(id); + ContentSource tmp = ChannelFactory.lookupContentSource(sgid); + foo.add(tmp); + } + + ChannelFactory.save(chan); + + + + StrutsDelegate strutsDelegate = getStrutsDelegate(); + return strutsDelegate.forwardParams + (mapping.findForward("success"), params); }
return mapping.findForward("default"); diff --git a/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp b/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp index fdbc919..96180fc 100644 --- a/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp +++ b/java/code/webapp/WEB-INF/pages/channel/manage/channelrepos.jsp @@ -16,9 +16,7 @@
<h2><img src="/img/rhn-icon-packages.gif"> <bean:message key="repos.jsp.channel.repos"/></h2>
- - -<rl:listset name="packageSet" legend="system-group"> +<rl:listset name="packageSet">
<input type="hidden" name="cid" value="${cid}" />
@@ -43,17 +41,14 @@ <a href="/rhn/channels/manage/repos/RepoEdit.do?id=${current.id}">${current.label}</a> </rl:column>
- - </rl:list> <div align="right"> <hr /> - <input type="submit" name="confirm" + <input type="submit" name="dispatch" value="<bean:message key="repos.jsp.update.channel"/>" /> </div> rhn:submitted/
- </rl:listset>
</body>
spacewalk-commits@lists.fedorahosted.org