From c9fa038627c1f7e0ede57d93269b43a001c8d04a Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Tue, 28 Jan 2014 10:39:40 +0100 Subject: [PATCH] Add a first entry in the issue changelog containing date of issue's creation --- .../org/sonar/server/issue/ws/IssueShowWsHandler.java | 11 +++++++++-- .../sonar/server/issue/ws/IssueShowWsHandlerTest.java | 8 +++++++- .../issue/ws/IssueShowWsHandlerTest/show_issue.json | 9 ++++++++- .../show_issue_with_action_plan.json | 9 ++++++++- .../show_issue_with_actions.json | 9 ++++++++- .../show_issue_with_actions_defined_by_plugins.json | 9 ++++++++- .../show_issue_with_assign_to_me_action.json | 9 ++++++++- .../show_issue_with_changelog.json | 6 ++++++ .../show_issue_with_comments.json | 9 ++++++++- .../IssueShowWsHandlerTest/show_issue_with_dates.json | 8 +++++++- .../show_issue_with_set_severity_action.json | 9 ++++++++- .../show_issue_with_technical_debt.json | 9 ++++++++- .../show_issue_with_transitions.json | 9 ++++++++- .../IssueShowWsHandlerTest/show_issue_with_users.json | 9 ++++++++- .../show_issue_without_assign_to_me_action.json | 9 ++++++++- 15 files changed, 117 insertions(+), 15 deletions(-) diff --git a/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueShowWsHandler.java b/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueShowWsHandler.java index c8e5f77fd87..9f5c0c6c97d 100644 --- a/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueShowWsHandler.java +++ b/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueShowWsHandler.java @@ -186,7 +186,15 @@ public class IssueShowWsHandler implements RequestHandler { } private void writeChangelog(Issue issue, JsonWriter json) { - json.name("changelog").beginArray(); + json.name("changelog").beginArray() + .beginObject() + .prop("creationDate", DateUtils.formatDateTime(issue.creationDate())) + .prop("fCreationDate", formatDate(issue.creationDate())) + .name("diffs").beginArray() + .value(i18n.message(UserSession.get().locale(), "created", null)) + .endArray() + .endObject(); + IssueChangelog changelog = issueChangelogService.changelog(issue); for (FieldDiffs diffs : changelog.changes()) { String userLogin = diffs.userLogin(); @@ -195,7 +203,6 @@ public class IssueShowWsHandler implements RequestHandler { .prop("userName", userLogin != null ? changelog.user(diffs).name() : null) .prop("creationDate", DateUtils.formatDateTime(diffs.creationDate())) .prop("fCreationDate", formatDate(diffs.creationDate())); - json.name("diffs").beginArray(); List diffsFormatted = issueChangelogService.formatDiffs(diffs); for (String diff : diffsFormatted) { diff --git a/sonar-server/src/test/java/org/sonar/server/issue/ws/IssueShowWsHandlerTest.java b/sonar-server/src/test/java/org/sonar/server/issue/ws/IssueShowWsHandlerTest.java index 7ef9cb93c40..1959e1babf1 100644 --- a/sonar-server/src/test/java/org/sonar/server/issue/ws/IssueShowWsHandlerTest.java +++ b/sonar-server/src/test/java/org/sonar/server/issue/ws/IssueShowWsHandlerTest.java @@ -131,6 +131,9 @@ public class IssueShowWsHandlerTest { .setCreationDate(DateUtils.parseDateTime("2014-01-22T19:10:03+0100")); issues.add(issue); + when(i18n.formatDateTime(any(Locale.class), eq(issue.creationDate()))).thenReturn("Jan 22, 2014 10:03 AM"); + when(i18n.message(any(Locale.class), eq("created"), eq((String) null))).thenReturn("Created"); + MockUserSession.set(); WsTester.TestRequest request = tester.newRequest("show").setParam("key", issueKey); request.execute().assertJson(getClass(), "show_issue.json"); @@ -344,11 +347,14 @@ public class IssueShowWsHandlerTest { } private DefaultIssue createStandardIssue() { - return new DefaultIssue() + DefaultIssue issue = new DefaultIssue() .setKey("ABCD") .setComponentKey("org.sonar.server.issue.IssueClient") .setProjectKey("org.sonar.Sonar") .setRuleKey(RuleKey.of("squid", "AvoidCycle")) .setCreationDate(DateUtils.parseDateTime("2014-01-22T19:10:03+0100")); + when(i18n.formatDateTime(any(Locale.class), eq(issue.creationDate()))).thenReturn("Jan 22, 2014 10:03 AM"); + when(i18n.message(any(Locale.class), eq("created"), eq((String) null))).thenReturn("Created"); + return issue; } } diff --git a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue.json b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue.json index 08bddf8422e..be5cd9c8346 100644 --- a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue.json +++ b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue.json @@ -14,9 +14,16 @@ "status": "CLOSED", "severity": "MAJOR", "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", "transitions": [], "actions": [], "comments": [], - "changelog": [] + "changelog": [ + { + "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", + "diffs": ["Created"] + } + ] } } diff --git a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_action_plan.json b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_action_plan.json index dc9d14e6222..49f7db8f8c0 100644 --- a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_action_plan.json +++ b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_action_plan.json @@ -11,9 +11,16 @@ "actionPlan" : "AP-ABCD", "actionPlanName" : "Version 4.2", "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", "transitions": [], "actions": [], "comments": [], - "changelog": [] + "changelog": [ + { + "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", + "diffs": ["Created"] + } + ] } } diff --git a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_actions.json b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_actions.json index ddf54a26eda..011a92460cb 100644 --- a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_actions.json +++ b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_actions.json @@ -10,11 +10,18 @@ "ruleName": "Avoid cycle", "status": "OPEN", "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", "transitions": [], "actions": [ "comment", "assign", "assign_to_me", "plan" ], "comments": [], - "changelog": [] + "changelog": [ + { + "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", + "diffs": ["Created"] + } + ] } } diff --git a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_actions_defined_by_plugins.json b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_actions_defined_by_plugins.json index 38fd6674cb8..1b75cbc5b7c 100644 --- a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_actions_defined_by_plugins.json +++ b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_actions_defined_by_plugins.json @@ -10,11 +10,18 @@ "ruleName": "Avoid cycle", "status": "OPEN", "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", "transitions": [], "actions": [ "comment", "assign", "assign_to_me", "plan", "link-to-jira" ], "comments": [], - "changelog": [] + "changelog": [ + { + "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", + "diffs": ["Created"] + } + ] } } diff --git a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_assign_to_me_action.json b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_assign_to_me_action.json index ddf54a26eda..011a92460cb 100644 --- a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_assign_to_me_action.json +++ b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_assign_to_me_action.json @@ -10,11 +10,18 @@ "ruleName": "Avoid cycle", "status": "OPEN", "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", "transitions": [], "actions": [ "comment", "assign", "assign_to_me", "plan" ], "comments": [], - "changelog": [] + "changelog": [ + { + "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", + "diffs": ["Created"] + } + ] } } diff --git a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_changelog.json b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_changelog.json index 91e9d375473..35bc7c3ef59 100644 --- a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_changelog.json +++ b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_changelog.json @@ -9,10 +9,16 @@ "rule": "squid:AvoidCycle", "ruleName": "Avoid cycle", "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", "transitions": [], "actions": [], "comments": [], "changelog": [ + { + "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", + "diffs": ["Created"] + }, { "userName": "John", "creationDate": "2014-02-22T19:10:03+0100", diff --git a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_comments.json b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_comments.json index 39be419acda..1e863053a9b 100644 --- a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_comments.json +++ b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_comments.json @@ -9,6 +9,7 @@ "rule": "squid:AvoidCycle", "ruleName": "Avoid cycle", "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", "transitions": [], "actions": ["comment", "assign", "assign_to_me", "plan"], "comments": [ @@ -31,6 +32,12 @@ "updatable": true } ], - "changelog": [] + "changelog": [ + { + "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", + "diffs": ["Created"] + } + ] } } diff --git a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_dates.json b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_dates.json index 9de9bd41d9d..67db98ec7c1 100644 --- a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_dates.json +++ b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_dates.json @@ -18,6 +18,12 @@ "transitions": [], "actions": [], "comments": [], - "changelog": [] + "changelog": [ + { + "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", + "diffs": ["Created"] + } + ] } } diff --git a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_set_severity_action.json b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_set_severity_action.json index 84547bc88ad..9e2ce2a3daa 100644 --- a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_set_severity_action.json +++ b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_set_severity_action.json @@ -10,11 +10,18 @@ "ruleName": "Avoid cycle", "status": "OPEN", "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", "transitions": [], "actions": [ "comment", "assign", "assign_to_me", "plan", "set_severity" ], "comments": [], - "changelog": [] + "changelog": [ + { + "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", + "diffs": ["Created"] + } + ] } } diff --git a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_technical_debt.json b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_technical_debt.json index a65353a2264..f938630cfaa 100644 --- a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_technical_debt.json +++ b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_technical_debt.json @@ -10,9 +10,16 @@ "ruleName": "Avoid cycle", "debt": "2 hours 1 minutes", "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", "transitions": [], "actions": [], "comments": [], - "changelog": [] + "changelog": [ + { + "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", + "diffs": ["Created"] + } + ] } } diff --git a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_transitions.json b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_transitions.json index 84b3f02ab4e..d7646909a37 100644 --- a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_transitions.json +++ b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_transitions.json @@ -11,9 +11,16 @@ "status": "RESOLVED", "resolution": "FIXED", "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", "transitions": ["reopen"], "actions": ["comment"], "comments": [], - "changelog": [] + "changelog": [ + { + "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", + "diffs": ["Created"] + } + ] } } diff --git a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_users.json b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_users.json index 0585eef171b..f26e887d9d6 100644 --- a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_users.json +++ b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_with_users.json @@ -14,9 +14,16 @@ "reporterName": "Steven", "author": "Henry", "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", "transitions": [], "actions": [], "comments": [], - "changelog": [] + "changelog": [ + { + "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", + "diffs": ["Created"] + } + ] } } diff --git a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_without_assign_to_me_action.json b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_without_assign_to_me_action.json index fefb526ccd3..4adcdc4d533 100644 --- a/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_without_assign_to_me_action.json +++ b/sonar-server/src/test/resources/org/sonar/server/issue/ws/IssueShowWsHandlerTest/show_issue_without_assign_to_me_action.json @@ -12,11 +12,18 @@ "assigneeName": "John", "status": "OPEN", "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", "transitions": [], "actions": [ "comment", "assign", "plan" ], "comments": [], - "changelog": [] + "changelog": [ + { + "creationDate": "2014-01-22T19:10:03+0100", + "fCreationDate": "Jan 22, 2014 10:03 AM", + "diffs": ["Created"] + } + ] } } -- 2.39.5