From: <pn...@hy...> - 2010-04-24 02:13:09
|
Author: pnguyen Date: 2010-04-23 17:23:33 -0700 (Fri, 23 Apr 2010) New Revision: 14544 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=14544 Modified: trunk/src/org/hyperic/hq/hqu/rendit/metaclass/ResourceCategory.groovy Log: [HHQ-3803, HHQ-3748] Add HQApi support to get metrics data summary for a resource within a specified time range. Functionality added primarily for integration testing. Modified: trunk/src/org/hyperic/hq/hqu/rendit/metaclass/ResourceCategory.groovy =================================================================== --- trunk/src/org/hyperic/hq/hqu/rendit/metaclass/ResourceCategory.groovy 2010-04-23 22:33:05 UTC (rev 14543) +++ trunk/src/org/hyperic/hq/hqu/rendit/metaclass/ResourceCategory.groovy 2010-04-24 00:23:33 UTC (rev 14544) @@ -22,6 +22,7 @@ import org.hyperic.hq.appdef.server.session.ServerManagerEJBImpl as ServerMan import org.hyperic.hq.appdef.server.session.ServiceManagerEJBImpl as ServiceMan import org.hyperic.hq.bizapp.server.session.AppdefBossEJBImpl as AppdefBoss +import org.hyperic.hq.bizapp.server.session.MeasurementBossEJBImpl as MeasurementBoss import org.hyperic.hq.common.VetoException import org.hyperic.hq.events.server.session.AlertDefinitionManagerEJBImpl as DefMan import org.hyperic.hq.events.server.session.AlertManagerEJBImpl as AlertMan @@ -30,8 +31,8 @@ import org.hyperic.hq.control.server.session.ControlManagerEJBImpl as CMan import org.hyperic.hq.control.server.session.ControlScheduleManagerEJBImpl as CSMan import org.hyperic.hq.product.PluginNotFoundException +import org.hyperic.hq.measurement.MeasurementConstants import org.hyperic.hq.measurement.server.session.MeasurementManagerEJBImpl as DMan - import org.hyperic.hibernate.PageInfo import org.hyperic.hq.livedata.shared.LiveDataCommand import org.hyperic.hq.livedata.shared.LiveDataResult @@ -150,6 +151,24 @@ static Collection getMetrics(Resource r) { dman.findMeasurements(null, r) } + + /** + * Get the metrics summary for a resource + */ + static Map getMetricsSummary(Resource r, AuthzSubject user, long begin, long end) { + def mgr = SessionManager.instance + def sessionId = mgr.put(user) + def aeids = [new AppdefEntityID(r)] as AppdefEntityID[] + def boss = MeasurementBoss.one + + return boss.findMetrics(sessionId, + aeids, + MeasurementConstants.FILTER_NONE, + null, + begin, + end, + false) + } /** * Get the availability Measurement for a Resource. |