java/code/src/com/redhat/rhn/common/db/datasource/xml/Channel_queries.xml
| 20 ++++
java/code/src/com/redhat/rhn/domain/errata/impl/PublishedErrata.java
| 4
java/code/src/com/redhat/rhn/domain/errata/test/ErrataTest.java
| 17 ---
java/code/src/com/redhat/rhn/frontend/action/errata/ErrataPackagesSetupAction.java
| 31 ++++--
java/code/src/com/redhat/rhn/frontend/action/errata/PackagePushAction.java
| 2
java/code/src/com/redhat/rhn/frontend/action/errata/RemovePackagesAction.java
| 19 ---
java/code/src/com/redhat/rhn/frontend/action/errata/test/CloneErrataActionTest.java
| 4
java/code/src/com/redhat/rhn/frontend/action/errata/test/ErrataPackagesSetupActionTest.java
| 2
java/code/src/com/redhat/rhn/frontend/dto/ChannelOverview.java
| 24 +++++
java/code/src/com/redhat/rhn/frontend/events/CloneErrataAction.java
| 2
java/code/src/com/redhat/rhn/manager/channel/ChannelManager.java
| 14 ++
java/code/src/com/redhat/rhn/manager/channel/test/ChannelManagerTest.java
| 34 +++++++
java/code/src/com/redhat/rhn/manager/errata/ErrataManager.java
| 48 ----------
java/code/webapp/WEB-INF/pages/errata/erratapackages.jsp
| 37 +++----
schema/spacewalk/rhnsat/tables/rhnServerNeededCache_indexes.sql
| 5 +
schema/spacewalk/upgrade/spacewalk-schema-0.5-to-spacewalk-schema-0.6/100-rhnServerNeededCache_indexes.sql
| 5 +
16 files changed, 146 insertions(+), 122 deletions(-)
New commits:
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;