diff options
author | Steve Marion <steve.marion@sonarsource.com> | 2025-03-01 02:45:09 +0100 |
---|---|---|
committer | Matteo Mara <matteo.mara@sonarsource.com> | 2025-03-17 22:23:55 +0100 |
commit | 051b18e3e260ca068f480d08c7cee6ad8c951db6 (patch) | |
tree | 9ae40fc195d309c2f6e3294903ed21a24cd5f5b3 | |
parent | 8dda5ad3e9824137ae6c273c69e7db70459fef16 (diff) | |
download | sonarqube-051b18e3e260ca068f480d08c7cee6ad8c951db6.tar.gz sonarqube-051b18e3e260ca068f480d08c7cee6ad8c951db6.zip |
SONAR-24233 Add web api v2 architecture domain and file-graph endpoint.
5 files changed, 7 insertions, 5 deletions
diff --git a/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/architecture/ArchitectureSensor.java b/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/architecture/ArchitectureSensor.java index e8fbc623c87..e3e75a9932f 100644 --- a/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/architecture/ArchitectureSensor.java +++ b/plugins/sonar-xoo-plugin/src/main/java/org/sonar/xoo/architecture/ArchitectureSensor.java @@ -36,7 +36,7 @@ public class ArchitectureSensor implements ProjectSensor { @Override public void execute(SensorContext context) { - final String mimeType = "application/file-graph+json;version=1.0;source=xoo"; + final String mimeType = "application/file_graph+json;version=1.0"; long count = StreamSupport.stream( context.fileSystem().inputFiles( @@ -44,14 +44,14 @@ public class ArchitectureSensor implements ProjectSensor { .count(); context.addAnalysisData( - Xoo.NAME + ".class_file_graph", + "architecture.file_graph.java", mimeType, new ByteArrayInputStream(("{graph:\"data\", \"classCount\":" + count + "}") .getBytes(StandardCharsets.UTF_8)) ); context.addAnalysisData( - Xoo.NAME + ".file_graph", + "architecture.file_graph." + Xoo.KEY, mimeType, new ByteArrayInputStream(("{graph:\"data\", \"fileCount\":" + count + "}") .getBytes(StandardCharsets.UTF_8)) diff --git a/plugins/sonar-xoo-plugin/src/test/java/org/sonar/xoo/architecture/ArchitectureSensorTest.java b/plugins/sonar-xoo-plugin/src/test/java/org/sonar/xoo/architecture/ArchitectureSensorTest.java index 09e46c9a21d..d1bac6b14b6 100644 --- a/plugins/sonar-xoo-plugin/src/test/java/org/sonar/xoo/architecture/ArchitectureSensorTest.java +++ b/plugins/sonar-xoo-plugin/src/test/java/org/sonar/xoo/architecture/ArchitectureSensorTest.java @@ -76,7 +76,7 @@ public class ArchitectureSensorTest { // then ArgumentCaptor<InputStream> inputStreamCaptor = ArgumentCaptor.forClass(InputStream.class); - verify(context).addAnalysisData(eq(Xoo.NAME + ".file_graph"), contains("application/file-graph+json"), inputStreamCaptor.capture()); + verify(context).addAnalysisData(eq("architecture.file_graph.xoo"), contains("application/file_graph+json"), inputStreamCaptor.capture()); try { String capturedData = new String(inputStreamCaptor.getValue().readAllBytes(), StandardCharsets.UTF_8); assertThat(capturedData).contains("\"fileCount\":" + nbFileSensor); diff --git a/server/sonar-db-core/src/main/java/org/sonar/db/version/SqTables.java b/server/sonar-db-core/src/main/java/org/sonar/db/version/SqTables.java index 6e5d6d34e74..8f54baa76c7 100644 --- a/server/sonar-db-core/src/main/java/org/sonar/db/version/SqTables.java +++ b/server/sonar-db-core/src/main/java/org/sonar/db/version/SqTables.java @@ -36,6 +36,7 @@ public final class SqTables { "analysis_properties", "app_branch_project_branch", "app_projects", + "architecture_graphs", "audits", "ce_activity", "ce_queue", diff --git a/sonar-scanner-engine/src/it/java/org/sonar/scanner/mediumtest/analysisdata/AnalysisDataIT.java b/sonar-scanner-engine/src/it/java/org/sonar/scanner/mediumtest/analysisdata/AnalysisDataIT.java index 732d759264c..7f56cb87cce 100644 --- a/sonar-scanner-engine/src/it/java/org/sonar/scanner/mediumtest/analysisdata/AnalysisDataIT.java +++ b/sonar-scanner-engine/src/it/java/org/sonar/scanner/mediumtest/analysisdata/AnalysisDataIT.java @@ -63,6 +63,6 @@ public class AnalysisDataIT { // then List<ScannerReport.AnalysisData> analysisData = result.analysisData(); assertThat(analysisData) - .anyMatch(data -> data.getKey().equals(Xoo.NAME + ".file_graph")); + .anyMatch(data -> data.getKey().equals("architecture.file_graph." + Xoo.KEY)); } } diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorStorage.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorStorage.java index dfc6df5050c..0ff5109124d 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorStorage.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorStorage.java @@ -488,6 +488,7 @@ public class DefaultSensorStorage implements SensorStorage { try (data) { ScannerReport.AnalysisData analysisData = ScannerReport.AnalysisData.newBuilder() .setKey(key) + .setMimeType(mimeType) .setData(ByteString.readFrom(data)) .build(); ScannerReportWriter writer = reportPublisher.getWriter(); |