From 19262cd01b85fd1292b15c87e342d20ec43c17a9 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Wed, 4 Jun 2014 12:30:56 +0200 Subject: [PATCH] SONAR-5254 replace parameter "group_commits" (default "true") by "commits_by_line" (default "false") --- .../org/sonar/server/source/ws/ScmAction.java | 9 +++++---- .../org/sonar/server/source/ws/ScmWriter.java | 4 ++-- .../sonar/server/source/ws/ScmActionTest.java | 10 +++++----- .../sonar/server/source/ws/ScmWriterTest.java | 16 ++++++++-------- 4 files changed, 20 insertions(+), 19 deletions(-) diff --git a/sonar-server/src/main/java/org/sonar/server/source/ws/ScmAction.java b/sonar-server/src/main/java/org/sonar/server/source/ws/ScmAction.java index 978e7e27ba7..7a286824277 100644 --- a/sonar-server/src/main/java/org/sonar/server/source/ws/ScmAction.java +++ b/sonar-server/src/main/java/org/sonar/server/source/ws/ScmAction.java @@ -69,10 +69,11 @@ public class ScmAction implements RequestHandler { .setExampleValue("20"); action - .createParam("group_commits") - .setDescription("Group lines by SCM commit") + .createParam("commits_by_line") + .setDescription("Group lines by SCM commit if value is false, else display commits for each line, even if two " + + "consecutive lines relate to the same commit.") .setBooleanPossibleValues() - .setDefaultValue("true"); + .setDefaultValue("false"); } @Override @@ -85,7 +86,7 @@ public class ScmAction implements RequestHandler { JsonWriter json = response.newJsonWriter().beginObject(); int from = Math.max(request.mandatoryParamAsInt("from"), 1); int to = (Integer) ObjectUtils.defaultIfNull(request.paramAsInt("to"), Integer.MAX_VALUE); - scmWriter.write(authors, dates, from, to, request.mandatoryParamAsBoolean("group_commits"), json); + scmWriter.write(authors, dates, from, to, request.mandatoryParamAsBoolean("commits_by_line"), json); json.endObject().close(); } } diff --git a/sonar-server/src/main/java/org/sonar/server/source/ws/ScmWriter.java b/sonar-server/src/main/java/org/sonar/server/source/ws/ScmWriter.java index c3be42b4ad7..d6d45facf97 100644 --- a/sonar-server/src/main/java/org/sonar/server/source/ws/ScmWriter.java +++ b/sonar-server/src/main/java/org/sonar/server/source/ws/ScmWriter.java @@ -30,7 +30,7 @@ import java.util.Map; public class ScmWriter implements ServerComponent { - void write(@Nullable String authorsData, @Nullable String datesData, int from, int to, boolean group, JsonWriter json) { + void write(@Nullable String authorsData, @Nullable String datesData, int from, int to, boolean showCommitsByLine, JsonWriter json) { json.name("scm").beginArray(); if (authorsData != null) { Map authors = KeyValueFormat.parseIntString(authorsData); @@ -45,7 +45,7 @@ public class ScmWriter implements ServerComponent { String date = dates.get(line); String formattedDate = DateUtils.formatDate(DateUtils.parseDateTime(date)); if (line >= from && line <= to) { - if (!started || !group || !isSameCommit(date, previousDate, author, previousAuthor)) { + if (!started || showCommitsByLine || !isSameCommit(date, previousDate, author, previousAuthor)) { json.beginArray(); json.value(line); json.value(author); diff --git a/sonar-server/src/test/java/org/sonar/server/source/ws/ScmActionTest.java b/sonar-server/src/test/java/org/sonar/server/source/ws/ScmActionTest.java index 9d3c349998f..629c15b0fa2 100644 --- a/sonar-server/src/test/java/org/sonar/server/source/ws/ScmActionTest.java +++ b/sonar-server/src/test/java/org/sonar/server/source/ws/ScmActionTest.java @@ -44,7 +44,7 @@ public class ScmActionTest { WsTester.TestRequest request = tester.newGetRequest("api/sources", "scm").setParam("key", fileKey); request.execute(); - verify(scmWriter).write(eq("1=julien"), eq("1=2013-01-01"), eq(1), eq(Integer.MAX_VALUE), eq(true), any(JsonWriter.class)); + verify(scmWriter).write(eq("1=julien"), eq("1=2013-01-01"), eq(1), eq(Integer.MAX_VALUE), eq(false), any(JsonWriter.class)); } @Test @@ -53,9 +53,9 @@ public class ScmActionTest { when(sourceService.getScmAuthorData(fileKey)).thenReturn("1=julien"); when(sourceService.getScmDateData(fileKey)).thenReturn("1=2013-01-01"); - WsTester.TestRequest request = tester.newGetRequest("api/sources", "scm").setParam("key", fileKey).setParam("group_commits", "false"); + WsTester.TestRequest request = tester.newGetRequest("api/sources", "scm").setParam("key", fileKey).setParam("commits_by_line", "true"); request.execute(); - verify(scmWriter).write(eq("1=julien"), eq("1=2013-01-01"), eq(1), eq(Integer.MAX_VALUE), eq(false), any(JsonWriter.class)); + verify(scmWriter).write(eq("1=julien"), eq("1=2013-01-01"), eq(1), eq(Integer.MAX_VALUE), eq(true), any(JsonWriter.class)); } @Test @@ -66,7 +66,7 @@ public class ScmActionTest { WsTester.TestRequest request = tester.newGetRequest("api/sources", "scm").setParam("key", fileKey).setParam("from", "3").setParam("to", "20"); request.execute(); - verify(scmWriter).write(eq("1=julien"), eq("1=2013-01-01"), eq(3), eq(20), eq(true), any(JsonWriter.class)); + verify(scmWriter).write(eq("1=julien"), eq("1=2013-01-01"), eq(3), eq(20), eq(false), any(JsonWriter.class)); } @Test @@ -77,6 +77,6 @@ public class ScmActionTest { WsTester.TestRequest request = tester.newGetRequest("api/sources", "scm").setParam("key", fileKey).setParam("from", "-3").setParam("to", "20"); request.execute(); - verify(scmWriter).write(eq("1=julien"), eq("1=2013-01-01"), eq(1), eq(20), eq(true), any(JsonWriter.class)); + verify(scmWriter).write(eq("1=julien"), eq("1=2013-01-01"), eq(1), eq(20), eq(false), any(JsonWriter.class)); } } diff --git a/sonar-server/src/test/java/org/sonar/server/source/ws/ScmWriterTest.java b/sonar-server/src/test/java/org/sonar/server/source/ws/ScmWriterTest.java index 62ce9715788..bec891ff22c 100644 --- a/sonar-server/src/test/java/org/sonar/server/source/ws/ScmWriterTest.java +++ b/sonar-server/src/test/java/org/sonar/server/source/ws/ScmWriterTest.java @@ -33,7 +33,7 @@ public class ScmWriterTest { @Test public void write_authors_and_dates() throws Exception { // same commit on lines 1 and 2 - test("1=julien;2=julien;3=simon;", "1=2013-03-13T16:22:31+0100;2=2013-03-13T16:22:31+0100;3=2014-01-01T16:22:31+0100;", 1, Integer.MAX_VALUE, false, + test("1=julien;2=julien;3=simon;", "1=2013-03-13T16:22:31+0100;2=2013-03-13T16:22:31+0100;3=2014-01-01T16:22:31+0100;", 1, Integer.MAX_VALUE, true, "{\"scm\": [[1, \"julien\", \"2013-03-13\"], [2, \"julien\", \"2013-03-13\"], [3, \"simon\", \"2014-01-01\"]]}"); } @@ -42,9 +42,9 @@ public class ScmWriterTest { String authors = "1=julien;2=simon;"; String dates = "1=2013-03-13T16:22:31+0100;2=2014-01-01T16:22:31+0100;"; - test(authors, dates, 2, 200, false, "{\"scm\": [[2, \"simon\", \"2014-01-01\"]]}"); - test(authors, dates, 3, 5, false, "{\"scm\": []}"); - test(authors, dates, -2, 1, false, "{\"scm\": [[1, \"julien\", \"2013-03-13\"]]}"); + test(authors, dates, 2, 200, true, "{\"scm\": [[2, \"simon\", \"2014-01-01\"]]}"); + test(authors, dates, 3, 5, true, "{\"scm\": []}"); + test(authors, dates, -2, 1, true, "{\"scm\": [[1, \"julien\", \"2013-03-13\"]]}"); } @Test @@ -53,14 +53,14 @@ public class ScmWriterTest { String authors = "1=julien;2=julien;3=julien;4=simon;"; String dates = "1=2013-03-13T16:22:31+0100;2=2013-03-13T16:22:31+0100;3=2013-03-14T16:22:31+0100;4=2014-01-01T16:22:31+0100"; - test(authors, dates, 1, Integer.MAX_VALUE, true, + test(authors, dates, 1, Integer.MAX_VALUE, false, "{\"scm\": [[1, \"julien\", \"2013-03-13\"], [3, \"julien\", \"2013-03-14\"], [4, \"simon\", \"2014-01-01\"]]}"); - test(authors, dates, 2, 4, true, + test(authors, dates, 2, 4, false, "{\"scm\": [[2, \"julien\", \"2013-03-13\"], [3, \"julien\", \"2013-03-14\"], [4, \"simon\", \"2014-01-01\"]]}"); - test(authors, dates, 1, 2, true, "{\"scm\": [[1, \"julien\", \"2013-03-13\"]]}"); - test(authors, dates, 10, 20, true, "{\"scm\": []}"); + test(authors, dates, 1, 2, false, "{\"scm\": [[1, \"julien\", \"2013-03-13\"]]}"); + test(authors, dates, 10, 20, false, "{\"scm\": []}"); } -- 2.39.5