private String branchUrlOf(Project project, Branch branch) { if (branch.getType() == Branch.Type.LONG) { if (branch.isMain()) { return projectUrlOf(project); } return format("%s/dashboard?branch=%s&id=%s", server.getPublicRootUrl(), encode(branch.getName().orElse("")), encode(project.getKey())); } if (branch.getType() == Branch.Type.SHORT) { return format("%s/project/issues?branch=%s&id=%s&resolved=false", server.getPublicRootUrl(), encode(branch.getName().orElse("")), encode(project.getKey())); } if (branch.getType() == Branch.Type.PULL_REQUEST) { return format("%s/project/issues?pullRequest=%s&id=%s&resolved=false", server.getPublicRootUrl(), encode(branch.getName().orElse("")), encode(project.getKey())); } return projectUrlOf(project); }
@Test public void verify_getters() { assertThat(underTest.isMain()).isTrue(); assertThat(underTest.getName()).contains("b"); assertThat(underTest.getType()).isEqualTo(Branch.Type.SHORT); Branch underTestWithNull = new Branch(false, null, Branch.Type.LONG); assertThat(underTestWithNull.isMain()).isFalse(); assertThat(underTestWithNull.getName()).isEmpty(); assertThat(underTestWithNull.getType()).isEqualTo(Branch.Type.LONG); } }
private void writeBranch(JsonWriter writer, Project project, Branch branch) { writer .name("branch") .beginObject() .prop("name", branch.getName().orElse(null)) .prop("type", branch.getType().name()) .prop("isMain", branch.isMain()) .prop("url", branchUrlOf(project, branch)) .endObject(); }
private String branchUrlOf(Project project, Branch branch) { if (branch.getType() == Branch.Type.LONG) { if (branch.isMain()) { return projectUrlOf(project); } return format("%s/dashboard?branch=%s&id=%s", server.getPublicRootUrl(), encode(branch.getName().orElse("")), encode(project.getKey())); } if (branch.getType() == Branch.Type.SHORT) { return format("%s/project/issues?branch=%s&id=%s&resolved=false", server.getPublicRootUrl(), encode(branch.getName().orElse("")), encode(project.getKey())); } if (branch.getType() == Branch.Type.PULL_REQUEST) { return format("%s/project/issues?pullRequest=%s&id=%s&resolved=false", server.getPublicRootUrl(), encode(branch.getName().orElse("")), encode(project.getKey())); } return projectUrlOf(project); }
private void writeBranch(JsonWriter writer, Project project, Branch branch) { writer .name("branch") .beginObject() .prop("name", branch.getName().orElse(null)) .prop("type", branch.getType().name()) .prop("isMain", branch.isMain()) .prop("url", branchUrlOf(project, branch)) .endObject(); }