OK, I think this patch is OK now. CC
On Thu, Apr 8, 2010 at 9:10 PM, Colin Coe <colin....@gmail.com> wrote: > Hi Justin > > Is this a bit better? http://fpaste.org/LJwb/ > > Thanks > > CC > > > > On Thu, Apr 8, 2010 at 5:49 AM, Colin Coe <colin....@gmail.com> wrote: >> Hi Justin >> >> Thanks for the feedback. I'll have another look at this and re-submit. >> >> CC >> >> On Thu, Apr 8, 2010 at 1:21 AM, Justin Sherrill <jsher...@redhat.com> wrote: >>> On 4/6/10 9:55 AM, Colin Coe wrote: >>>> Hi all >>>> >>>> As per the API Addition page, I've added 'arch' to the >>>> channel.list*Channels API calls. >>>> >>>> Comments/criticisms welcome >>>> >>>> CC >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Spacewalk-devel mailing list >>>> Spacewalk-devel@redhat.com >>>> https://www.redhat.com/mailman/listinfo/spacewalk-devel >>> Hey Colin, >>> >>> Having it do the lookups of package Arch in the Serializer really isn't >>> the right way to do it as Serializers are just meant to translate the >>> existing data. >>> >>> I would either add joins to rhnChannelArch to get the label in each of >>> the queries or write a elaborator that just gets the channel arch and >>> make each of those queries use the elaborator. >>> >>> Thanks, >>> >>> -Justin >>> >>> >>> -- >>> Justin Sherrill, RHCA 1801 Varsity Drive. >>> Software Engineer Raleigh, NC 27603 >>> Red Hat, Inc. >>> >>> _______________________________________________ >>> Spacewalk-devel mailing list >>> Spacewalk-devel@redhat.com >>> https://www.redhat.com/mailman/listinfo/spacewalk-devel >>> >> > > > > -- > RHCE#805007969328369 > -- RHCE#805007969328369
From cf421954e3eaa908d447bfe95fec1119fd4e5c03 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 ++++++++++++------ .../redhat/rhn/frontend/dto/ChannelTreeNode.java | 15 +++++++++++++++ .../serializer/ChannelTreeNodeSerializer.java | 5 +++++ 3 files changed, 32 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..784fa57 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, + (select CA.name from rhnChannelArch CA where CA.ID = C.channel_arch_id) arch_name 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, + (select CA.name from rhnChannelArch CA where CA.ID = C.channel_arch_id) arch_name 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, + (select CA.name from rhnChannelArch CA where CA.ID = C.channel_arch_id) arch_name 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, + (select CA.name from rhnChannelArch CA where CA.ID = C.channel_arch_id) arch_name 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, + (select CA.name from rhnChannelArch CA where CA.ID = C.channel_arch_id) arch_name 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, + (select CA.name from rhnChannelArch CA where CA.ID = C.channel_arch_id) arch_name 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/dto/ChannelTreeNode.java b/java/code/src/com/redhat/rhn/frontend/dto/ChannelTreeNode.java index 4c0ba0e..c173811 100644 --- a/java/code/src/com/redhat/rhn/frontend/dto/ChannelTreeNode.java +++ b/java/code/src/com/redhat/rhn/frontend/dto/ChannelTreeNode.java @@ -46,6 +46,7 @@ public class ChannelTreeNode extends BaseDto implements BaseListDto, private Long parentId; private Long orgId; private String orgName; + private String archName; @@ -458,4 +459,18 @@ public class ChannelTreeNode extends BaseDto implements BaseListDto, orgName = orgname; } + /** + * @return Returns the archName. + */ + public String getArchName() { + return archName; + } + + /** + * @param archNameIn The archName to set. + */ + public void setArchName(String archNameIn) { + this.archName = archNameIn; + } + } 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..3dd574f 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_name") * #struct_end() */ public class ChannelTreeNodeSerializer implements XmlRpcCustomSerializer { @@ -80,6 +83,8 @@ public class ChannelTreeNodeSerializer implements XmlRpcCustomSerializer { helper.add("systems", ctn.getSystemCount()); } + helper.add("arch_name", ctn.getArchName()); + helper.writeTo(output); } } -- 1.5.5.6
_______________________________________________ Spacewalk-devel mailing list Spacewalk-devel@redhat.com https://www.redhat.com/mailman/listinfo/spacewalk-devel