Hide use of private WorkQueue.Executor for Gerrit master

The Gerrit's internal WorkQueue.Executor class has become
private in master and cannot be referenced anymore from a plugin.

However, it was incorrect to refer to the internal implementation
of the executor and it is much better to simply use the implemented
interface.

Change-Id: I2c1d895d503730bea4b4b635db7e04f4126453f8
diff --git a/src/main/java/com/googlesource/gerrit/plugins/webhooks/ExecutorProvider.java b/src/main/java/com/googlesource/gerrit/plugins/webhooks/ExecutorProvider.java
index f425c36..0289422 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/webhooks/ExecutorProvider.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/webhooks/ExecutorProvider.java
@@ -14,17 +14,17 @@
 
 package com.googlesource.gerrit.plugins.webhooks;
 
-import java.util.concurrent.ScheduledThreadPoolExecutor;
-
 import com.google.gerrit.extensions.annotations.PluginName;
 import com.google.gerrit.extensions.events.LifecycleListener;
 import com.google.gerrit.server.git.WorkQueue;
 import com.google.inject.Inject;
 import com.google.inject.Provider;
 
+import java.util.concurrent.ScheduledExecutorService;
+
 class ExecutorProvider
-    implements Provider<ScheduledThreadPoolExecutor>, LifecycleListener {
-  private WorkQueue.Executor executor;
+    implements Provider<ScheduledExecutorService>, LifecycleListener {
+  private ScheduledExecutorService executor;
 
   @Inject
   ExecutorProvider(WorkQueue workQueue,
@@ -45,7 +45,7 @@
   }
 
   @Override
-  public ScheduledThreadPoolExecutor get() {
+  public ScheduledExecutorService get() {
     return executor;
   }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/webhooks/Module.java b/src/main/java/com/googlesource/gerrit/plugins/webhooks/Module.java
index accb0a2..88e9637 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/webhooks/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/webhooks/Module.java
@@ -14,7 +14,6 @@
 
 package com.googlesource.gerrit.plugins.webhooks;
 
-import java.util.concurrent.ScheduledThreadPoolExecutor;
 
 import org.apache.http.impl.client.CloseableHttpClient;
 
@@ -22,12 +21,13 @@
 import com.google.gerrit.extensions.config.FactoryModule;
 import com.google.gerrit.extensions.registration.DynamicSet;
 import com.google.inject.Scopes;
+import java.util.concurrent.ScheduledExecutorService;
 
 public class Module extends FactoryModule {
 
   @Override
   protected void configure() {
-    bind(ScheduledThreadPoolExecutor.class)
+    bind(ScheduledExecutorService.class)
         .annotatedWith(WebHooksExecutor.class)
         .toProvider(ExecutorProvider.class);
     bind(Configuration.class).in(Scopes.SINGLETON);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/webhooks/PostTask.java b/src/main/java/com/googlesource/gerrit/plugins/webhooks/PostTask.java
index 9311531..efb24f1 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/webhooks/PostTask.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/webhooks/PostTask.java
@@ -15,7 +15,7 @@
 package com.googlesource.gerrit.plugins.webhooks;
 
 import java.io.IOException;
-import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 
 import javax.net.ssl.SSLException;
@@ -35,7 +35,7 @@
     PostTask create(@Assisted("url") String url, @Assisted("body") String body);
   }
 
-  private final ScheduledThreadPoolExecutor executor;
+  private final ScheduledExecutorService executor;
   private final HttpSession session;
   private final Configuration cfg;
   private final String url;
@@ -43,7 +43,7 @@
   private int execCnt;
 
   @AssistedInject
-  public PostTask(@WebHooksExecutor ScheduledThreadPoolExecutor executor,
+  public PostTask(@WebHooksExecutor ScheduledExecutorService executor,
       HttpSession session,
       Configuration cfg,
       @Assisted("url") String url,