public String apply(Metric metric) { return metric.getKey(); } });
@Override protected Metric parse(Object json) { WSUtils utils = WSUtils.getINSTANCE(); return new Metric() .setKey(utils.getString(json, "key")) .setName(utils.getString(json, "name")) .setDomain(utils.getString(json, "domain")) .setDescription(utils.getString(json, "description")) .setDirection(utils.getInteger(json, "direction")) .setType(utils.getString(json, "val_type")) .setUserManaged(utils.getBoolean(json, "user_managed")) .setHidden(utils.getBoolean(json, "hidden")); } }
/** * {@inheritDoc} */ public List<IMeasure> getMeasures() { Map<String, Metric> metricsByKey = index.getMetrics(); Set<String> keys = metricsByKey.keySet(); String[] metricKeys = keys.toArray(new String[keys.size()]); ResourceQuery query = ResourceQuery.createForMetrics(getKey(), metricKeys); Resource resource = index.getSonar().find(query); List<IMeasure> result = Lists.newArrayList(); for (Measure measure : resource.getMeasures()) { final Metric metric = metricsByKey.get(measure.getMetricKey()); final String value = measure.getFormattedValue(); // Hacks around SONAR-1620 if ( !metric.getHidden() && !"DATA".equals(metric.getType()) && StringUtils.isNotBlank(measure.getFormattedValue())) { result.add(new MeasureData().setMetricDef(metric).setValue(value)); } } return result; }
public static Map<String, List<Metric>> splitByDomain(Collection<Metric> metrics) { Map<String, List<Metric>> result = new HashMap<String, List<Metric>>(); for (Metric metric : metrics) { String domain = metric.getDomain(); List<Metric> domainMetrics; if (result.containsKey(domain)) { domainMetrics = result.get(domain); } else { domainMetrics = new ArrayList<Metric>(); result.put(domain, domainMetrics); } domainMetrics.add(metric); } return result; }
public List<String> getAllMetricKeys() throws HttpException, IOException { MetricQuery query = MetricQuery.all(); List<Metric> allMetricKeysNodes = sonar.findAll(query); List<String> allMetricKeys = new ArrayList<String>(); Iterator<Metric> it = allMetricKeysNodes.iterator(); while (it.hasNext()) { allMetricKeys.add(it.next().getKey()); } return allMetricKeys; }