java/code/src/com/redhat/rhn/domain/channel/Channel.hbm.xml |
11 ++++
java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java |
24 +++-------
java/code/src/com/redhat/rhn/domain/channel/ChannelVersion.java |
1
java/code/src/com/redhat/rhn/frontend/action/channel/manage/AddRedHatErrataAction.java |
6 +-
4 files changed, 23 insertions(+), 19 deletions(-)
New commits:
commit be452cb6eac8b08fcdc7c906f9eefc04346c8019
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Wed Aug 3 23:42:49 2011 +0200
727984 - include static mappings for 6ComputeNode
diff --git a/java/code/src/com/redhat/rhn/domain/channel/ChannelVersion.java
b/java/code/src/com/redhat/rhn/domain/channel/ChannelVersion.java
index c7d4381..9fc75c6 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/ChannelVersion.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/ChannelVersion.java
@@ -51,6 +51,7 @@ public class ChannelVersion {
DIST_CHANNEL_MAP_TO_CHANNEL_VERSION.put("6Client",
ChannelVersion.RHEL6);
DIST_CHANNEL_MAP_TO_CHANNEL_VERSION.put("6Server",
ChannelVersion.RHEL6);
DIST_CHANNEL_MAP_TO_CHANNEL_VERSION.put("6Workstation",
ChannelVersion.RHEL6);
+ DIST_CHANNEL_MAP_TO_CHANNEL_VERSION.put("6ComputeNode",
ChannelVersion.RHEL6);
DIST_CHANNEL_MAP_TO_CHANNEL_VERSION.put("5Client",
ChannelVersion.RHEL5);
DIST_CHANNEL_MAP_TO_CHANNEL_VERSION.put("5Server",
ChannelVersion.RHEL5);
commit b2d20c51accb488bf1dac575ac5d6fefd0af3dd5
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Wed Aug 3 23:25:21 2011 +0200
725889 - show only channels for which the user has entitlements
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 02fa661..8b95f58 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
@@ -141,6 +141,17 @@ PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
</query>
+ <sql-query name="Channel.findRedHatBaseChannelsByUserId">
+ <![CDATA[SELECT {c.*}
+ FROM rhnChannel {c}
+ INNER JOIN rhnUserChannel uc ON uc.channel_id = c.id
+ LEFT OUTER JOIN rhnChannelCloned c_1_ ON c.id = c_1_.id
+ WHERE c.org_id is null
+ AND c.parent_channel is null
+ AND uc.user_id = :userId]]>
+ <return alias="c"
class="com.redhat.rhn.domain.channel.Channel" />
+ </sql-query>
+
<sql-query name="Channel.findCustomBaseChannels">
<![CDATA[SELECT {c.*}
FROM rhnUserChannel uc,
diff --git a/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
b/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
index 6b74144..24467c3 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
@@ -935,6 +935,19 @@ public class ChannelFactory extends HibernateFactory {
return
singleton.listObjectsByNamedQuery("Channel.findRedHatBaseChannels", params);
}
+
+ /**
+ * List all accessible Red Hat base channels for a given user
+ * @param user logged in user
+ * @return list of Red Hat base channels
+ */
+ public static List<Channel> listRedHatBaseChannels(User user) {
+ Map params = new HashMap();
+ params.put("userId", user.getId());
+ return singleton.listObjectsByNamedQuery(
+ "Channel.findRedHatBaseChannelsByUserId", params);
+ }
+
/**
* Lookup the original channel of a cloned channel
* @param chan the channel to find the original of
diff --git
a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/AddRedHatErrataAction.java
b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/AddRedHatErrataAction.java
index e338089..1da4526 100644
---
a/java/code/src/com/redhat/rhn/frontend/action/channel/manage/AddRedHatErrataAction.java
+++
b/java/code/src/com/redhat/rhn/frontend/action/channel/manage/AddRedHatErrataAction.java
@@ -163,7 +163,7 @@ public class AddRedHatErrataAction extends RhnListAction {
}
}
- List<Channel> channelSet = findChannelsByVersion(selectedVersionStr);
+ List<Channel> channelSet = findChannelsByVersion(user,
selectedVersionStr);
channelList = new ArrayList();
if (channelSet != null) {
sortChannelsAndChildify(channelSet, channelList, user,
selectedChannelStr);
@@ -275,12 +275,12 @@ public class AddRedHatErrataAction extends RhnListAction {
}
- private List findChannelsByVersion(String version) {
+ private List findChannelsByVersion(User user, String version) {
if (version == null) {
return null;
}
- List<Channel> channels = ChannelFactory.listRedHatBaseChannels();
+ List<Channel> channels = ChannelFactory.listRedHatBaseChannels(user);
List toReturn = new ArrayList();
for (Channel chan : channels) {
for (DistChannelMap map : chan.getDistChannelMaps()) {
commit bf213f33d61149847589486eff81e17fff9e3e13
Author: Simon Lukasik <slukasik(a)redhat.com>
Date: Wed Aug 3 21:29:44 2011 +0200
listRedHatBaseChannelsByVersion() was never used, removing
diff --git a/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
b/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
index af68449..6b74144 100644
--- a/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
+++ b/java/code/src/com/redhat/rhn/domain/channel/ChannelFactory.java
@@ -26,7 +26,6 @@ import com.redhat.rhn.domain.kickstart.KickstartableTree;
import
com.redhat.rhn.domain.org.Org;
import com.redhat.rhn.domain.rhnpackage.Package;
import com.redhat.rhn.domain.user.User;
-import com.redhat.rhn.manager.channel.ChannelManager;
import org.apache.log4j.Logger;
import org.hibernate.Criteria;
@@ -36,13 +35,11 @@ import org.hibernate.criterion.CriteriaSpecification;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Set;
/**
* ChannelFactory
@@ -938,24 +935,6 @@ public class ChannelFactory extends HibernateFactory {
return
singleton.listObjectsByNamedQuery("Channel.findRedHatBaseChannels", params);
}
-
- /**
- * Lookup a List of redhat base channels with a given ChannelVersion
- * @param version the version string to find
- * @return The List of Channels
- */
- public static List<Channel> listRedHatBaseChannelsByVersion(ChannelVersion
version) {
- List<Channel> toReturn = new ArrayList();
- List<Channel> channels = listRedHatBaseChannels();
- for (Channel chan : channels) {
- Set versions = ChannelManager.getChannelVersions(chan);
- if (versions.contains(version)) {
- toReturn.add(chan);
- }
- }
- return toReturn;
- }
-
/**
* Lookup the original channel of a cloned channel
* @param chan the channel to find the original of