/** {@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); }
public void testContentSource() throws Exception { Channel c = ChannelFactoryTest.createTestChannel(user); ContentSource cs = new ContentSource(); cs.setLabel("repo_label-" + c.getLabel()); cs.setSourceUrl("fake url"); List<ContentSourceType> cst = ChannelFactory.listContentSourceTypes(); cs.setType(cst.get(0)); cs.setOrg(user.getOrg()); cs = (ContentSource) TestUtils.saveAndReload(cs); c.getSources().add(cs); c = (Channel) TestUtils.saveAndReload(c); assertNotEmpty(c.getSources()); }