From 7fbdc10fe125547f2d61bfcc00aa31a63242d482 Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Fri, 11 Aug 2017 19:41:37 +0200 Subject: [PATCH] SONAR-9616 Add project in api/projectbranches/list --- .../sonar/server/projectbranch/ws/ListAction.java | 13 +++++++------ .../sonar/server/projectbranch/ws/list-example.json | 2 ++ .../server/projectbranch/ws/ListActionTest.java | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/projectbranch/ws/ListAction.java b/server/sonar-server/src/main/java/org/sonar/server/projectbranch/ws/ListAction.java index 77f54fd78b8..4b1d5783cc4 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/projectbranch/ws/ListAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/projectbranch/ws/ListAction.java @@ -112,15 +112,16 @@ public class ListAction implements BranchWsAction { WsBranches.ListWsResponse.Builder protobufResponse = WsBranches.ListWsResponse.newBuilder(); branches.stream() .filter(b -> b.getKeeType().equals(BranchKeyType.BRANCH)) - .forEach(b -> addToProtobuf(protobufResponse, b, mergeBranchesByUuid, metricIdsByKey, measuresByComponentUuids)); + .forEach(b -> addToProtobuf(protobufResponse, b, project, mergeBranchesByUuid, metricIdsByKey, measuresByComponentUuids)); WsUtils.writeProtobuf(protobufResponse.build(), request, response); } } - private static void addToProtobuf(WsBranches.ListWsResponse.Builder response, BranchDto branch, Map mergeBranchesByUuid, + private static void addToProtobuf(WsBranches.ListWsResponse.Builder response, BranchDto branch, ComponentDto project, Map mergeBranchesByUuid, Map metricIdsByKey, Multimap measuresByComponentUuids) { WsBranches.Branch.Builder builder = response.addBranchesBuilder(); setNullable(branch.getKey(), builder::setName); + builder.setProject(project.getKey()); builder.setIsMain(branch.isMain()); builder.setType(WsBranches.Branch.BranchType.valueOf(branch.getBranchType().name())); String mergeBranchUuid = branch.getMergeBranchUuid(); @@ -130,15 +131,16 @@ public class ListAction implements BranchWsAction { setNullable(mergeBranch.getKey(), builder::setMergeBranch); } - Status.Builder statusBuilder = Status.newBuilder(); Collection componentMeasures = measuresByComponentUuids.get(branch.getUuid()); if (branch.getBranchType().equals(LONG)) { + Status.Builder statusBuilder = Status.newBuilder(); int qualityGateStatusMetricId = metricIdsByKey.get(ALERT_STATUS_KEY); componentMeasures.stream().filter(m -> m.getMetricId() == qualityGateStatusMetricId).findAny() - .ifPresent(measure -> statusBuilder.setQualityGateStatus(measure.getData())); + .ifPresent(measure -> builder.setStatus(statusBuilder.setQualityGateStatus(measure.getData()))); } if (branch.getBranchType().equals(SHORT)) { + Status.Builder statusBuilder = Status.newBuilder(); int bugsMetricId = metricIdsByKey.get(BUGS_KEY); componentMeasures.stream().filter(m -> m.getMetricId() == bugsMetricId).findAny() .ifPresent(measure -> statusBuilder.setBugs(measure.getValue().intValue())); @@ -150,9 +152,8 @@ public class ListAction implements BranchWsAction { int codeSmellMetricId = metricIdsByKey.get(CODE_SMELLS_KEY); componentMeasures.stream().filter(m -> m.getMetricId() == codeSmellMetricId).findAny() .ifPresent(measure -> statusBuilder.setCodeSmells(measure.getValue().intValue())); + builder.setStatus(statusBuilder); } - - builder.setStatus(statusBuilder); builder.build(); } diff --git a/server/sonar-server/src/main/resources/org/sonar/server/projectbranch/ws/list-example.json b/server/sonar-server/src/main/resources/org/sonar/server/projectbranch/ws/list-example.json index 0078ef5f40b..f9f9ab6991e 100644 --- a/server/sonar-server/src/main/resources/org/sonar/server/projectbranch/ws/list-example.json +++ b/server/sonar-server/src/main/resources/org/sonar/server/projectbranch/ws/list-example.json @@ -2,11 +2,13 @@ "branches": [ { "name": "feature/bar", + "project": "sonarqube", "isMain": false, "type": "LONG" }, { "name": "feature/foo", + "project": "sonarqube", "isMain": false, "type": "SHORT", "mergeBranch": "feature/bar" diff --git a/server/sonar-server/src/test/java/org/sonar/server/projectbranch/ws/ListActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/projectbranch/ws/ListActionTest.java index 46c8415b6ce..df17348fee6 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/projectbranch/ws/ListActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/projectbranch/ws/ListActionTest.java @@ -229,7 +229,7 @@ public class ListActionTest { @Test public void test_example() { - ComponentDto project = db.components().insertPrivateProject(); + ComponentDto project = db.components().insertPrivateProject(p -> p.setDbKey("sonarqube")); ComponentDto longLivingBranch = db.components().insertProjectBranch(project, b -> b.setKey("feature/bar").setBranchType(BranchType.LONG)); db.components().insertProjectBranch(project, b -> b.setKey("feature/foo").setBranchType(BranchType.SHORT).setMergeBranchUuid(longLivingBranch.uuid())); userSession.logIn().addProjectPermission(UserRole.USER, project); -- 2.39.5