public Measure getMeasure(String metricKey) { for (Measure measure : getMeasures()) { if (metricKey.equals(measure.getMetricKey())) { return measure; } } return null; }
private void addAllMeasuresFromDocument(final Measures measures, final Resource resource) { List<org.sonar.wsclient.services.Measure> allNodes = resource.getMeasures(); Iterator<org.sonar.wsclient.services.Measure> it = allNodes.iterator(); while (it.hasNext()) { addMeasureFromNode(measures, it.next()); } try { Date dateNode = resource.getDate(); if (dateNode != null) { measures.setDate(dateNode); } String versionNode = resource.getVersion(); if (versionNode != null) { measures.setVersion(versionNode); } } catch (ParseException e) { LOG.error("Can not parse date", e); } }
private int initMostViolatedRulesFromNode(final Project project, final Resource mostViolatedNode) throws ReportException, IOException { RuleBuilder ruleBuilder = RuleBuilder.getInstance(credentials, sonar); List<org.sonar.wsclient.services.Measure> measuresNode = mostViolatedNode .getMeasures(); Iterator<org.sonar.wsclient.services.Measure> it = measuresNode.iterator(); if (!it.hasNext()) { LOG.warn("There is not result on select //resources/resource/msr"); } int count = 0; while (it.hasNext()) { org.sonar.wsclient.services.Measure measureNode = it.next(); String formattedValueNode = measureNode.getFormattedValue(); if (!formattedValueNode.equals("0")) { Rule rule = ruleBuilder.initFromNode(measureNode); if ("workbook".equals(pdfRefporter.getReportType())) { ruleBuilder.loadViolatedResources(rule, rule.getKey(), project.getKey()); } project.getMostViolatedRules().add(rule); count++; } } return count; }
/** * {@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; }