From: <jt...@hy...> - 2008-01-15 23:08:36
|
Author: jtravis Date: 2008-01-15 15:08:32 -0800 (Tue, 15 Jan 2008) New Revision: 7555 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=7555 Modified: trunk/src/org/hyperic/hq/appdef/server/session/AgentManagerEJBImpl.java trunk/src/org/hyperic/hq/bizapp/server/session/HQInternalService.java trunk/src/org/hyperic/hq/dao/AgentDAO.java Log: HHQ-1479. HHQ-1487. Only show agents associated with > 0 platforms Modified: trunk/src/org/hyperic/hq/appdef/server/session/AgentManagerEJBImpl.java =================================================================== --- trunk/src/org/hyperic/hq/appdef/server/session/AgentManagerEJBImpl.java 2008-01-15 22:51:07 UTC (rev 7554) +++ trunk/src/org/hyperic/hq/appdef/server/session/AgentManagerEJBImpl.java 2008-01-15 23:08:32 UTC (rev 7555) @@ -190,12 +190,20 @@ * @ejb:interface-method * @ejb:transaction type="Required" */ - public int getAgentCount() - { + public int getAgentCount() { return getAgentDAO().size(); } /** + * Get a count of the agents which are actually used (i.e. have platforms) + * @ejb:interface-method + * @ejb:transaction type="Required" + */ + public int getAgentCountUsed() { + return getAgentDAO().countUsed(); + } + + /** * Get a list of all the unused agents in the system plus the one agent * used by the platform whose id = input. * @ejb:interface-method Modified: trunk/src/org/hyperic/hq/bizapp/server/session/HQInternalService.java =================================================================== --- trunk/src/org/hyperic/hq/bizapp/server/session/HQInternalService.java 2008-01-15 22:51:07 UTC (rev 7554) +++ trunk/src/org/hyperic/hq/bizapp/server/session/HQInternalService.java 2008-01-15 23:08:32 UTC (rev 7555) @@ -44,7 +44,7 @@ } public int getAgentCount() { - return AgentManagerEJBImpl.getOne().getAgentCount(); + return AgentManagerEJBImpl.getOne().getAgentCountUsed(); } public double getMetricsCollectedPerMinute() { Modified: trunk/src/org/hyperic/hq/dao/AgentDAO.java =================================================================== --- trunk/src/org/hyperic/hq/dao/AgentDAO.java 2008-01-15 22:51:07 UTC (rev 7554) +++ trunk/src/org/hyperic/hq/dao/AgentDAO.java 2008-01-15 23:08:32 UTC (rev 7555) @@ -62,6 +62,13 @@ return ag; } + public int countUsed() { + return ((Number)getSession() + .createQuery("select count(distinct a) from Platform p " + + "join p.agent a").uniqueResult()).intValue(); + + } + public Agent findByIpAndPort(String address, int port) { String sql = "from Agent where address=? and port=?"; return (Agent)getSession().createQuery(sql) @@ -90,7 +97,8 @@ public List findAgents(PageInfo pInfo) { AgentSortField sort = (AgentSortField)pInfo.getSort(); - String sql = "select a from Agent a " + + String sql = "select distinct a from Platform p " + + "join p.agent a" + " order by " + sort.getSortString("a") + (pInfo.isAscending() ? "" : " DESC"); |