Hi all As per the API Addition page, I've added 'arch' to the channel.list*Channels API calls.
Comments/criticisms welcome CC -- RHCE#805007969328369
From 89ff55c80929fd5d241c18026b404cc1e027036b Mon Sep 17 00:00:00 2001 From: Colin Coe <colin....@gmail.com> Date: Tue, 6 Apr 2010 21:40:59 +0800 Subject: [PATCH] Add 'arch' to channel.list*Channels --- .../common/db/datasource/xml/Channel_queries.xml | 18 ++++++++++++------ .../serializer/ChannelTreeNodeSerializer.java | 6 ++++++ 2 files changed, 18 insertions(+), 6 deletions(-) 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 b165f76..beb4b06 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 @@ -410,7 +410,8 @@ SELECT CFO.id, CFO.org_id, CFO.name, CFO.label, CFO.current_members, CFO.max_mem C.org_id, (select org.name from web_customer org - where org.id = C.org_id) as org_name + where org.id = C.org_id) as org_name, + C.channel_arch_id from rhnChannel C inner join rhnUserChannel UC on UC.channel_id = C.id where UC.user_id = :user_id @@ -431,7 +432,8 @@ SELECT CFO.id, CFO.org_id, CFO.name, CFO.label, CFO.current_members, CFO.max_mem C.org_id, (select org.name from web_customer org - where org.id = C.org_id) as org_name + where org.id = C.org_id) as org_name, + C.channel_arch_id from rhnSharedChannelView C inner join rhnUserChannel UC on UC.channel_id = C.id where UC.user_id = :user_id @@ -452,7 +454,8 @@ SELECT CFO.id, CFO.org_id, CFO.name, CFO.label, CFO.current_members, CFO.max_mem C.org_id, (select org.name from web_customer org - where org.id = C.org_id) as org_name + where org.id = C.org_id) as org_name, + C.channel_arch_id from rhnChannel C inner join rhnUserChannel UC on UC.channel_id = C.id where UC.user_id = :user_id AND @@ -479,7 +482,8 @@ SELECT CFO.id, CFO.org_id, CFO.name, CFO.label, CFO.current_members, CFO.max_mem C.org_id, (select org.name from web_customer org - where org.id = C.org_id) as org_name + where org.id = C.org_id) as org_name, + C.channel_arch_id from rhnChannel C inner join rhnUserChannel UC on UC.channel_id = C.id where UC.user_id = :user_id and @@ -499,7 +503,8 @@ SELECT CFO.id, CFO.org_id, CFO.name, CFO.label, CFO.current_members, CFO.max_mem (SELECT COUNT(P.package_id) FROM rhnChannelPackage P WHERE P.channel_id = C.id - ) AS package_count + ) AS package_count, + C.channel_arch_id from rhnChannel C inner join rhnUserChannel UC on UC.channel_id = C.id left join rhnChannel C2 on C.parent_channel = C2.id @@ -518,7 +523,8 @@ SELECT CFO.id, CFO.org_id, CFO.name, CFO.label, CFO.current_members, CFO.max_mem (SELECT COUNT(P.package_id) FROM rhnChannelPackage P WHERE P.channel_id = C.id - ) AS package_count + ) AS package_count, + C.channel_arch_id from rhnChannel C inner join rhnUserChannel UC on UC.channel_id = C.id left join rhnChannel C2 on C2.parent_channel = C.id diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/ChannelTreeNodeSerializer.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/ChannelTreeNodeSerializer.java index 461bd6a..1889b96 100644 --- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/ChannelTreeNodeSerializer.java +++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/serializer/ChannelTreeNodeSerializer.java @@ -14,6 +14,8 @@ */ package com.redhat.rhn.frontend.xmlrpc.serializer; +import com.redhat.rhn.domain.channel.Channel; +import com.redhat.rhn.domain.channel.ChannelFactory; import com.redhat.rhn.frontend.dto.ChannelTreeNode; import com.redhat.rhn.frontend.xmlrpc.serializer.util.SerializerHelper; @@ -37,6 +39,7 @@ import redstone.xmlrpc.XmlRpcSerializer; * #prop("string", "provider_name") * #prop("int", "packages") * #prop("int", "systems") + * #prop("string", "arch") * #struct_end() */ public class ChannelTreeNodeSerializer implements XmlRpcCustomSerializer { @@ -80,6 +83,9 @@ public class ChannelTreeNodeSerializer implements XmlRpcCustomSerializer { helper.add("systems", ctn.getSystemCount()); } + Channel c = ChannelFactory.lookupById(ctn.getId()); + helper.add("arch", c.getChannelArch().getName()); + helper.writeTo(output); } } -- 1.5.5.6
_______________________________________________ Spacewalk-devel mailing list Spacewalk-devel@redhat.com https://www.redhat.com/mailman/listinfo/spacewalk-devel