java/code/src/com/redhat/rhn/frontend/action/kickstart/RenderKickstartFileAction.java |
4 +++-
java/code/src/com/redhat/rhn/frontend/strings/jsp/StringResource_en_US.xml |
7 +++++++
java/code/webapp/WEB-INF/struts-config.xml |
3 +++
testfile |
1 +
4 files changed, 14 insertions(+), 1 deletion(-)
New commits:
commit a505461fc47ecac6cf2d0541b47cbe95f1791ab8
Merge: 5c717a3... 6db6757...
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Tue Mar 31 17:05:15 2009 -0400
Merge branch 'vader'
commit 6db6757c855d54234a256ec6d715562256ae70dc
Author: jesus m. rodriguez <jesusr(a)redhat.com>
Date: Tue Mar 31 17:03:43 2009 -0400
test commit
diff --git a/testfile b/testfile
new file mode 100644
index 0000000..b8802fa
--- /dev/null
+++ b/testfile
@@ -0,0 +1 @@
+just stop the whining
commit 540de1408e8bd35ea8c8baa8e040f4cbbc7bbe4d
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Tue Mar 31 16:11:31 2009 -0400
unit test fix
diff --git a/java/code/src/com/redhat/rhn/domain/errata/test/ErrataTest.java
b/java/code/src/com/redhat/rhn/domain/errata/test/ErrataTest.java
index 189343f..2d4c94a 100644
--- a/java/code/src/com/redhat/rhn/domain/errata/test/ErrataTest.java
+++ b/java/code/src/com/redhat/rhn/domain/errata/test/ErrataTest.java
@@ -225,25 +225,14 @@ public class ErrataTest extends RhnBaseTestCase {
assertEquals(1, e.getChannels().size());
- boolean matched = false;
- Iterator i = e.getFiles().iterator();
- while (i.hasNext()) {
- PublishedErrataFile f1 = (PublishedErrataFile) i.next();
- if (f1.getId().equals(ef.getId())) {
- assertNotNull(f1.getChannels());
- assertTrue(f1.getChannels().size() > 0);
- assertTrue(f1.getChannels().contains(c));
- matched = true;
- }
- }
- assertTrue("didnt match the erratafile", matched);
+
// Now test clearing it out
e.clearChannels();
e = (Errata) TestUtils.saveAndReload(e);
assertTrue(e.getChannels() == null || e.getChannels().size() == 0);
- i = e.getFiles().iterator();
- matched = false;
+ Iterator i = e.getFiles().iterator();
+ boolean matched = false;
while (i.hasNext()) {
PublishedErrataFile f1 = (PublishedErrataFile) i.next();
assertNotNull(f1.getChannels());
commit b57158c81011ed32c5a2caf3a88bfb882683c03a
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Tue Mar 31 15:07:09 2009 -0400
unit test fix
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java
index bf78a46..1395d3b 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java
@@ -35,7 +35,7 @@ public class CloneErrataActionTest extends RhnMockStrutsTestCase {
public void setUp() throws Exception {
super.setUp();
- setRequestPathInfo("/errata/manage/CloneErrataSubmit");
+ setRequestPathInfo("/errata/manage/CloneErrata");
user.getOrg().getEntitlements().add(OrgFactory.getEntitlementEnterprise());
user.getOrg().addRole(RoleFactory.CHANNEL_ADMIN);
}
@@ -50,7 +50,7 @@ public class CloneErrataActionTest extends RhnMockStrutsTestCase {
request.addParameter("dispatch", "Clone Errata");
actionPerform();
- verifyForwardPath("/errata/manage/CloneErrata.do");
+ verifyForwardPath("/WEB-INF/pages/errata/cloneerrata.jsp");
verifyActionMessage("emptyselectionerror");
}
commit b7ec463e5e07c9ab72364a1e83734ab2235573ab
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Fri Mar 27 10:37:06 2009 -0400
490987 - fixed issue where errata files werent being refreshed, by removing the need
for errata files
diff --git a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
index f0d00b9..fb24cdc 100644
--- a/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
+++ b/java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
@@ -1125,5 +1125,25 @@ GROUP BY C.id, C.name
</query>
</mode>
+<mode name="channel_errata_packages"
class="com.redhat.rhn.frontend.dto.PackageDto">
+ <query params="eid, cid">
+ SELECT P.id, P.md5sum,
+ PN.name || '-' || PE.version
+ || '-' || PE.release || (CASE WHEN PE.epoch IS NULL THEN '' ELSE
':' || PE.epoch END)
+ || '-' || PA.label name
+ from rhnPackage P inner join
+ rhnChannelPackage CP on P.id = CP.package_id inner join
+ rhnErrataPackage EP on EP.package_id = CP.package_id inner join
+ rhnPackageName PN on P.name_id = PN.id inner join
+ rhnPackageEvr PE on P.evr_id = PE.id inner join
+ rhnPackageArch PA on P.package_arch_id = PA.id
+ where CP.channel_id = :cid
+ and EP.errata_id = :eid
+ ORDER by name
+ </query>
+</mode>
+
+
+
</datasource_modes>
diff --git a/java/code/src/com/redhat/rhn/domain/errata/impl/PublishedErrata.java
b/java/code/src/com/redhat/rhn/domain/errata/impl/PublishedErrata.java
index 03f1ba9..bf087c4 100644
--- a/java/code/src/com/redhat/rhn/domain/errata/impl/PublishedErrata.java
+++ b/java/code/src/com/redhat/rhn/domain/errata/impl/PublishedErrata.java
@@ -16,7 +16,6 @@ package com.redhat.rhn.domain.errata.impl;
import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.domain.errata.AbstractErrata;
-import com.redhat.rhn.manager.errata.ErrataManager;
import com.redhat.rhn.domain.errata.Cve;
import org.apache.log4j.Logger;
@@ -32,7 +31,7 @@ public class PublishedErrata extends AbstractErrata {
private static Logger log = Logger.getLogger(PublishedErrata.class);
- private Set channels;
+ private Set channels = new HashSet();
private Set<Cve> cves = new HashSet<Cve>();
/**
@@ -58,7 +57,6 @@ public class PublishedErrata extends AbstractErrata {
this.channels = new HashSet();
}
channels.add(channelIn);
- ErrataManager.refreshErrataFiles(channelIn, this);
}
/**
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataPackagesSetupAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataPackagesSetupAction.java
index fc6c6b6..3253673 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataPackagesSetupAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/ErrataPackagesSetupAction.java
@@ -14,20 +14,23 @@
*/
package com.redhat.rhn.frontend.action.errata;
-import com.redhat.rhn.common.db.datasource.DataResult;
+import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.domain.errata.Errata;
import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.frontend.dto.ErrataPackageFile;
+import com.redhat.rhn.frontend.dto.ChannelOverview;
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.manager.errata.ErrataManager;
+import com.redhat.rhn.manager.channel.ChannelManager;
+import com.redhat.rhn.manager.user.UserManager;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
-import java.util.Iterator;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -48,17 +51,23 @@ public class ErrataPackagesSetupAction extends RhnAction {
User user = requestContext.getLoggedInUser();
Errata errata = requestContext.lookupErratum();
- DataResult files = ErrataManager.packages(errata.getId(), user);
- Iterator test = files.iterator();
- while (test.hasNext()) { //remove from filename everything we won't display
- ErrataPackageFile next = (ErrataPackageFile)test.next();
- String filename = next.getFilename();
- next.setFilename(filename.substring(filename.lastIndexOf("/") +
1));
+ List<ChannelOverview> chans = new ArrayList<ChannelOverview>();
+
+ for (Channel chan : errata.getChannels()) {
+ if (UserManager.verifyChannelSubscribable(user, chan)) {
+ ChannelOverview co = new ChannelOverview();
+ co.setName(chan.getName());
+ co.setId(chan.getId());
+ co.setPackages(ChannelManager.listErrataPackages(chan, errata));
+ chans.add(co);
+ }
}
+ Collections.sort(chans);
+
request.setAttribute("errata", errata);
- request.setAttribute("files", files);
+ request.setAttribute("channels", chans);
return strutsDelegate.forwardParams(mapping.findForward("default"),
request.getParameterMap());
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/PackagePushAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/PackagePushAction.java
index 504e535..642cded 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/PackagePushAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/PackagePushAction.java
@@ -94,8 +94,6 @@ public class PackagePushAction extends RhnSetAction {
}
//publish them and the errata to the channel
errata = ErrataFactory.publishToChannel(errata, c, user, filePackages);
- //not sure what this is here for, but i'm scrared to remove it
- ErrataManager.refreshErrataFiles(c, errata);
RhnSet targetChannels = RhnSetDecl.CHANNELS_FOR_ERRATA.get(user);
targetChannels.removeElement(cid);
diff --git a/java/code/src/com/redhat/rhn/frontend/action/errata/RemovePackagesAction.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/RemovePackagesAction.java
index 4511656..e1de4bd 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/errata/RemovePackagesAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/errata/RemovePackagesAction.java
@@ -17,8 +17,6 @@ package com.redhat.rhn.frontend.action.errata;
import com.redhat.rhn.common.db.datasource.DataResult;
import com.redhat.rhn.domain.channel.Channel;
import com.redhat.rhn.domain.errata.Errata;
-import com.redhat.rhn.domain.errata.ErrataFactory;
-import com.redhat.rhn.domain.errata.ErrataFile;
import com.redhat.rhn.domain.rhnpackage.Package;
import com.redhat.rhn.domain.rhnset.RhnSet;
import com.redhat.rhn.domain.rhnset.RhnSetElement;
@@ -92,23 +90,6 @@ public class RemovePackagesAction extends RhnSetAction {
//removed from the errata.
packagesRemoved++;
}
-
- //We have to do this round about way of removing errata files
- // otherwise we are modifying the set that we are working on
- // I really *hate* errata files
- List<ErrataFile> efsToRemove = new ArrayList<ErrataFile>();
- for (ErrataFile ef : errata.getFiles()) {
- if (ef.getPackages().contains(pkg)) {
- efsToRemove.add(ef);
- }
- }
- for (ErrataFile ef : efsToRemove) {
- errata.removeFile(ef.getId());
- ef.getPackages().remove(pkg);
- if (ef.getPackages().isEmpty()) {
- ErrataFactory.removeFile(ef);
- }
- }
}
//Save the errata
ErrataManager.storeErrata(errata);
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataPackagesSetupActionTest.java
b/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataPackagesSetupActionTest.java
index 6849b79..1d861b4 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataPackagesSetupActionTest.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataPackagesSetupActionTest.java
@@ -40,7 +40,7 @@ public class ErrataPackagesSetupActionTest extends RhnBaseTestCase {
sah.executeAction();
assertNotNull(sah.getRequest().getAttribute("errata"));
- assertNotNull(sah.getRequest().getAttribute("files"));
+ assertNotNull(sah.getRequest().getAttribute("channels"));
}
}
diff --git a/java/code/src/com/redhat/rhn/frontend/dto/ChannelOverview.java
b/java/code/src/com/redhat/rhn/frontend/dto/ChannelOverview.java
index 793185f..d0ce40b 100644
--- a/java/code/src/com/redhat/rhn/frontend/dto/ChannelOverview.java
+++ b/java/code/src/com/redhat/rhn/frontend/dto/ChannelOverview.java
@@ -16,6 +16,9 @@ package com.redhat.rhn.frontend.dto;
import org.apache.commons.lang.builder.ToStringBuilder;
+import java.util.ArrayList;
+import java.util.List;
+
/**
* ChannelOverview
* @version $Rev$
@@ -31,6 +34,7 @@ public class ChannelOverview extends BaseDto implements Comparable {
private String url;
private Long relevantPackages;
private Long originalId;
+ private List<PackageDto> packages = new ArrayList<PackageDto>();
/**
@@ -225,4 +229,24 @@ public class ChannelOverview extends BaseDto implements Comparable {
return hasSubscription;
}
+
+
+ /**
+ * @return Returns the packages.
+ */
+ public List<PackageDto> getPackages() {
+ return packages;
+ }
+
+
+
+ /**
+ * @param packagesIn The packages to set.
+ */
+ public void setPackages(List<PackageDto> packagesIn) {
+ this.packages = packagesIn;
+ }
+
+
+
}
diff --git a/java/code/src/com/redhat/rhn/frontend/events/CloneErrataAction.java
b/java/code/src/com/redhat/rhn/frontend/events/CloneErrataAction.java
index f270ffc..9221b59 100644
--- a/java/code/src/com/redhat/rhn/frontend/events/CloneErrataAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/events/CloneErrataAction.java
@@ -21,7 +21,6 @@ import com.redhat.rhn.domain.errata.Errata;
import com.redhat.rhn.domain.errata.ErrataFactory;
import com.redhat.rhn.domain.errata.impl.PublishedClonedErrata;
import com.redhat.rhn.frontend.action.channel.manage.PublishErrataHelper;
-import com.redhat.rhn.manager.errata.ErrataManager;
import com.redhat.rhn.manager.errata.cache.ErrataCacheManager;
import org.apache.log4j.Logger;
@@ -63,7 +62,6 @@ public class CloneErrataAction
Errata published = PublishErrataHelper.cloneErrataFast(errata,
msg.getUser().getOrg());
published.setChannels(channelSet);
- ErrataManager.refreshErrataFiles(currChan, published);
}
ErrataCacheManager.insertCacheForChannelErrata(cids, errata);
diff --git a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
index c4e2039..d573a1a 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
@@ -2404,6 +2404,20 @@ public class ChannelManager extends BaseManager {
ErrataCacheManager.deleteCacheEntriesForChannelErrata(chan.getId(), ids);
}
+ /**
+ * List packages that are contained in an errata and in a channel
+ * @param chan The channel
+ * @param errata the Errata
+ * @return A list of PackageDto that are in the channel and errata
+ */
+ public static List<PackageDto> listErrataPackages(Channel chan, Errata errata)
{
+ Map params = new HashMap();
+ params.put("cid", chan.getId());
+ params.put("eid", errata.getId());
+ SelectMode mode = ModeFactory.getMode(
+ "Channel_queries", "channel_errata_packages");
+ return (List<PackageDto>) mode.execute(params);
+ }
}
diff --git a/java/code/src/com/redhat/rhn/manager/channel/test/ChannelManagerTest.java
b/java/code/src/com/redhat/rhn/manager/channel/test/ChannelManagerTest.java
index 44aea87..4f52632 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/test/ChannelManagerTest.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/test/ChannelManagerTest.java
@@ -30,6 +30,8 @@ import com.redhat.rhn.domain.errata.ErrataFactory;
import com.redhat.rhn.domain.errata.test.ErrataFactoryTest;
import
com.redhat.rhn.domain.org.Org;
import com.redhat.rhn.domain.org.OrgFactory;
+import com.redhat.rhn.domain.rhnpackage.Package;
+import com.redhat.rhn.domain.rhnpackage.test.PackageTest;
import com.redhat.rhn.domain.rhnset.RhnSet;
import com.redhat.rhn.domain.role.RoleFactory;
import com.redhat.rhn.domain.server.Server;
@@ -40,6 +42,7 @@ import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.dto.ChannelOverview;
import com.redhat.rhn.frontend.dto.ErrataOverview;
import com.redhat.rhn.frontend.dto.EssentialChannelDto;
+import com.redhat.rhn.frontend.dto.PackageDto;
import com.redhat.rhn.frontend.dto.PackageOverview;
import com.redhat.rhn.frontend.dto.SystemsPerChannelDto;
import com.redhat.rhn.frontend.xmlrpc.NoSuchChannelException;
@@ -713,4 +716,35 @@ public class ChannelManagerTest extends BaseTestCaseWithUser {
c = ChannelManager.lookupByLabel(user.getOrg(), c.getLabel());
assertFalse(c.getErratas().contains(eids));
}
+
+ public void testListErrataPackages() throws Exception {
+
+ Channel c = ChannelFactoryTest.createBaseChannel(user);
+ Errata e = ErrataFactoryTest.createTestErrata(user.getOrg().getId());
+
+ Package bothP = PackageTest.createTestPackage();
+ Package channelP = PackageTest.createTestPackage();
+ Package errataP = PackageTest.createTestPackage();
+
+
+ c.addPackage(bothP);
+ e.addPackage(bothP);
+
+ c.addPackage(channelP);
+ e.addPackage(errataP);
+
+ c.addErrata(e);
+
+ c = (Channel) TestUtils.saveAndReload(c);
+ e = (Errata) TestUtils.saveAndReload(e);
+
+ bothP = (Package) TestUtils.saveAndReload(bothP);
+
+
+ List<PackageDto> list = ChannelManager.listErrataPackages(c, e);
+ assertEquals(list.size(), 1);
+ assertEquals(list.get(0).getId(), (bothP.getId()));
+
+
+ }
}
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 2a48b22..6a0070c 100644
--- a/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
+++ b/java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
@@ -31,8 +31,6 @@ import com.redhat.rhn.domain.errata.Errata;
import com.redhat.rhn.domain.errata.ErrataFactory;
import com.redhat.rhn.domain.errata.ErrataFile;
import com.redhat.rhn.domain.errata.ErrataFileType;
-import com.redhat.rhn.domain.errata.impl.PublishedErrataFile;
-import com.redhat.rhn.domain.rhnpackage.Package;
import com.redhat.rhn.domain.rhnset.RhnSet;
import com.redhat.rhn.domain.rhnset.RhnSetFactory;
import com.redhat.rhn.domain.role.RoleFactory;
@@ -56,7 +54,6 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
@@ -913,51 +910,6 @@ public class ErrataManager extends BaseManager {
public static List lookupByOriginal(User user, Errata original) {
return ErrataFactory.lookupByOriginal(user.getOrg(), original);
}
-
- /**
- * Refresh the ErrataFiles associated with this Errata and the passed in Channel.
- * @param channelIn to refresh errata files.
- * @param errata of Errata you want to refresh.
- */
- public static void refreshErrataFiles(Channel channelIn, Errata errata) {
- if (log.isDebugEnabled()) {
- log.debug("files? " + (errata.getFiles() != null) + "
packages: " +
- (channelIn.getPackages() != null));
- }
- if (errata.getFiles() != null && channelIn.getPackages() != null) {
- log.debug("This errata has files and the channel has packages.");
- Set addedPackages = new HashSet();
- Iterator i = errata.getFiles().iterator();
- while (i.hasNext()) {
- log.debug("loop 2.");
- PublishedErrataFile ef = (PublishedErrataFile) i.next();
- if (log.isDebugEnabled()) {
- log.debug("Working with ef: " + ef.getFileName() +
- " id: " + ef.getId() + " cs: " +
ef.getChecksum());
- }
- if (ef.getPackages() != null) {
- Iterator j = ef.getPackages().iterator();
- while (j.hasNext()) {
- Package p = (Package) j.next();
- if (log.isDebugEnabled()) {
- log.debug("Package: " +
p.getPackageName().getName() +
- " arch: " +
p.getPackageArch().getLabel());
- log.debug("added packages: " + addedPackages);
- }
- if (channelIn.getPackages().contains(p) &&
- !addedPackages.contains(p)) {
- if (log.isDebugEnabled()) {
- log.debug("ChannelHasPackage, adding to ef");
- }
- ef.addChannel(channelIn);
- addedPackages.add(p);
- }
- }
- }
- }
- }
-
- }
/**
* Lookup packages that are associated with errata in the RhnSet
"errata_list"
diff --git a/java/code/webapp/WEB-INF/pages/errata/erratapackages.jsp
b/java/code/webapp/WEB-INF/pages/errata/erratapackages.jsp
index 69d9864..69b42b3 100644
--- a/java/code/webapp/WEB-INF/pages/errata/erratapackages.jsp
+++ b/java/code/webapp/WEB-INF/pages/errata/erratapackages.jsp
@@ -14,31 +14,28 @@
<h2><bean:message
key="packagelist.jsp.header.packages"/></h2>
- <c:if test="${empty files}">
- <div class="page-summary">
- <bean:message key="details.jsp.none"/>
- </div>
- </c:if>
- <c:forEach items="${files}" var="current">
+
+ <c:forEach items="${channels}" var="current">
<div class="page-summary">
+ <b><c:out value="${current.name}"/> </b>
+ <br/>
- <c:if test="${previousChannel != current.channelName}">
- <br/><b>${current.channelName}:</b> <br/>
- </c:if>
-
- <tt>${current.md5sum}</tt>
-
- <c:if test="${not empty current.packageId}">
- <a
href="/rhn/software/packages/Details.do?pid=${current.packageId}">${current.filename}</a>
- </c:if>
- <c:if test="${empty current.packageId}">
- ${current.filename}
- </c:if>
- <br/>
+ <c:if test="${empty current.packages}">
+ <div class="page-summary">
+ <bean:message key="details.jsp.none"/>
+ </div>
+ </c:if>
+ <c:forEach items="${current.packages}" var="pack">
+ <tt>${pack.md5sum}</tt>
+ <a href="/rhn/software/packages/Details.do?pid=${pack.id}">
+ <c:out value="${pack.name}"/>
+ </a>
+ <br/>
+ </c:forEach>
+ <br/>
</div>
- <c:set var="previousChannel"
value="${current.channelName}" />
</c:forEach>
</body>
</html>
commit 27584de051ab77765c930be917917ae8655d857a
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Tue Mar 31 14:14:25 2009 -0400
adding missing index for errata cache\
between spacewalk 0.4 and 0.5 an index was added to the upgrade sql scripts but was
mistakenly left out of the base schema. This commit puts it in the base, and adds it to
the 0.5 -> 0.6 upgrade scripts.
diff --git a/schema/spacewalk/rhnsat/tables/rhnServerNeededCache_indexes.sql
b/schema/spacewalk/rhnsat/tables/rhnServerNeededCache_indexes.sql
index be40c5f..2776ce8 100644
--- a/schema/spacewalk/rhnsat/tables/rhnServerNeededCache_indexes.sql
+++ b/schema/spacewalk/rhnsat/tables/rhnServerNeededCache_indexes.sql
@@ -31,3 +31,8 @@ create index rhn_snc_eid_idx
tablespace [[128m_tbs]]
nologging;
+create index rhn_snc_speid_idx
+ on rhnServerNeededCache(server_id, package_id, errata_id)
+ parallel
+ tablespace [[128m_tbs]]
+ nologging;
diff --git
a/schema/spacewalk/upgrade/spacewalk-schema-0.5-to-spacewalk-schema-0.6/100-rhnServerNeededCache_indexes.sql
b/schema/spacewalk/upgrade/spacewalk-schema-0.5-to-spacewalk-schema-0.6/100-rhnServerNeededCache_indexes.sql
new file mode 100644
index 0000000..e46acff
--- /dev/null
+++
b/schema/spacewalk/upgrade/spacewalk-schema-0.5-to-spacewalk-schema-0.6/100-rhnServerNeededCache_indexes.sql
@@ -0,0 +1,5 @@
+create index rhn_snc_speid_idx
+ on rhnServerNeededCache(server_id, package_id, errata_id)
+ parallel
+ tablespace [[128m_tbs]]
+ nologging;
commit 53366661765ffef5a4edf3e24dbd8766066167f0
Author: Justin Sherrill <jsherril(a)redhat.com>
Date: Tue Mar 31 16:44:23 2009 -0400
458838 - changing kickstart download 404s to have a descriptive message
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/kickstart/RenderKickstartFileAction.java
b/java/code/src/com/redhat/rhn/frontend/action/kickstart/RenderKickstartFileAction.java
index f314659..9f50bc5 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/kickstart/RenderKickstartFileAction.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/kickstart/RenderKickstartFileAction.java
@@ -15,6 +15,7 @@
package com.redhat.rhn.frontend.action.kickstart;
import com.redhat.rhn.domain.kickstart.KickstartData;
+import com.redhat.rhn.frontend.xmlrpc.NoSuchKickstartException;
import com.redhat.rhn.manager.kickstart.KickstartManager;
import org.apache.log4j.Logger;
@@ -66,7 +67,8 @@ public class RenderKickstartFileAction extends Action {
log.error("No kickstart filecontents found for: " + url +
" params: " + params + " ksdata: " +
ksdata);
// send 404 to the user since we don't have a kickstart profile
match
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
+ //response.sendError(HttpServletResponse.SC_NOT_FOUND);
+ throw new NoSuchKickstartException();
}
if (log.isDebugEnabled()) {
log.debug("fileContents: " + fileContents);
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 a661dfe..6d00c09 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
@@ -21035,6 +21035,13 @@ given channel.</source>
<context
context-type="sourcefile">/rhn/systems/details/ErrataList.do</context>
</context-group>
</trans-unit>
+ <trans-unit id="unknown.kickstart">
+ <source>Kickstart Not Found</source>
+ </trans-unit>
+ <trans-unit id="unknown.kickstart.message">
+ <source>The requested kickstart file could not be found.
+ If you are requesting an organizational default kickstart, ensure that a
kickstart has been selected as the "Organization Default".</source>
+ </trans-unit>
</body>
</file>
diff --git a/java/code/webapp/WEB-INF/struts-config.xml
b/java/code/webapp/WEB-INF/struts-config.xml
index 243e45d..2caf809 100644
--- a/java/code/webapp/WEB-INF/struts-config.xml
+++ b/java/code/webapp/WEB-INF/struts-config.xml
@@ -995,6 +995,9 @@
<exception type="com.redhat.rhn.frontend.xmlrpc.NoSuchPackageException"
path="/WEB-INF/pages/common/errors/nosuchpkg.jsp" key="date"
handler="com.redhat.rhn.common.errors.NoSuchPackageExceptionHandler"/>
+ <exception
type="com.redhat.rhn.frontend.xmlrpc.NoSuchKickstartException"
+ path="/WEB-INF/pages/common/errors/nosuchkickstart.jsp"
key="date"
+
handler="com.redhat.rhn.common.errors.NoSuchKickstartExceptionHandler"/>
</global-exceptions>
<!--
commit ada539ca65d7533e9e90bb55e36452ff58f230cc
Author: Partha Aji <paji(a)redhat.com>
Date: Tue Mar 31 14:05:45 2009 -0400
removed jasper5* from run time dependencies and made them build time instead. Tomcat
5.5 doesn;t know how to deal with the arcane versions of the these files provided in
ivy.xml
diff --git a/java/buildconf/build-props.xml b/java/buildconf/build-props.xml
index 8270027..9e29092 100644
--- a/java/buildconf/build-props.xml
+++ b/java/buildconf/build-props.xml
@@ -53,7 +53,7 @@
value="bcel cglib commons-beanutils commons-cli commons-codec
commons-collections commons-configuration commons-digester
commons-discovery
commons-el commons-lang commons-logging commons-validator hibernate3
- mailapi smtp jasper5-compiler jasper5-runtime jdom jpam
+ mailapi smtp jdom jpam
jspapi log4j oro redstone-xmlrpc-client redstone-xmlrpc servletapi5 struts
bcprov bcpg jcommon stringtree-json
jfreechart taglibs-core logdriver quartz
@@ -66,7 +66,7 @@
<property name="build.jar.dependencies"
value="ant ant-junit ant-contrib antlr
- ${common.jar.dependencies} tanukiwrapper
+ ${common.jar.dependencies} tanukiwrapper jasper5-compiler jasper5-runtime
concurrent" />
<property name="run.jar.dependencies"