package org.sonar.plugin.cql;
import org.apache.commons.lang.math.RandomUtils;
import org.sonar.api.batch.Sensor;
import org.sonar.api.batch.SensorContext;
import org.sonar.api.measures.Measure;
import org.sonar.api.resources.Project;
public class SampleSensor implements Sensor {
public boolean shouldExecuteOnProject(Project project) {
// this sensor is executed on any type of project
return true;
}
public void analyse(Project project, SensorContext sensorContext) {
saveLabelMeasure(sensorContext);
saveNumericMeasure(sensorContext);
}
private void saveNumericMeasure(SensorContext context) {
// Sonar API includes many libraries like commons-lang and google-collections
context.saveMeasure(SampleMetrics.RANDOM, RandomUtils.nextDouble());
}
private void saveLabelMeasure(SensorContext context) {
Measure measure = new Measure(SampleMetrics.MESSAGE, "Hello World!");
context.saveMeasure(measure);
}
}