java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml
| 2
java/code/src/com/redhat/rhn/domain/channel/Channel.java
| 55 ++++------
java/code/src/com/redhat/rhn/domain/channel/ClonedChannel.java
| 8 -
java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
| 4
java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/test/ChannelSoftwareHandlerTest.java
| 4
java/code/src/com/redhat/rhn/manager/channel/CreateChannelCommand.java
| 2
java/code/src/com/redhat/rhn/manager/channel/UpdateChannelCommand.java
| 5
java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
| 2
8 files changed, 40 insertions(+), 42 deletions(-)
New commits:
commit 08ce8d435c613beaf6555abf27a83088d36006ad
Author: Tomas Lestach <tlestach(a)redhat.com>
Date: Wed Dec 23 15:22:21 2009 +0100
channel checksum changes
changed logic of Channel.getChecksumType()/Channel.getChecksumTypeLabel()
renamed some checksum stuff
diff --git a/java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml
b/java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml
index 02ea23e..4f19ef5 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml
+++ b/java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml
@@ -46,7 +46,7 @@ PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
column="channel_arch_id"/>
<many-to-one
- name="checksum"
+ name="checksumType"
class="com.redhat.rhn.domain.common.ChecksumType"
column="checksum_type_id"/>
diff --git a/java/code/src/com/redhat/rhn/domain/channel/Channel.java
b/java/code/src/com/redhat/rhn/domain/channel/Channel.java
index 27267cc..8d8872f 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/Channel.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/Channel.java
@@ -65,7 +65,7 @@ public class Channel extends BaseDomainHelper implements Comparable {
.asList("5Server", "5Client"));
private String baseDir;
private ChannelArch channelArch;
- private ChecksumType checksum;
+ private ChecksumType checksumType;
private String description;
private Date endOfLife;
@@ -169,15 +169,15 @@ public class Channel extends BaseDomainHelper implements Comparable
{
/**
* @return Returns the channelChecksum.
*/
- public ChecksumType getChecksum() {
- return checksum;
+ public ChecksumType getChecksumType() {
+ return checksumType;
}
/**
- * @param checksumIn The checksum to set.
+ * @param checksumTypeIn The checksum to set.
*/
- public void setChecksum(ChecksumType checksumIn) {
- this.checksum = checksumIn;
+ public void setChecksumType(ChecksumType checksumTypeIn) {
+ this.checksumType = checksumTypeIn;
}
@@ -880,35 +880,34 @@ public class Channel extends BaseDomainHelper implements Comparable
{
* If its RHEL-5 we use sha1 anything newer will be sha256.
* @return checksumType
*/
- public String getChecksumType() {
- Channel toConsider = this;
+ public String getChecksumTypeLabel() {
- while (toConsider.getParentChannel() != null) {
- toConsider = toConsider.getParentChannel();
+ if ((checksumType != null) && (checksumType.getLabel() != null)) {
+ return checksumType.getLabel();
}
- DistChannelMap channelDist = ChannelFactory.lookupDistChannelMap(toConsider);
+
+ Channel parent = this.getParentChannel();
+ if (parent != null) {
+ String parentChecksumType = parent.getChecksumTypeLabel();
+ if (parentChecksumType != null) {
+ setChecksumType(
+ ChannelFactory.findChecksumTypeByLabel(parentChecksumType));
+ return parentChecksumType;
+ }
+ }
+
+ DistChannelMap channelDist = ChannelFactory.lookupDistChannelMap(this);
if (channelDist != null) {
String release = channelDist.getRelease();
- // If channel or parent is RHEL-5 use sha1, else use sha256
+ // If channel or parent is RHEL-5 use sha1
if (sha1compatiblechannels.contains(release)) {
+ this.setChecksumType(
+ ChannelFactory.findChecksumTypeByLabel(CHECKSUM_SHA_1));
return CHECKSUM_SHA_1;
}
}
-
- // IF its custom use the one set at channel creation time
-
- if (toConsider.isCustom()) {
- ChecksumType checksumOut = toConsider.getChecksum();
- if ((checksumOut != null) && (checksumOut.getLabel() != null)) {
- return checksumOut.getLabel();
- }
- else {
- // default to sha1 if its not available in the db
- return CHECKSUM_SHA_1;
- }
- }
-
- // default to sha256
- return CHECKSUM_SHA_256;
+
+ // sorry, but something's really wrong
+ return null;
}
}
diff --git a/java/code/src/com/redhat/rhn/domain/channel/ClonedChannel.java
b/java/code/src/com/redhat/rhn/domain/channel/ClonedChannel.java
index 35381db..096d9fb 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/ClonedChannel.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/ClonedChannel.java
@@ -50,12 +50,12 @@ public class ClonedChannel extends Channel {
* {@inheritDoc}
*/
@Override
- public ChecksumType getChecksum() {
- if (super.getChecksum() == null) {
+ public ChecksumType getChecksumType() {
+ if (super.getChecksumType() == null) {
// if the checksum type is not set use the
//checksum of original channel instead.
- setChecksum(getOriginal().getChecksum());
+ setChecksumType(getOriginal().getChecksumType());
}
- return super.getChecksum();
+ return super.getChecksumType();
}
}
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
index c0aaf2b..f5078c3 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/EditChannelAction.java
@@ -568,11 +568,11 @@ public class EditChannelAction extends RhnAction implements Listable
{
form.set("maintainer_phone", c.getMaintainerPhone());
form.set("maintainer_email", c.getMaintainerEmail());
form.set("support_policy", c.getSupportPolicy());
- if (c.getChecksum() == null) {
+ if (c.getChecksumTypeLabel() == null) {
form.set("checksum", null);
}
else {
- form.set("checksum", c.getChecksum().getLabel());
+ form.set("checksum", c.getChecksumTypeLabel());
}
if (c.isGloballySubscribable(ctx.getLoggedInUser().getOrg())) {
form.set("per_user_subscriptions", "all");
diff --git
a/java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/test/ChannelSoftwareHandlerTest.java
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/test/ChannelSoftwareHandlerTest.java
index bc71360..34444a8 100644
---
a/java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/test/ChannelSoftwareHandlerTest.java
+++
b/java/code/src/com/redhat/rhn/frontend/xmlrpc/channel/software/test/ChannelSoftwareHandlerTest.java
@@ -511,7 +511,7 @@ public class ChannelSoftwareHandlerTest extends BaseHandlerTestCase {
assertNotNull(ca);
assertNotNull(c.getChannelArch());
assertEquals(ca.getLabel(), c.getChannelArch().getLabel());
- assertEquals(c.getChecksumType(), "sha1");
+ assertEquals(c.getChecksumTypeLabel(), "sha1");
}
public void testCreateWithChecksum() throws Exception {
@@ -529,7 +529,7 @@ public class ChannelSoftwareHandlerTest extends BaseHandlerTestCase {
assertNotNull(ca);
assertNotNull(c.getChannelArch());
assertEquals(ca.getLabel(), c.getChannelArch().getLabel());
- assertEquals(c.getChecksumType(), "sha256");
+ assertEquals(c.getChecksumTypeLabel(), "sha256");
}
public void testCreateUnauthUser() {
diff --git a/java/code/src/com/redhat/rhn/manager/channel/CreateChannelCommand.java
b/java/code/src/com/redhat/rhn/manager/channel/CreateChannelCommand.java
index 5564a40..3f1e665 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/CreateChannelCommand.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/CreateChannelCommand.java
@@ -271,7 +271,7 @@ public class CreateChannelCommand {
c.setOrg(user.getOrg());
c.setBaseDir("/dev/null");
c.setChannelArch(ca);
- c.setChecksum(ct);
+ c.setChecksumType(ct);
c.setGPGKeyId(gpgKeyId);
c.setGPGKeyUrl(gpgKeyUrl);
c.setGPGKeyFp(gpgKeyFp);
diff --git a/java/code/src/com/redhat/rhn/manager/channel/UpdateChannelCommand.java
b/java/code/src/com/redhat/rhn/manager/channel/UpdateChannelCommand.java
index aabdbb2..917b98a 100644
--- a/java/code/src/com/redhat/rhn/manager/channel/UpdateChannelCommand.java
+++ b/java/code/src/com/redhat/rhn/manager/channel/UpdateChannelCommand.java
@@ -68,8 +68,7 @@ public class UpdateChannelCommand extends CreateChannelCommand {
}
ChecksumType ct = ChannelFactory.findChecksumTypeByLabel(checksum);
-
- if (!ct.getLabel().equals(c.getChecksum().getLabel()) &&
c.getPackageCount() > 0) {
+ if (!ct.getLabel().equals(c.getChecksumTypeLabel()) &&
c.getPackageCount() > 0) {
// schedule repo re generation if the checksum type changed
// and the channel has packages
ChannelManager.queueChannelChange(c.getLabel(),
@@ -84,7 +83,7 @@ public class UpdateChannelCommand extends CreateChannelCommand {
c.setGPGKeyId(gpgKeyId);
c.setGPGKeyUrl(gpgKeyUrl);
c.setGPGKeyFp(gpgKeyFp);
- c.setChecksum(ct);
+ c.setChecksumType(ct);
c.setAccess(access);
c.setMaintainerName(maintainerName);
c.setMaintainerEmail(maintainerEmail);
diff --git a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
index 9b52cd5..469f979 100644
--- a/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
+++ b/java/code/src/com/redhat/rhn/taskomatic/task/repomd/RepositoryWriter.java
@@ -104,7 +104,7 @@ public class RepositoryWriter {
CompressingDigestOutputWriter otherFile;
// Get compatible checksumType
- this.checksumtype = channel.getChecksumType();
+ this.checksumtype = channel.getChecksumTypeLabel();
log.info("Checksum Type Value" + this.checksumtype);