Example #1
0
 @Override
 public Measure addMeasure(Resource resource, Measure measure) {
   Bucket bucket = getBucket(resource);
   if (bucket != null) {
     org.sonar.api.batch.measure.Metric metric = metricFinder.findByKey(measure.getMetricKey());
     if (metric == null) {
       throw new SonarException("Unknown metric: " + measure.getMetricKey());
     }
     if (!isTechnicalProjectCopy(resource)
         && !measure.isFromCore()
         && INTERNAL_METRICS.contains(metric)) {
       LOG.debug(
           "Metric "
               + metric.key()
               + " is an internal metric computed by SonarQube. Provided value is ignored.");
       return measure;
     }
     if (measureCache.contains(resource, measure)) {
       throw new SonarException(
           "Can not add the same measure twice on " + resource + ": " + measure);
     }
     measureCache.put(resource, measure);
   }
   return measure;
 }