diff options
Diffstat (limited to 'sonar-plugin-api-impl/src/main/java')
2 files changed, 13 insertions, 2 deletions
diff --git a/sonar-plugin-api-impl/src/main/java/org/sonar/api/batch/sensor/internal/InMemorySensorStorage.java b/sonar-plugin-api-impl/src/main/java/org/sonar/api/batch/sensor/internal/InMemorySensorStorage.java index de7add875be..0b4d729aee8 100644 --- a/sonar-plugin-api-impl/src/main/java/org/sonar/api/batch/sensor/internal/InMemorySensorStorage.java +++ b/sonar-plugin-api-impl/src/main/java/org/sonar/api/batch/sensor/internal/InMemorySensorStorage.java @@ -57,6 +57,7 @@ class InMemorySensorStorage implements SensorStorage { Map<String, List<DefaultCoverage>> coverageByComponent = new HashMap<>(); Map<String, DefaultSymbolTable> symbolsPerComponent = new HashMap<>(); Map<String, String> contextProperties = new HashMap<>(); + Map<String, String> telemetryEntries = new HashMap<>(); Map<String, DefaultSignificantCode> significantCodePerComponent = new HashMap<>(); @Override @@ -132,6 +133,15 @@ class InMemorySensorStorage implements SensorStorage { contextProperties.put(key, value); } + public void storeTelemetry(String key, String value) { + checkArgument(key != null, "Key of context property must not be null"); + checkArgument(value != null, "Value of context property must not be null"); + + if (telemetryEntries.size() < 1000 || telemetryEntries.containsKey(key)) { + telemetryEntries.put(key, value); + } + } + @Override public void store(ExternalIssue issue) { allExternalIssues.add(issue); diff --git a/sonar-plugin-api-impl/src/main/java/org/sonar/api/batch/sensor/internal/SensorContextTester.java b/sonar-plugin-api-impl/src/main/java/org/sonar/api/batch/sensor/internal/SensorContextTester.java index ca8aae07c0f..c94a0ccaff0 100644 --- a/sonar-plugin-api-impl/src/main/java/org/sonar/api/batch/sensor/internal/SensorContextTester.java +++ b/sonar-plugin-api-impl/src/main/java/org/sonar/api/batch/sensor/internal/SensorContextTester.java @@ -442,8 +442,9 @@ public class SensorContextTester implements SensorContext { } @Override - public void addTelemetryProperty(String s, String s1) { - throw new UnsupportedOperationException("addTelemetryProperty"); + public void addTelemetryProperty(String key, String value) { + //No Need to check the source of the plugin in the tester + sensorStorage.storeTelemetry(key, value); } public void setCacheEnabled(boolean enabled) { |