/** * @param eventsList * @return the fold application value. */ private double performFold(final List<MonitoringEvent> eventsList) { final double arr[] = new double[eventsList.size()]; if (metric != null) for (int i = 0; i < arr.length; ++i) arr[i] = (Double) eventsList.get(i).get(metric); return foldMethod.perform(arr); }
/** * Constructor. * * @param bean */ private ThresholdRequirement(final ThresholdRequirementBean bean) { this.thresholdValue = bean.getThreshold(); this.metric = bean.getMetric(); this.pred = ThresholdPredicate.from(bean.getPredicate()); this.foldMethod = bean.getAggregationMethod() != null ? ThresholdFold.from(bean.getAggregationMethod()) : null; }
/** * @param method * @return a {@link ThresholdFold}. * @throws ThresholdRuleValidationError */ static ThresholdFold from(final String method) throws ThresholdRuleValidationError { for (final ThresholdFold p : ThresholdFold.values()) if (p.name.equals(method)) return p; throw new ThresholdRuleValidationError( "invalid rule specification: unsupported aggregation method: " + method); }