Adapt to changed REST interfaces in Gerrit core

Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: I9b8bba50db63cd466c37378fa072c47747d5354b
diff --git a/java/com/google/gerrit/plugins/checks/api/CheckApiImpl.java b/java/com/google/gerrit/plugins/checks/api/CheckApiImpl.java
index 378ce64..5cd20f6 100644
--- a/java/com/google/gerrit/plugins/checks/api/CheckApiImpl.java
+++ b/java/com/google/gerrit/plugins/checks/api/CheckApiImpl.java
@@ -42,7 +42,7 @@
   public CheckInfo get(ListChecksOption... options) throws RestApiException {
     try {
       Arrays.stream(options).forEach(getCheck::addOption);
-      return getCheck.apply(checkResource);
+      return getCheck.apply(checkResource).value();
     } catch (Exception e) {
       throw asRestApiException("Cannot retrieve check", e);
     }
@@ -51,7 +51,7 @@
   @Override
   public CheckInfo update(CheckInput input) throws RestApiException {
     try {
-      return updateCheck.apply(checkResource, input);
+      return updateCheck.apply(checkResource, input).value();
     } catch (Exception e) {
       throw asRestApiException("Cannot update check", e);
     }
diff --git a/java/com/google/gerrit/plugins/checks/api/CheckerApiImpl.java b/java/com/google/gerrit/plugins/checks/api/CheckerApiImpl.java
index db74c00..1a63eac 100644
--- a/java/com/google/gerrit/plugins/checks/api/CheckerApiImpl.java
+++ b/java/com/google/gerrit/plugins/checks/api/CheckerApiImpl.java
@@ -41,7 +41,7 @@
   @Override
   public CheckerInfo get() throws RestApiException {
     try {
-      return getChecker.apply(rsrc);
+      return getChecker.apply(rsrc).value();
     } catch (Exception e) {
       throw asRestApiException("Cannot retrieve checker", e);
     }
@@ -50,7 +50,7 @@
   @Override
   public CheckerInfo update(CheckerInput input) throws RestApiException {
     try {
-      return updateChecker.apply(rsrc, input);
+      return updateChecker.apply(rsrc, input).value();
     } catch (Exception e) {
       throw asRestApiException("Cannot update checker", e);
     }
diff --git a/java/com/google/gerrit/plugins/checks/api/CheckersImpl.java b/java/com/google/gerrit/plugins/checks/api/CheckersImpl.java
index 73e0f5d..a5d101b 100644
--- a/java/com/google/gerrit/plugins/checks/api/CheckersImpl.java
+++ b/java/com/google/gerrit/plugins/checks/api/CheckersImpl.java
@@ -64,7 +64,7 @@
   @Override
   public List<CheckerInfo> all() throws RestApiException {
     try {
-      return listCheckers.apply(TopLevelResource.INSTANCE);
+      return listCheckers.apply(TopLevelResource.INSTANCE).value();
     } catch (Exception e) {
       throw asRestApiException("Cannot list all checkers ", e);
     }
diff --git a/java/com/google/gerrit/plugins/checks/api/ChecksImpl.java b/java/com/google/gerrit/plugins/checks/api/ChecksImpl.java
index 206e7b0..36d1550 100644
--- a/java/com/google/gerrit/plugins/checks/api/ChecksImpl.java
+++ b/java/com/google/gerrit/plugins/checks/api/ChecksImpl.java
@@ -65,7 +65,7 @@
   @Override
   public CheckApi create(CheckInput input) throws RestApiException {
     try {
-      CheckInfo checkInfo = postCheck.apply(revisionResource, input);
+      CheckInfo checkInfo = postCheck.apply(revisionResource, input).value();
       return id(CheckerUuid.parse(checkInfo.checkerUuid));
     } catch (Exception e) {
       throw asRestApiException("Cannot create check", e);
@@ -76,7 +76,7 @@
   public ImmutableList<CheckInfo> list(ListChecksOption... options) throws RestApiException {
     try {
       Arrays.stream(options).forEach(listChecks::addOption);
-      return listChecks.apply(revisionResource);
+      return listChecks.apply(revisionResource).value();
     } catch (Exception e) {
       throw asRestApiException("Cannot list checks", e);
     }
diff --git a/java/com/google/gerrit/plugins/checks/api/GetCheck.java b/java/com/google/gerrit/plugins/checks/api/GetCheck.java
index ab2abde..2c35307 100644
--- a/java/com/google/gerrit/plugins/checks/api/GetCheck.java
+++ b/java/com/google/gerrit/plugins/checks/api/GetCheck.java
@@ -18,6 +18,7 @@
 import com.google.gerrit.extensions.restapi.AuthException;
 import com.google.gerrit.extensions.restapi.BadRequestException;
 import com.google.gerrit.extensions.restapi.ResourceConflictException;
+import com.google.gerrit.extensions.restapi.Response;
 import com.google.gerrit.extensions.restapi.RestReadView;
 import com.google.gerrit.plugins.checks.CheckJson;
 import com.google.gerrit.plugins.checks.ListChecksOption;
@@ -47,8 +48,8 @@
   }
 
   @Override
-  public CheckInfo apply(CheckResource resource)
+  public Response<CheckInfo> apply(CheckResource resource)
       throws AuthException, BadRequestException, ResourceConflictException, IOException {
-    return checkJsonFactory.create(options).format(resource.getCheck());
+    return Response.ok(checkJsonFactory.create(options).format(resource.getCheck()));
   }
 }
diff --git a/java/com/google/gerrit/plugins/checks/api/GetChecker.java b/java/com/google/gerrit/plugins/checks/api/GetChecker.java
index 9a84a91..28d95fa 100644
--- a/java/com/google/gerrit/plugins/checks/api/GetChecker.java
+++ b/java/com/google/gerrit/plugins/checks/api/GetChecker.java
@@ -14,6 +14,7 @@
 
 package com.google.gerrit.plugins.checks.api;
 
+import com.google.gerrit.extensions.restapi.Response;
 import com.google.gerrit.extensions.restapi.RestReadView;
 import com.google.gerrit.plugins.checks.CheckerJson;
 import com.google.inject.Inject;
@@ -29,7 +30,7 @@
   }
 
   @Override
-  public CheckerInfo apply(CheckerResource resource) {
-    return checkerJson.format(resource.getChecker());
+  public Response<CheckerInfo> apply(CheckerResource resource) {
+    return Response.ok(checkerJson.format(resource.getChecker()));
   }
 }
diff --git a/java/com/google/gerrit/plugins/checks/api/ListCheckers.java b/java/com/google/gerrit/plugins/checks/api/ListCheckers.java
index 0328a99..ae36fb9 100644
--- a/java/com/google/gerrit/plugins/checks/api/ListCheckers.java
+++ b/java/com/google/gerrit/plugins/checks/api/ListCheckers.java
@@ -17,6 +17,7 @@
 import static java.util.stream.Collectors.toList;
 
 import com.google.gerrit.extensions.restapi.AuthException;
+import com.google.gerrit.extensions.restapi.Response;
 import com.google.gerrit.extensions.restapi.RestApiException;
 import com.google.gerrit.extensions.restapi.RestReadView;
 import com.google.gerrit.extensions.restapi.TopLevelResource;
@@ -55,13 +56,13 @@
   }
 
   @Override
-  public List<CheckerInfo> apply(TopLevelResource resource)
+  public Response<List<CheckerInfo>> apply(TopLevelResource resource)
       throws RestApiException, PermissionBackendException, IOException {
     if (!self.get().isIdentifiedUser()) {
       throw new AuthException("Authentication required");
     }
     permissionBackend.currentUser().check(permission);
 
-    return checkers.listCheckers().stream().map(checkerJson::format).collect(toList());
+    return Response.ok(checkers.listCheckers().stream().map(checkerJson::format).collect(toList()));
   }
 }
diff --git a/java/com/google/gerrit/plugins/checks/api/ListChecks.java b/java/com/google/gerrit/plugins/checks/api/ListChecks.java
index 39346e4..4b5e0ae 100644
--- a/java/com/google/gerrit/plugins/checks/api/ListChecks.java
+++ b/java/com/google/gerrit/plugins/checks/api/ListChecks.java
@@ -20,6 +20,7 @@
 import com.google.gerrit.extensions.restapi.AuthException;
 import com.google.gerrit.extensions.restapi.BadRequestException;
 import com.google.gerrit.extensions.restapi.ResourceConflictException;
+import com.google.gerrit.extensions.restapi.Response;
 import com.google.gerrit.extensions.restapi.RestReadView;
 import com.google.gerrit.plugins.checks.Check;
 import com.google.gerrit.plugins.checks.CheckJson;
@@ -55,7 +56,7 @@
   }
 
   @Override
-  public ImmutableList<CheckInfo> apply(RevisionResource resource)
+  public Response<ImmutableList<CheckInfo>> apply(RevisionResource resource)
       throws AuthException, BadRequestException, ResourceConflictException, StorageException,
           IOException {
     if (resource.getEdit().isPresent()) {
@@ -72,6 +73,6 @@
     for (Check check : allChecks) {
       result.add(checkJson.format(check));
     }
-    return result.build();
+    return Response.ok(result.build());
   }
 }
diff --git a/java/com/google/gerrit/plugins/checks/api/PostCheck.java b/java/com/google/gerrit/plugins/checks/api/PostCheck.java
index 18572e9..5531d9e 100644
--- a/java/com/google/gerrit/plugins/checks/api/PostCheck.java
+++ b/java/com/google/gerrit/plugins/checks/api/PostCheck.java
@@ -18,6 +18,7 @@
 import com.google.gerrit.extensions.restapi.AuthException;
 import com.google.gerrit.extensions.restapi.BadRequestException;
 import com.google.gerrit.extensions.restapi.ResourceConflictException;
+import com.google.gerrit.extensions.restapi.Response;
 import com.google.gerrit.extensions.restapi.RestApiException;
 import com.google.gerrit.extensions.restapi.RestCollectionModifyView;
 import com.google.gerrit.extensions.restapi.UnprocessableEntityException;
@@ -74,7 +75,7 @@
   }
 
   @Override
-  public CheckInfo apply(RevisionResource rsrc, CheckInput input)
+  public Response<CheckInfo> apply(RevisionResource rsrc, CheckInput input)
       throws StorageException, IOException, RestApiException, PermissionBackendException,
           ConfigInvalidException {
     if (!self.get().isIdentifiedUser()) {
@@ -112,7 +113,7 @@
     } else {
       updatedCheck = checksUpdate.get().updateCheck(key, toCheckUpdate(input));
     }
-    return checkJsonFactory.noOptions().format(updatedCheck);
+    return Response.ok(checkJsonFactory.noOptions().format(updatedCheck));
   }
 
   private static CheckUpdate toCheckUpdate(CheckInput input) throws BadRequestException {
diff --git a/java/com/google/gerrit/plugins/checks/api/QueryPendingChecks.java b/java/com/google/gerrit/plugins/checks/api/QueryPendingChecks.java
index 281417c..870cd61 100644
--- a/java/com/google/gerrit/plugins/checks/api/QueryPendingChecks.java
+++ b/java/com/google/gerrit/plugins/checks/api/QueryPendingChecks.java
@@ -20,6 +20,7 @@
 import com.google.common.collect.ImmutableMap;
 import com.google.gerrit.exceptions.StorageException;
 import com.google.gerrit.extensions.restapi.BadRequestException;
+import com.google.gerrit.extensions.restapi.Response;
 import com.google.gerrit.extensions.restapi.RestApiException;
 import com.google.gerrit.extensions.restapi.RestReadView;
 import com.google.gerrit.extensions.restapi.TopLevelResource;
@@ -81,11 +82,11 @@
 
   public List<PendingChecksInfo> apply()
       throws RestApiException, IOException, ConfigInvalidException, StorageException {
-    return apply(TopLevelResource.INSTANCE);
+    return apply(TopLevelResource.INSTANCE).value();
   }
 
   @Override
-  public List<PendingChecksInfo> apply(TopLevelResource resource)
+  public Response<List<PendingChecksInfo>> apply(TopLevelResource resource)
       throws RestApiException, IOException, ConfigInvalidException, StorageException {
     if (queryString == null) {
       throw new BadRequestException("query is required");
@@ -98,7 +99,7 @@
 
     Optional<Checker> checker = checkers.getChecker(getCheckerUuidFromQuery(query));
     if (!checker.isPresent() || checker.get().isDisabled()) {
-      return ImmutableList.of();
+      return Response.ok(ImmutableList.of());
     }
 
     // The query system can only match against the current patch set; ignore non-current patch sets
@@ -123,7 +124,7 @@
         pendingChecks.add(createPendingChecksInfo(cd.project(), patchSet, checkerUuid, check));
       }
     }
-    return pendingChecks;
+    return Response.ok(pendingChecks);
   }
 
   private Predicate<Check> parseQuery(String query) throws BadRequestException {
diff --git a/java/com/google/gerrit/plugins/checks/api/UpdateCheck.java b/java/com/google/gerrit/plugins/checks/api/UpdateCheck.java
index ef7539f..1a57142 100644
--- a/java/com/google/gerrit/plugins/checks/api/UpdateCheck.java
+++ b/java/com/google/gerrit/plugins/checks/api/UpdateCheck.java
@@ -16,6 +16,7 @@
 
 import com.google.gerrit.exceptions.StorageException;
 import com.google.gerrit.extensions.restapi.BadRequestException;
+import com.google.gerrit.extensions.restapi.Response;
 import com.google.gerrit.extensions.restapi.RestApiException;
 import com.google.gerrit.extensions.restapi.RestModifyView;
 import com.google.gerrit.server.permissions.PermissionBackendException;
@@ -34,7 +35,7 @@
   }
 
   @Override
-  public CheckInfo apply(CheckResource checkResource, CheckInput input)
+  public Response<CheckInfo> apply(CheckResource checkResource, CheckInput input)
       throws RestApiException, IOException, StorageException, PermissionBackendException,
           ConfigInvalidException {
     if (input == null) {
diff --git a/java/com/google/gerrit/plugins/checks/api/UpdateChecker.java b/java/com/google/gerrit/plugins/checks/api/UpdateChecker.java
index 6512b69..1f81284 100644
--- a/java/com/google/gerrit/plugins/checks/api/UpdateChecker.java
+++ b/java/com/google/gerrit/plugins/checks/api/UpdateChecker.java
@@ -17,6 +17,7 @@
 import com.google.common.collect.ImmutableSortedSet;
 import com.google.gerrit.exceptions.StorageException;
 import com.google.gerrit.extensions.restapi.BadRequestException;
+import com.google.gerrit.extensions.restapi.Response;
 import com.google.gerrit.extensions.restapi.RestApiException;
 import com.google.gerrit.extensions.restapi.RestModifyView;
 import com.google.gerrit.extensions.restapi.UnprocessableEntityException;
@@ -68,7 +69,7 @@
   }
 
   @Override
-  public CheckerInfo apply(CheckerResource resource, CheckerInput input)
+  public Response<CheckerInfo> apply(CheckerResource resource, CheckerInput input)
       throws RestApiException, PermissionBackendException, NoSuchCheckerException, IOException,
           ConfigInvalidException, StorageException {
     permissionBackend.currentUser().check(permission);
@@ -120,7 +121,7 @@
 
     Checker updatedChecker =
         checkersUpdate.get().updateChecker(checkerUuid, checkerUpdateBuilder.build());
-    return checkerJson.format(updatedChecker);
+    return Response.ok(checkerJson.format(updatedChecker));
   }
 
   private Project.NameKey resolveRepository(String repository)
diff --git a/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckerIT.java b/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckerIT.java
index 84463c6..cb3f695 100644
--- a/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckerIT.java
+++ b/javatests/com/google/gerrit/plugins/checks/acceptance/api/GetCheckerIT.java
@@ -310,7 +310,7 @@
 
   @Test
   public void administrateCheckersCapabilityIsAdvertised() throws Exception {
-    Map<String, CapabilityInfo> capabilities = listCapabilities.apply(new ConfigResource());
+    Map<String, CapabilityInfo> capabilities = listCapabilities.apply(new ConfigResource()).value();
     String capability = "checks-administrateCheckers";
     assertThat(capabilities).containsKey(capability);
     CapabilityInfo info = capabilities.get(capability);