From: <cl...@hy...> - 2008-03-19 21:13:12
|
Author: clee Date: 2008-03-19 14:13:09 -0700 (Wed, 19 Mar 2008) New Revision: 8352 URL: http://svn.hyperic.org/?view=rev&root=Hyperic+HQ&revision=8352 Modified: branches/HQ_3_2/src/org/hyperic/hq/measurement/server/session/ReportProcessorEJBImpl.java Log: [HHQ-1728] Only set the cache for availability metrics that are down Modified: branches/HQ_3_2/src/org/hyperic/hq/measurement/server/session/ReportProcessorEJBImpl.java =================================================================== --- branches/HQ_3_2/src/org/hyperic/hq/measurement/server/session/ReportProcessorEJBImpl.java 2008-03-19 21:09:50 UTC (rev 8351) +++ branches/HQ_3_2/src/org/hyperic/hq/measurement/server/session/ReportProcessorEJBImpl.java 2008-03-19 21:13:09 UTC (rev 8352) @@ -184,17 +184,27 @@ // If this is an availability metric, then tell the cache about it MeasurementTemplate tmpl = dm.getTemplate(); - if (tmpl.getAlias().toUpperCase() + boolean isAvailability = + tmpl.getAlias().toUpperCase() .equals(MeasurementConstants.CAT_AVAILABILITY) && tmpl.getCategory().getName() - .equals(MeasurementConstants.CAT_AVAILABILITY)) { - MetricDataCache.getInstance().setAvailMetric(dmId); - } - + .equals(MeasurementConstants.CAT_AVAILABILITY); + ValueList[] valLists = dsnLists[i].getDsns(); for (int j = 0; j < valLists.length; j++) { int dsnId = valLists[j].getDsnId(); MetricValue[] vals = valLists[j].getValues(); + + if (isAvailability) { + for (int ia = 0; ia < vals.length; ia++) { + if (vals[ia].getValue() == 0) { + MetricDataCache.getInstance().setAvailMetric(dmId); + isAvailability = false; // Only need to add it once + break; + } + } + } + addData(dataPoints, dm, dsnId, vals, current); } } |