]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6582 Fix reporter serialization in issues search
authorJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Fri, 19 Jun 2015 14:24:24 +0000 (16:24 +0200)
committerJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Fri, 19 Jun 2015 15:09:48 +0000 (17:09 +0200)
server/sonar-server/src/main/java/org/sonar/server/issue/ws/IssueJsonWriter.java
server/sonar-server/src/test/java/org/sonar/server/issue/ws/SearchActionMediumTest.java
server/sonar-server/src/test/resources/org/sonar/server/issue/ws/SearchActionMediumTest/issue_with_extra_fields.json
server/sonar-web/src/main/js/apps/issues/controller.js
server/sonar-web/src/main/js/apps/issues/models/issues.js
server/sonar-web/src/main/js/components/issue/collections/issues.js
server/sonar-web/src/main/js/components/issue/models/issue.js

index 35399d67e0c1fd56908a0a1e1a02a07a1168b5ce..826c36abcc8617a0a7674e12c5d61ec2bec96343 100644 (file)
@@ -47,11 +47,10 @@ public class IssueJsonWriter {
 
   public static final String ACTIONS_EXTRA_FIELD = "actions";
   public static final String TRANSITIONS_EXTRA_FIELD = "transitions";
-  public static final String REPORTER_NAME_EXTRA_FIELD = "reporterName";
   public static final String ACTION_PLAN_NAME_EXTRA_FIELD = "actionPlanName";
 
   public static final Set<String> EXTRA_FIELDS = ImmutableSet.of(
-    ACTIONS_EXTRA_FIELD, TRANSITIONS_EXTRA_FIELD, REPORTER_NAME_EXTRA_FIELD, ACTION_PLAN_NAME_EXTRA_FIELD);
+    ACTIONS_EXTRA_FIELD, TRANSITIONS_EXTRA_FIELD, ACTION_PLAN_NAME_EXTRA_FIELD);
 
   private final I18n i18n;
   private final Durations durations;
@@ -173,20 +172,10 @@ public class IssueJsonWriter {
         actionsWriter.writeTransitions(issue, json);
       }
 
-      writeReporterIfNeeded(issue, usersByLogin, extraFields, json);
-
       writeActionPlanIfNeeded(issue, actionPlanByKeys, extraFields, json);
     }
   }
 
-  private void writeReporterIfNeeded(Issue issue, Map<String, User> usersByLogin, List<String> extraFields, JsonWriter json) {
-    String reporter = issue.reporter();
-    if (extraFields.contains(REPORTER_NAME_EXTRA_FIELD) && reporter != null) {
-      User user = usersByLogin.get(reporter);
-      json.prop(REPORTER_NAME_EXTRA_FIELD, user != null ? user.name() : null);
-    }
-  }
-
   private void writeActionPlanIfNeeded(Issue issue, Map<String, ActionPlan> actionPlanByKeys, List<String> extraFields, JsonWriter json) {
     String actionPlanKey = issue.actionPlanKey();
     if (extraFields.contains(ACTION_PLAN_NAME_EXTRA_FIELD) && actionPlanKey != null) {
index 6cbf0c9d633da206c8308193687d42e594d06330..bd6763106e261627f897d23f7f2920c3aca2fa47 100644 (file)
@@ -273,7 +273,7 @@ public class SearchActionMediumTest {
 
     userSessionRule.login("john");
     WsTester.Result result = wsTester.newGetRequest(IssuesWs.API_ENDPOINT, SearchAction.SEARCH_ACTION)
-      .setParam("extra_fields", "actions,transitions,reporterName,actionPlanName").execute();
+      .setParam("extra_fields", "actions,transitions,actionPlanName").execute();
     result.assertJson(this.getClass(), "issue_with_extra_fields.json");
   }
 
index d63b6faa3bc2de465fa21b4e3e4bbfac24228186..ecd938c08763a3cc46216c06f1b8e3437f899312 100644 (file)
@@ -4,7 +4,6 @@
       "key": "82fd47d4-b650-4037-80bc-7b112bd4eac2",
       "assignee": "simon",
       "reporter": "fabrice",
-      "reporterName": "Fabrice",
       "actionPlan": "AP-ABCD",
       "actionPlanName": "1.0",
       "actions": [
index 41fcd6433bea88a7cbe8cc948483a21e0dc09669..1ddcdb180bf7959c572de39ac4889337a021c288 100644 (file)
@@ -5,7 +5,7 @@ define([
 ], function (Controller, ComponentViewer, HomeView) {
 
   var $ = jQuery,
-      EXTRA_FIELDS = 'actions,transitions,reporterName,actionPlanName',
+      EXTRA_FIELDS = 'actions,transitions,actionPlanName',
       FACET_DATA_FIELDS = ['components', 'projects', 'users', 'rules', 'actionPlans', 'languages'];
 
   return Controller.extend({
index 66be85a7464ead19b457e53c392bae192d3dca6d..06abb122653f5031f129d51ecf55c7fae11223d1 100644 (file)
@@ -63,6 +63,7 @@ define([
           });
         }
         issue = that._injectRelational(issue, r.users, 'assignee', 'login');
+        issue = that._injectRelational(issue, r.users, 'reporter', 'login');
         return issue;
       });
     },
index f749dc448a7c5567f6bf83b3b357da9d899385c9..13c8a616dd175a778d0b0461ac906fdc26c3dab6 100644 (file)
@@ -60,6 +60,7 @@ define([
           _.extend(issue, { ruleName: rule.name });
         }
         issue = that._injectRelational(issue, r.users, 'assignee', 'login');
+        issue = that._injectRelational(issue, r.users, 'reporter', 'login');
         return issue;
       });
     }
index cdc821785c852bfaf04652ee817426b356fa9473..79ad16f7fde3e7bf6847a4f14a603a4a562d13c2 100644 (file)
@@ -13,7 +13,9 @@ define(function () {
 
     parse: function (r) {
       if (r.issue) {
-        return this._injectRelational(r.issue, r.users, 'assignee', 'login');
+        var issue = this._injectRelational(r.issue, r.users, 'assignee', 'login');
+        issue = this._injectRelational(issue, r.users, 'reporter', 'login');
+        return issue;
       } else {
         return r;
       }