Adapt to changed REST interfaces in Gerrit core

Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: I8209ab815d3fe23b73ef1b3ebc6720024c7fba02
diff --git a/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/DeleteRemote.java b/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/DeleteRemote.java
index 7bb1470..0a3b7da 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/DeleteRemote.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/DeleteRemote.java
@@ -48,7 +48,7 @@
   }
 
   @Override
-  public Object apply(RemoteResource rsrc, Input input)
+  public Response<Object> apply(RemoteResource rsrc, Input input)
       throws RepositoryNotFoundException, IOException, ConfigInvalidException, AuthException {
     if (!permissions.canUpdate(rsrc.getProject())) {
       throw new AuthException("not allowed to update webhooks");
diff --git a/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/GetRemote.java b/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/GetRemote.java
index 5e1a8bf..27e07ef 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/GetRemote.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/GetRemote.java
@@ -16,6 +16,7 @@
 
 import com.google.gerrit.extensions.restapi.AuthException;
 import com.google.gerrit.extensions.restapi.ResourceNotFoundException;
+import com.google.gerrit.extensions.restapi.Response;
 import com.google.gerrit.extensions.restapi.RestReadView;
 import com.google.gerrit.server.project.NoSuchProjectException;
 import com.google.inject.Inject;
@@ -34,12 +35,12 @@
   }
 
   @Override
-  public RemoteInfo apply(RemoteResource rsrc)
+  public Response<RemoteInfo> apply(RemoteResource rsrc)
       throws NoSuchProjectException, ResourceNotFoundException, AuthException {
     if (!permissions.canRead(rsrc.getProject())) {
       throw new AuthException("not allowed to read webhooks");
     }
-    return fromRemoteConfig(rsrc.getRemoteConfig());
+    return Response.ok(fromRemoteConfig(rsrc.getRemoteConfig()));
   }
 
   static RemoteInfo fromRemoteConfig(RemoteConfig rc) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/ListRemotes.java b/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/ListRemotes.java
index c1b5416..50d76e7 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/ListRemotes.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/ListRemotes.java
@@ -18,6 +18,7 @@
 import static com.googlesource.gerrit.plugins.webhooks.rest.GetRemote.fromRemoteConfig;
 
 import com.google.gerrit.extensions.annotations.PluginName;
+import com.google.gerrit.extensions.restapi.Response;
 import com.google.gerrit.extensions.restapi.RestReadView;
 import com.google.gerrit.server.config.PluginConfigFactory;
 import com.google.gerrit.server.project.NoSuchProjectException;
@@ -46,7 +47,7 @@
   }
 
   @Override
-  public Map<String, RemoteInfo> apply(ProjectWebhooksResource resource)
+  public Response<Map<String, RemoteInfo>> apply(ProjectWebhooksResource resource)
       throws NoSuchProjectException {
     Map<String, RemoteInfo> remotes = new HashMap<>();
     Config cfg =
@@ -54,6 +55,6 @@
     for (String name : cfg.getSubsections(REMOTE)) {
       remotes.put(name, fromRemoteConfig(remoteFactory.create(cfg, name)));
     }
-    return remotes;
+    return Response.ok(remotes);
   }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/UpsertRemote.java b/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/UpsertRemote.java
index 41eedae..3730456 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/UpsertRemote.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/webhooks/rest/UpsertRemote.java
@@ -20,6 +20,7 @@
 import com.google.gerrit.extensions.annotations.PluginName;
 import com.google.gerrit.extensions.restapi.AuthException;
 import com.google.gerrit.extensions.restapi.IdString;
+import com.google.gerrit.extensions.restapi.Response;
 import com.google.gerrit.extensions.restapi.RestCollectionCreateView;
 import com.google.gerrit.extensions.restapi.RestModifyView;
 import com.google.gerrit.reviewdb.client.Project;
@@ -59,10 +60,10 @@
     }
 
     @Override
-    public RemoteInfo apply(RemoteResource rsrc, UpsertRemote.Input in)
+    public Response<RemoteInfo> apply(RemoteResource rsrc, UpsertRemote.Input in)
         throws ConfigInvalidException, RepositoryNotFoundException, IOException,
             NoSuchProjectException, AuthException {
-      return upserter.upsert(rsrc.getProject(), rsrc.getRemoteConfig().getName(), in);
+      return Response.ok(upserter.upsert(rsrc.getProject(), rsrc.getRemoteConfig().getName(), in));
     }
   }
 
@@ -78,11 +79,11 @@
     }
 
     @Override
-    public RemoteInfo apply(
+    public Response<RemoteInfo> apply(
         ProjectWebhooksResource rsrc, IdString remoteName, UpsertRemote.Input in)
         throws RepositoryNotFoundException, IOException, ConfigInvalidException,
             NoSuchProjectException, AuthException {
-      return upserter.upsert(rsrc.getProject(), remoteName.get(), in);
+      return Response.created(upserter.upsert(rsrc.getProject(), remoteName.get(), in));
     }
   }