@Override public <M> M getMeasures(MeasuresFilter<M> filter) { Collection<Measure> unfiltered; if (filter instanceof MeasuresFilters.MetricFilter) { unfiltered = getMeasuresOfASingleMetric(filter); } else { unfiltered = measuresByMetric.values(); } return filter.filter(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<Measure>(); 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<>(); if (unfiltered != null) { for (Measure measure : unfiltered) { all.add(measure); } } return filter.filter(all); }