From 3465bcba03dbd87f85f032f5cf5a2de897dace75 Mon Sep 17 00:00:00 2001 From: Ndacyayisenga-droid Date: Thu, 16 May 2024 16:06:18 +0300 Subject: [PATCH 1/2] Filter measurements by branch --- .../server/store/endpoints/MeasurementEndpoint.java | 12 +++++++----- .../store/repositories/MeasurementRepository.java | 4 ++++ .../server/store/services/MeasurementService.java | 6 ++++++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/server/src/main/java/com/openelements/benchscape/server/store/endpoints/MeasurementEndpoint.java b/server/src/main/java/com/openelements/benchscape/server/store/endpoints/MeasurementEndpoint.java index a93fb108..4e03a18b 100644 --- a/server/src/main/java/com/openelements/benchscape/server/store/endpoints/MeasurementEndpoint.java +++ b/server/src/main/java/com/openelements/benchscape/server/store/endpoints/MeasurementEndpoint.java @@ -21,11 +21,7 @@ import java.util.Optional; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.format.annotation.DateTimeFormat; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; @CrossOrigin @RestController @@ -123,4 +119,10 @@ List findByQuery(@RequestParam final String benchmarkId, return measurements; } } + + @GetMapping("/{benchmarkId}/branches") + public List getBranchesForBenchmark(@PathVariable String benchmarkId) { + return measurementService.getBranchesForBenchmark(benchmarkId); + } } + diff --git a/server/src/main/java/com/openelements/benchscape/server/store/repositories/MeasurementRepository.java b/server/src/main/java/com/openelements/benchscape/server/store/repositories/MeasurementRepository.java index 958a942c..83ce2668 100644 --- a/server/src/main/java/com/openelements/benchscape/server/store/repositories/MeasurementRepository.java +++ b/server/src/main/java/com/openelements/benchscape/server/store/repositories/MeasurementRepository.java @@ -41,4 +41,8 @@ public interface MeasurementRepository extends EntityWithTenantRepository findLast(final UUID benchmarkId); + + @NonNull + @Query("SELECT DISTINCT m.metadata.gitBranch FROM Measurement m WHERE m.benchmarkId = ?1") + List findDistinctBranchesByBenchmarkId(UUID benchmarkId); } diff --git a/server/src/main/java/com/openelements/benchscape/server/store/services/MeasurementService.java b/server/src/main/java/com/openelements/benchscape/server/store/services/MeasurementService.java index 1e04c615..db79cd6f 100644 --- a/server/src/main/java/com/openelements/benchscape/server/store/services/MeasurementService.java +++ b/server/src/main/java/com/openelements/benchscape/server/store/services/MeasurementService.java @@ -186,4 +186,10 @@ public DateTimePeriode getPeriode(@NonNull final UUID benchmarkId) { .orElseThrow(() -> new IllegalArgumentException("No measurement for benchmark " + benchmarkId)); return DateTimePeriode.between(start, end); } + + @NonNull + public List getBranchesForBenchmark(@NonNull final String benchmarkId) { + Objects.requireNonNull(benchmarkId, "benchmarkId must not be null"); + return measurementRepository.findDistinctBranchesByBenchmarkId(UUID.fromString(benchmarkId)); + } } From 7c9080bcc63348cc6dd29181b879f628347e4231 Mon Sep 17 00:00:00 2001 From: Tayebwa Noah <58124613+Ndacyayisenga-droid@users.noreply.github.com> Date: Fri, 17 May 2024 13:44:44 +0300 Subject: [PATCH 2/2] Update MeasurementEndpoint.java --- .../benchscape/server/store/endpoints/MeasurementEndpoint.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/main/java/com/openelements/benchscape/server/store/endpoints/MeasurementEndpoint.java b/server/src/main/java/com/openelements/benchscape/server/store/endpoints/MeasurementEndpoint.java index 4e03a18b..45dceb4e 100644 --- a/server/src/main/java/com/openelements/benchscape/server/store/endpoints/MeasurementEndpoint.java +++ b/server/src/main/java/com/openelements/benchscape/server/store/endpoints/MeasurementEndpoint.java @@ -121,7 +121,7 @@ List findByQuery(@RequestParam final String benchmarkId, } @GetMapping("/{benchmarkId}/branches") - public List getBranchesForBenchmark(@PathVariable String benchmarkId) { + public List getGitBranchesForBenchmark(@PathVariable String benchmarkId) { return measurementService.getBranchesForBenchmark(benchmarkId); } }