Merge "GetPastAssignees: Return past assignees as list"
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AssigneeIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AssigneeIT.java
index a52fd44..b6256ff 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AssigneeIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AssigneeIT.java
@@ -30,7 +30,7 @@
import org.junit.Test;
import java.util.Iterator;
-import java.util.Set;
+import java.util.List;
@NoHttpd
public class AssigneeIT extends AbstractDaemonTest {
@@ -73,7 +73,7 @@
PushOneCommit.Result r = createChange();
setAssignee(r, user.email);
setAssignee(r, admin.email);
- Set<AccountInfo> assignees = getPastAssignees(r);
+ List<AccountInfo> assignees = getPastAssignees(r);
assertThat(assignees).hasSize(2);
Iterator<AccountInfo> itr = assignees.iterator();
assertThat(itr.next()._accountId).isEqualTo(user.getId().get());
@@ -107,7 +107,7 @@
return gApi.changes().id(r.getChange().getId().get()).getAssignee();
}
- private Set<AccountInfo> getPastAssignees(PushOneCommit.Result r)
+ private List<AccountInfo> getPastAssignees(PushOneCommit.Result r)
throws Exception {
return gApi.changes().id(r.getChange().getId().get()).getPastAssignees();
}
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/changes/ChangeApi.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/changes/ChangeApi.java
index ff698f1..d9cd562 100644
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/changes/ChangeApi.java
+++ b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/changes/ChangeApi.java
@@ -155,7 +155,7 @@
/**
* Get all past assignees.
*/
- Set<AccountInfo> getPastAssignees() throws RestApiException;
+ List<AccountInfo> getPastAssignees() throws RestApiException;
/**
* Delete the assignee of a change.
@@ -361,7 +361,7 @@
}
@Override
- public Set<AccountInfo> getPastAssignees() throws RestApiException {
+ public List<AccountInfo> getPastAssignees() throws RestApiException {
throw new NotImplementedException();
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/ChangeApiImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/ChangeApiImpl.java
index 358c2f5..c3ebdc4 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/ChangeApiImpl.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/api/changes/ChangeApiImpl.java
@@ -441,7 +441,7 @@
}
@Override
- public Set<AccountInfo> getPastAssignees() throws RestApiException {
+ public List<AccountInfo> getPastAssignees() throws RestApiException {
try {
return getPastAssignees.apply(change).value();
} catch (Exception e) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/GetPastAssignees.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/GetPastAssignees.java
index bde7806..fa9c0e8 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/GetPastAssignees.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/GetPastAssignees.java
@@ -14,7 +14,7 @@
package com.google.gerrit.server.change;
-import static java.util.stream.Collectors.toSet;
+import static java.util.stream.Collectors.toList;
import com.google.gerrit.extensions.common.AccountInfo;
import com.google.gerrit.extensions.restapi.Response;
@@ -26,6 +26,7 @@
import com.google.inject.Inject;
import java.util.Collections;
+import java.util.List;
import java.util.Set;
public class GetPastAssignees implements RestReadView<ChangeResource> {
@@ -37,19 +38,19 @@
}
@Override
- public Response<Set<AccountInfo>> apply(ChangeResource rsrc)
+ public Response<List<AccountInfo>> apply(ChangeResource rsrc)
throws OrmException {
Set<Account.Id> pastAssignees =
rsrc.getControl().getNotes().load().getPastAssignees();
if (pastAssignees == null) {
- return Response.ok(Collections.emptySet());
+ return Response.ok(Collections.emptyList());
}
AccountInfoCacheFactory accountInfoFactory = accountInfos.create();
return Response.ok(pastAssignees.stream()
.map(accountInfoFactory::get)
.map(AccountJson::toAccountInfo)
- .collect(toSet()));
+ .collect(toList()));
}
}