Package org.sonar.api.measures

Examples of org.sonar.api.measures.Metric


    }
  }

  private Map loadData(String metricKey, Converter converter) {
    // FIXME no way to load measure only by key
    Measure measure = index.getMeasure(resource, new Metric(metricKey));
    String data = measure != null ? measure.getData() : null;
    if (data != null) {
      return ImmutableMap.copyOf(KeyValueFormat.parse(data, KeyValueFormat.newIntegerConverter(), converter));
    }
    // no such measure
View Full Code Here


  private static Comparable<Integer> parseInteger(String value) {
    return value.contains(".") ? Integer.parseInt(value.substring(0, value.indexOf('.'))) : Integer.parseInt(value);
  }

  private static Comparable getMeasureValue(ResolvedCondition condition, Measure measure) {
    Metric metric = condition.metric();
    if (isADouble(metric)) {
      return getValue(condition, measure);
    }
    if (isAInteger(metric)) {
      return parseInteger(condition, measure);
    }
    if (isAWorkDuration(metric)) {
      return parseLong(condition, measure);
    }
    if (condition.period() == null) {
      return getMeasureValueForStringOrBoolean(metric, measure);
    }
    throw new NotImplementedException(metric.getType().toString());
  }
View Full Code Here

  @Override
  public Measure addMeasure(Resource resource, Measure measure) {
    Bucket bucket = getBucket(resource);
    if (bucket != null) {
      Metric metric = metricFinder.findByKey(measure.getMetricKey());
      if (metric == null) {
        throw new SonarException("Unknown metric: " + measure.getMetricKey());
      }
      if (!isTechnicalProjectCopy(resource) && !measure.isFromCore() && DefaultSensorContext.INTERNAL_METRICS.contains(metric)) {
        LOG.debug("Metric " + metric.key() + " is an internal metric computed by SonarQube. Please update your plugin.");
        return measure;
      }
      measure.setMetric(metric);
      if (measureCache.contains(resource, measure)) {
        throw new SonarException("Can not add the same measure twice on " + resource + ": " + measure);
View Full Code Here

    assertThat(disabledMetrics.size(), is(0));
  }


  private Collection<Metric> createMetrics() {
    Metric m1 = new Metric("metric1");
    m1.setEnabled(false);
    m1.setOrigin(Metric.Origin.JAV);

    Metric m2 = new Metric("metric2");
    m2.setEnabled(true);
    m2.setOrigin(Metric.Origin.JAV);

    Metric m3 = new Metric("metric3");
    m3.setEnabled(false);
    m3.setOrigin(Metric.Origin.GUI);

    Metric m4 = new Metric("metric4");
    m4.setEnabled(true);
    m4.setOrigin(Metric.Origin.GUI);

    Metric m5 = new Metric("metric5");
    m5.setEnabled(true);
    m5.setOrigin(Metric.Origin.WS);

    return Arrays.asList(m1, m2, m3, m4, m5);
  }
View Full Code Here

  }

  @CheckForNull
  private String formatMeasure(@Nullable MeasureDto measure) {
    if (measure != null) {
      Metric metric = CoreMetrics.getMetric(measure.getKey().metricKey());
      Metric.ValueType metricType = metric.getType();
      Double value = measure.getValue();
      String data = measure.getData();

      if (metricType.equals(Metric.ValueType.FLOAT) && value != null) {
        return i18n.formatDouble(UserSession.get().locale(), value);
View Full Code Here

  @CheckForNull
  private String formatVariation(@Nullable MeasureDto measure, Integer periodIndex) {
    if (measure != null) {
      Double variation = measure.getVariation(periodIndex);
      if (variation != null) {
        Metric metric = CoreMetrics.getMetric(measure.getKey().metricKey());
        Metric.ValueType metricType = metric.getType();
        if (metricType.equals(Metric.ValueType.FLOAT) || metricType.equals(Metric.ValueType.PERCENT)) {
          return i18n.formatDouble(UserSession.get().locale(), variation);
        }
        if (metricType.equals(Metric.ValueType.INT)) {
          return i18n.formatInteger(UserSession.get().locale(), variation.intValue());
View Full Code Here

  private void fillSorting(MeasureFilter filter, Map<String, Object> properties) {
    String s = (String) properties.get("sort");
    if (s != null) {
      if (StringUtils.startsWith(s, "metric:")) {
        String[] fields = StringUtils.split(s, ':');
        Metric metric = metricFinder.findByKey(fields[1]);
        if (metric != null) {
          filter.setSortOnMetric(metric);
          if (fields.length == 3) {
            filter.setSortOnPeriod(Integer.parseInt(fields[2]));
          }
View Full Code Here

    MeasureFilterCondition condition = null;
    String metricKey = (String) props.get("c" + index + "_metric");
    String op = (String) props.get("c" + index + "_op");
    String val = (String) props.get("c" + index + "_val");
    if (!Strings.isNullOrEmpty(metricKey) && !Strings.isNullOrEmpty(op) && !Strings.isNullOrEmpty(val)) {
      Metric metric = metricFinder.findByKey(metricKey);
      MeasureFilterCondition.Operator operator = MeasureFilterCondition.Operator.fromCode(op);
      condition = new MeasureFilterCondition(metric, operator, Double.parseDouble(val));
      String period = (String) props.get("c" + index + "_period");
      if (period != null) {
        condition.setPeriod(Integer.parseInt(period));
View Full Code Here

        return input != null ? input.toUpperCase() : "";
      }
    });
    String val = "('" + Joiner.on("', '").join(alertLevelsUppercase) + "')";
    if (!Strings.isNullOrEmpty(metricKey) && !Strings.isNullOrEmpty(op) && !Strings.isNullOrEmpty(val)) {
      Metric metric = metricFinder.findByKey(metricKey);
      MeasureFilterCondition.Operator operator = MeasureFilterCondition.Operator.fromCode(op);
      condition = new MeasureFilterCondition(metric, operator, val);
    }
    return condition;
  }
View Full Code Here

    String metric2Key = "palap";
    QualityGateConditionDto cond1 = new QualityGateConditionDto().setMetricId(metric1Id);
    QualityGateConditionDto cond2 = new QualityGateConditionDto().setMetricId(metric2Id);
    Collection<QualityGateConditionDto> conditions = ImmutableList.of(cond1, cond2);
    when(conditionDao.selectForQualityGate(qGateId)).thenReturn(conditions);
    Metric metric1 = mock(Metric.class);
    when(metric1.getKey()).thenReturn(metric1Key);
    when(metricFinder.findById((int) metric1Id)).thenReturn(metric1);
    Metric metric2 = mock(Metric.class);
    when(metric2.getKey()).thenReturn(metric2Key);
    when(metricFinder.findById((int) metric2Id)).thenReturn(metric2);
    assertThat(qGates.listConditions(qGateId)).isEqualTo(conditions);
    Iterator<QualityGateConditionDto> iterator = conditions.iterator();
    assertThat(iterator.next().getMetricKey()).isEqualTo(metric1Key);
    assertThat(iterator.next().getMetricKey()).isEqualTo(metric2Key);
View Full Code Here

TOP

Related Classes of org.sonar.api.measures.Metric

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.