private <M> Collection<Measure> getMeasuresOfASingleMetric(MeasuresFilter<M> filter) { Collection<Measure> unfiltered; String metricKey = ((MeasuresFilters.MetricFilter<M>) filter).filterOnMetricKey(); if (CoreMetrics.DUPLICATIONS_DATA_KEY.equals(metricKey)) { // Hack for SONAR-5765 Iterable<DefaultDuplication> group = duplicationCache.byComponent(resource.getEffectiveKey()); unfiltered = Arrays.asList(new Measure(CoreMetrics.DUPLICATIONS_DATA, DuplicationUtils.toXml(group))); } else { // optimization unfiltered = measuresByMetric.get(metricKey); } return unfiltered; }
@CheckForNull @Override public <M> M getMeasures(Resource resource, MeasuresFilter<M> filter) { // Reload resource so that effective key is populated Resource indexedResource = getResource(resource); if (indexedResource == null) { return null; } Iterable<Measure> unfiltered; if (filter instanceof MeasuresFilters.MetricFilter) { // optimization unfiltered = measureCache.byMetric(indexedResource, ((MeasuresFilters.MetricFilter<M>) filter).filterOnMetricKey()); } else { unfiltered = measureCache.byResource(indexedResource); } Collection<Measure> all = new ArrayList<>(); if (unfiltered != null) { for (Measure measure : unfiltered) { all.add(measure); } } return filter.filter(all); }
@CheckForNull @Override public <M> M getMeasures(Resource resource, MeasuresFilter<M> filter) { // Reload resource so that effective key is populated Resource indexedResource = getResource(resource); if (indexedResource == null) { return null; } Iterable<Measure> unfiltered; if (filter instanceof MeasuresFilters.MetricFilter) { // optimization unfiltered = measureCache.byMetric(indexedResource, ((MeasuresFilters.MetricFilter<M>) filter).filterOnMetricKey()); } else { unfiltered = measureCache.byResource(indexedResource); } Collection<Measure> all = new ArrayList<Measure>(); if (unfiltered != null) { for (Measure measure : unfiltered) { all.add(measure); } } return filter.filter(all); }