import static org.sonar.db.component.BranchType.SHORT;
import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001;
import static org.sonar.server.ws.WsUtils.checkFoundWithOptional;
+import static org.sonarqube.ws.Common.BranchType;
import static org.sonarqube.ws.client.projectbranches.ProjectBranchesParameters.ACTION_LIST;
import static org.sonarqube.ws.client.projectbranches.ProjectBranchesParameters.PARAM_PROJECT;
WsBranches.Branch.Builder builder = response.addBranchesBuilder();
setNullable(branch.getKey(), builder::setName);
builder.setIsMain(branch.isMain());
- builder.setType(WsBranches.Branch.BranchType.valueOf(branch.getBranchType().name()));
+ builder.setType(BranchType.valueOf(branch.getBranchType().name()));
String mergeBranchUuid = branch.getMergeBranchUuid();
if (mergeBranchUuid != null) {
BranchDto mergeBranch = mergeBranchesByUuid.get(mergeBranchUuid);
import static org.sonar.db.component.BranchType.SHORT;
import static org.sonar.server.ws.KeyExamples.KEY_BRANCH_EXAMPLE_001;
import static org.sonar.server.ws.KeyExamples.KEY_FILE_EXAMPLE_001;
+import static org.sonarqube.ws.Common.BranchType;
import static org.sonarqube.ws.client.projectbranches.ProjectBranchesParameters.ACTION_SHOW;
import static org.sonarqube.ws.client.projectbranches.ProjectBranchesParameters.PARAM_BRANCH;
import static org.sonarqube.ws.client.projectbranches.ProjectBranchesParameters.PARAM_COMPONENT;
WsBranches.Branch.Builder builder = WsBranches.Branch.newBuilder();
setNullable(branch.getKey(), builder::setName);
builder.setIsMain(branch.isMain());
- builder.setType(WsBranches.Branch.BranchType.valueOf(branch.getBranchType().name()));
+ builder.setType(BranchType.valueOf(branch.getBranchType().name()));
if (mergeBranch != null) {
setNullable(mergeBranch.getKey(), builder::setMergeBranch);
}
import org.sonar.server.exceptions.NotFoundException;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.ws.WsActionTester;
+import org.sonarqube.ws.Common;
import org.sonarqube.ws.MediaTypes;
import org.sonarqube.ws.WsBranches;
import org.sonarqube.ws.WsBranches.Branch;
assertThat(response.getBranchesList())
.extracting(Branch::hasName, Branch::getIsMain, Branch::getType)
- .containsExactlyInAnyOrder(tuple(false, true, Branch.BranchType.LONG));
+ .containsExactlyInAnyOrder(tuple(false, true, Common.BranchType.LONG));
}
@Test
assertThat(response.getBranchesList())
.extracting(Branch::getName, Branch::getType)
.containsExactlyInAnyOrder(
- tuple("", Branch.BranchType.LONG),
- tuple("feature/foo", Branch.BranchType.LONG),
- tuple("feature/bar", Branch.BranchType.LONG));
+ tuple("", Common.BranchType.LONG),
+ tuple("feature/foo", Common.BranchType.LONG),
+ tuple("feature/bar", Common.BranchType.LONG));
}
@Test
assertThat(response.getBranchesList())
.extracting(Branch::getName, Branch::getType, Branch::getMergeBranch)
.containsExactlyInAnyOrder(
- tuple("", Branch.BranchType.LONG, ""),
- tuple(longLivingBranch.getBranch(), Branch.BranchType.LONG, ""),
- tuple(shortLivingBranch.getBranch(), Branch.BranchType.SHORT, longLivingBranch.getBranch()),
- tuple(shortLivingBranchOnMaster.getBranch(), Branch.BranchType.SHORT, ""));
+ tuple("", Common.BranchType.LONG, ""),
+ tuple(longLivingBranch.getBranch(), Common.BranchType.LONG, ""),
+ tuple(shortLivingBranch.getBranch(), Common.BranchType.SHORT, longLivingBranch.getBranch()),
+ tuple(shortLivingBranchOnMaster.getBranch(), Common.BranchType.SHORT, ""));
}
@Test
import org.sonar.server.exceptions.NotFoundException;
import org.sonar.server.tester.UserSessionRule;
import org.sonar.server.ws.WsActionTester;
+import org.sonarqube.ws.Common;
import org.sonarqube.ws.WsBranches.ShowWsResponse;
import static org.assertj.core.api.Assertions.assertThat;
assertThat(response.getBranch())
.extracting(Branch::getName, Branch::getType, Branch::getMergeBranch)
- .containsExactlyInAnyOrder(longLivingBranch.getBranch(), Branch.BranchType.LONG, "");
+ .containsExactlyInAnyOrder(longLivingBranch.getBranch(), Common.BranchType.LONG, "");
}
@Test
assertThat(response.getBranch())
.extracting(Branch::getName, Branch::getType, Branch::getMergeBranch)
- .containsExactlyInAnyOrder(shortLivingBranch.getBranch(), Branch.BranchType.SHORT, longLivingBranch.getBranch());
+ .containsExactlyInAnyOrder(shortLivingBranch.getBranch(), Common.BranchType.SHORT, longLivingBranch.getBranch());
}
@Test
assertThat(response.getBranch())
.extracting(Branch::getName, Branch::getType, Branch::getMergeBranch)
- .containsExactlyInAnyOrder(file.getBranch(), Branch.BranchType.LONG, "");
+ .containsExactlyInAnyOrder(file.getBranch(), Common.BranchType.LONG, "");
}
@Test
BUG = 2;
VULNERABILITY = 3;
}
+
+enum BranchType {
+ // Zero is required in order to not get MAINTAINABILITY as default value
+ // See http://androiddevblog.com/protocol-buffers-pitfall-adding-enum-values/
+ UNKNOWN_BRANCH_TYPE = 0;
+
+ LONG = 1;
+ SHORT = 2;
+}
option java_outer_classname = "WsBranches";
option optimize_for = SPEED;
+import "ws-commons.proto";
// WS api/project_branches/list
message ListWsResponse {
message Branch {
optional string name = 1;
optional bool isMain = 2;
- optional BranchType type = 3;
+ optional sonarqube.ws.commons.BranchType type = 3;
// Merge branch is only present for short living branch
optional string mergeBranch = 4;
optional Status status = 5;
optional int32 codeSmells = 4;
}
- enum BranchType {
- // Zero is required in order to not get MAINTAINABILITY as default value
- // See http://androiddevblog.com/protocol-buffers-pitfall-adding-enum-values/
- UNKNOWN = 0;
-
- LONG = 1;
- SHORT = 2;
- }
}
+
+