Пример #1
0
  void compareWithPastMeasures(DecoratorContext context, int index, List<Object[]> pastMeasures) {
    Map<MeasureKey, Object[]> pastMeasuresByKey = Maps.newHashMap();
    for (Object[] pastMeasure : pastMeasures) {
      pastMeasuresByKey.put(new MeasureKey(pastMeasure), pastMeasure);
    }

    // for each measure, search equivalent past measure
    for (Measure measure : context.getMeasures(MeasuresFilters.all())) {
      // compare with past measure
      Integer metricId =
          (measure.getMetric().getId() != null
              ? measure.getMetric().getId()
              : metricFinder.findByKey(measure.getMetric().getKey()).getId());
      Integer characteristicId =
          (measure.getCharacteristic() != null ? measure.getCharacteristic().getId() : null);
      Integer ruleId =
          (measure instanceof RuleMeasure ? ((RuleMeasure) measure).getRule().getId() : null);

      Object[] pastMeasure =
          pastMeasuresByKey.get(new MeasureKey(metricId, characteristicId, ruleId));
      if (updateVariation(measure, pastMeasure, index)) {
        context.saveMeasure(measure);
      }
    }
  }
Пример #2
0
 public Collection<Measure> getChildrenMeasures(MeasuresFilter filter) {
   List<Measure> result = Lists.newArrayList();
   for (DecoratorContext childContext : childrenContexts) {
     Object childResult = childContext.getMeasures(filter);
     if (childResult != null) {
       if (childResult instanceof Collection) {
         result.addAll((Collection) childResult);
       } else {
         result.add((Measure) childResult);
       }
     }
   }
   return result;
 }