aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2018-05-11 16:28:59 +0200
committerSonarTech <sonartech@sonarsource.com>2018-05-23 20:20:48 +0200
commit11c567859c646bc3202e6ca15f2c8f53e928d633 (patch)
tree1986d5e601638d7ca6259aa2b4b7c97545c21fa6
parent4ff1b9f90fe7b7a695b8059357e97e69419fc36c (diff)
downloadsonarqube-11c567859c646bc3202e6ca15f2c8f53e928d633.tar.gz
sonarqube-11c567859c646bc3202e6ca15f2c8f53e928d633.zip
SONAR-10659 Drop support of sort by assignee in api/issues/search
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/IssueQuery.java4
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/IssuesFinderSort.java10
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndex.java1
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java4
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/issue/IssueQueryTest.java4
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/issue/IssuesFinderSortTest.java20
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexTest.java16
7 files changed, 9 insertions, 50 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueQuery.java b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueQuery.java
index 158e08d6f0d..33ce0641785 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/IssueQuery.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/IssueQuery.java
@@ -41,6 +41,10 @@ public class IssueQuery {
public static final String SORT_BY_CREATION_DATE = "CREATION_DATE";
public static final String SORT_BY_UPDATE_DATE = "UPDATE_DATE";
public static final String SORT_BY_CLOSE_DATE = "CLOSE_DATE";
+ /**
+ * @deprecated since 7.2, it's no more possible to sort by assignee
+ */
+ @Deprecated
public static final String SORT_BY_ASSIGNEE = "ASSIGNEE";
public static final String SORT_BY_SEVERITY = "SEVERITY";
public static final String SORT_BY_STATUS = "STATUS";
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/IssuesFinderSort.java b/server/sonar-server/src/main/java/org/sonar/server/issue/IssuesFinderSort.java
index bb0a983abd1..21004ab49da 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/IssuesFinderSort.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/IssuesFinderSort.java
@@ -51,9 +51,6 @@ class IssuesFinderSort {
}
private static IssueProcessor getIssueProcessor(String sort) {
- if (IssueQuery.SORT_BY_ASSIGNEE.equals(sort)) {
- return new AssigneeSortIssueProcessor();
- }
if (IssueQuery.SORT_BY_SEVERITY.equals(sort)) {
return new SeveritySortIssueProcessor();
}
@@ -106,13 +103,6 @@ class IssuesFinderSort {
}
}
- static class AssigneeSortIssueProcessor extends TextSortIssueProcessor {
- @Override
- String sortField(IssueDto issueDto) {
- return issueDto.getAssigneeUuid();
- }
- }
-
static class StatusSortIssueProcessor extends TextSortIssueProcessor {
@Override
String sortField(IssueDto issueDto) {
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndex.java b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndex.java
index 33edb48eda6..b5052c0177e 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndex.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/index/IssueIndex.java
@@ -164,7 +164,6 @@ public class IssueIndex {
this.authorizationTypeSupport = authorizationTypeSupport;
this.sorting = new Sorting();
- this.sorting.add(IssueQuery.SORT_BY_ASSIGNEE, IssueIndexDefinition.FIELD_ISSUE_ASSIGNEE_UUID);
this.sorting.add(IssueQuery.SORT_BY_STATUS, IssueIndexDefinition.FIELD_ISSUE_STATUS);
this.sorting.add(IssueQuery.SORT_BY_SEVERITY, IssueIndexDefinition.FIELD_ISSUE_SEVERITY_VALUE);
this.sorting.add(IssueQuery.SORT_BY_CREATION_DATE, IssueIndexDefinition.FIELD_ISSUE_FUNC_CREATED_AT);
diff --git a/server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java b/server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java
index 6a876105946..5fe1c04436f 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java
@@ -75,6 +75,7 @@ import static java.util.stream.Collectors.toList;
import static org.sonar.api.utils.Paging.forPageIndex;
import static org.sonar.core.util.stream.MoreCollectors.toSet;
import static org.sonar.server.es.SearchOptions.MAX_LIMIT;
+import static org.sonar.server.issue.IssueQuery.SORT_BY_ASSIGNEE;
import static org.sonar.server.issue.IssueQueryFactory.UNKNOWN;
import static org.sonar.server.ws.KeyExamples.KEY_BRANCH_EXAMPLE_001;
import static org.sonar.server.ws.KeyExamples.KEY_PROJECT_EXAMPLE_001;
@@ -171,7 +172,8 @@ public class SearchAction implements IssuesWsAction {
new Change("5.5", "response fields 'reporter' and 'actionPlan' are removed (drop of action plan and manual issue features)"),
new Change("5.5", "parameters 'reporters', 'actionPlans' and 'planned' are dropped and therefore ignored (drop of action plan and manual issue features)"),
new Change("5.5", "response field 'debt' is renamed 'effort'"),
- new Change("7.2", "response field 'externalRuleEngine' added to issues that have been imported from an external rule engine"))
+ new Change("7.2", "response field 'externalRuleEngine' added to issues that have been imported from an external rule engine"),
+ new Change("7.2", format("value '%s' in parameter '%s' is deprecated, it won't have any effect", SORT_BY_ASSIGNEE, Param.SORT)))
.setResponseExample(getClass().getResource("search-example.json"));
action.addPagingParams(100, MAX_LIMIT);
diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueQueryTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueQueryTest.java
index 27cff17506e..1dbec620265 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/issue/IssueQueryTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/issue/IssueQueryTest.java
@@ -60,7 +60,7 @@ public class IssueQueryTest {
.createdBefore(new Date())
.createdAt(new Date())
.resolved(true)
- .sort(IssueQuery.SORT_BY_ASSIGNEE)
+ .sort(IssueQuery.SORT_BY_CREATION_DATE)
.asc(true)
.build();
assertThat(query.issueKeys()).containsOnly("ABCDE");
@@ -83,7 +83,7 @@ public class IssueQueryTest {
assertThat(query.createdBefore()).isNotNull();
assertThat(query.createdAt()).isNotNull();
assertThat(query.resolved()).isTrue();
- assertThat(query.sort()).isEqualTo(IssueQuery.SORT_BY_ASSIGNEE);
+ assertThat(query.sort()).isEqualTo(IssueQuery.SORT_BY_CREATION_DATE);
assertThat(query.asc()).isTrue();
}
diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/IssuesFinderSortTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/IssuesFinderSortTest.java
index 675bb1e771a..93f4380b47e 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/issue/IssuesFinderSortTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/issue/IssuesFinderSortTest.java
@@ -33,26 +33,6 @@ import static org.mockito.Mockito.when;
public class IssuesFinderSortTest {
@Test
- public void should_sort_by_assignee() {
- IssueDto issue1 = new IssueDto().setId(1L).setAssigneeUuid("perceval");
- IssueDto issue2 = new IssueDto().setId(2L).setAssigneeUuid("arthur");
- IssueDto issue3 = new IssueDto().setId(3L).setAssigneeUuid("vincent");
- IssueDto issue4 = new IssueDto().setId(4L).setAssigneeUuid(null);
- List<IssueDto> dtoList = newArrayList(issue1, issue2, issue3, issue4);
-
- IssueQuery query = IssueQuery.builder().sort(IssueQuery.SORT_BY_ASSIGNEE).asc(true).build();
- IssuesFinderSort issuesFinderSort = new IssuesFinderSort(dtoList, query);
-
- List<IssueDto> result = newArrayList(issuesFinderSort.sort());
-
- assertThat(result).hasSize(4);
- assertThat(result.get(0).getAssigneeUuid()).isEqualTo("arthur");
- assertThat(result.get(1).getAssigneeUuid()).isEqualTo("perceval");
- assertThat(result.get(2).getAssigneeUuid()).isEqualTo("vincent");
- assertThat(result.get(3).getAssigneeUuid()).isNull();
- }
-
- @Test
public void should_sort_by_status() {
IssueDto issue1 = new IssueDto().setId(1L).setStatus("CLOSED");
IssueDto issue2 = new IssueDto().setId(2L).setStatus("REOPENED");
diff --git a/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexTest.java b/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexTest.java
index 9e0807aaa25..0c2060e8a05 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/issue/index/IssueIndexTest.java
@@ -990,22 +990,6 @@ public class IssueIndexTest {
}
@Test
- public void sort_by_assignee() {
- ComponentDto project = newPrivateProjectDto(newOrganizationDto());
- ComponentDto file = newFileDto(project, null);
-
- indexIssues(
- newDoc("I1", file).setAssigneeUuid("steph-uuid"),
- newDoc("I2", file).setAssigneeUuid("marcel-uuid"));
-
- IssueQuery.Builder query = IssueQuery.builder().sort(IssueQuery.SORT_BY_ASSIGNEE).asc(true);
- assertThatSearchReturnsOnly(query, "I2", "I1");
-
- query = IssueQuery.builder().sort(IssueQuery.SORT_BY_ASSIGNEE).asc(false);
- assertThatSearchReturnsOnly(query, "I1", "I2");
- }
-
- @Test
public void sort_by_creation_date() {
ComponentDto project = newPrivateProjectDto(newOrganizationDto());
ComponentDto file = newFileDto(project, null);