Merge branch 'stable-2.14' into stable-2.15

* stable-2.14:
  Remove class PeerInfoProvider
  Make PluginConfigPeerInfoProvider a singleton
  Adjust queue names to match core Gerrit convention

Change-Id: I97642d80c93ac5c591e6e14c7da25c2f9b8b3eb4
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheExecutorProvider.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheExecutorProvider.java
index aed590d..748bb61 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheExecutorProvider.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheExecutorProvider.java
@@ -25,6 +25,6 @@
 
   @Inject
   CacheExecutorProvider(WorkQueue workQueue, Configuration config) {
-    super(workQueue, config.cache().threadPoolSize(), "Forward-cache-eviction-event");
+    super(workQueue, config.cache().threadPoolSize(), "Forward-Cache-Eviction-Event");
   }
 }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/event/EventExecutorProvider.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/event/EventExecutorProvider.java
index d9b2ae2..176d873 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/event/EventExecutorProvider.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/event/EventExecutorProvider.java
@@ -24,6 +24,6 @@
 
   @Inject
   EventExecutorProvider(WorkQueue workQueue) {
-    super(workQueue, 1, "Forward-stream-event");
+    super(workQueue, 1, "Forward-Stream-Event");
   }
 }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexExecutorProvider.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexExecutorProvider.java
index 7efcc3f..bcfbd4e 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexExecutorProvider.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexExecutorProvider.java
@@ -25,6 +25,6 @@
 
   @Inject
   IndexExecutorProvider(WorkQueue workQueue, Configuration config) {
-    super(workQueue, config.index().threadPoolSize(), "Forward-index-event");
+    super(workQueue, config.index().threadPoolSize(), "Forward-Index-Event");
   }
 }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/peers/PeerInfoModule.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/peers/PeerInfoModule.java
index 25e0c41..577d66d 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/peers/PeerInfoModule.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/peers/PeerInfoModule.java
@@ -30,9 +30,17 @@
 
   @Override
   protected void configure() {
-    bind(new TypeLiteral<Optional<PeerInfo>>() {}).toProvider(PeerInfoProvider.class);
-    if (strategy == Configuration.PeerInfoStrategy.JGROUPS) {
-      listener().to(JGroupsPeerInfoProvider.class);
+    switch (strategy) {
+      case STATIC:
+        bind(new TypeLiteral<Optional<PeerInfo>>() {})
+            .toProvider(PluginConfigPeerInfoProvider.class);
+        break;
+      case JGROUPS:
+        bind(new TypeLiteral<Optional<PeerInfo>>() {}).toProvider(JGroupsPeerInfoProvider.class);
+        listener().to(JGroupsPeerInfoProvider.class);
+        break;
+      default:
+        throw new IllegalArgumentException("Unsupported peer info strategy: " + strategy);
     }
   }
 }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/peers/PeerInfoProvider.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/peers/PeerInfoProvider.java
deleted file mode 100644
index 2649f50..0000000
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/peers/PeerInfoProvider.java
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright (C) 2017 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-package com.ericsson.gerrit.plugins.highavailability.peers;
-
-import com.ericsson.gerrit.plugins.highavailability.Configuration;
-import com.ericsson.gerrit.plugins.highavailability.Configuration.PeerInfoStrategy;
-import com.ericsson.gerrit.plugins.highavailability.peers.jgroups.JGroupsPeerInfoProvider;
-import com.google.inject.Inject;
-import com.google.inject.Injector;
-import com.google.inject.Provider;
-import com.google.inject.Singleton;
-import java.util.Optional;
-
-@Singleton
-public class PeerInfoProvider implements Provider<Optional<PeerInfo>> {
-
-  private final Provider<Optional<PeerInfo>> configuredProvider;
-
-  @Inject
-  PeerInfoProvider(Injector injector, Configuration cfg) {
-    PeerInfoStrategy strategy = cfg.peerInfo().strategy();
-    switch (strategy) {
-      case STATIC:
-        configuredProvider = injector.getInstance(PluginConfigPeerInfoProvider.class);
-        break;
-      case JGROUPS:
-        configuredProvider = injector.getInstance(JGroupsPeerInfoProvider.class);
-        break;
-      default:
-        throw new IllegalArgumentException("Unsupported peer info strategy: " + strategy);
-    }
-  }
-
-  @Override
-  public Optional<PeerInfo> get() {
-    return configuredProvider.get();
-  }
-}
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/peers/PluginConfigPeerInfoProvider.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/peers/PluginConfigPeerInfoProvider.java
index f9f182b..f39eb6b 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/peers/PluginConfigPeerInfoProvider.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/peers/PluginConfigPeerInfoProvider.java
@@ -17,8 +17,10 @@
 import com.ericsson.gerrit.plugins.highavailability.Configuration;
 import com.google.inject.Inject;
 import com.google.inject.Provider;
+import com.google.inject.Singleton;
 import java.util.Optional;
 
+@Singleton
 public class PluginConfigPeerInfoProvider implements Provider<Optional<PeerInfo>> {
 
   private final Optional<PeerInfo> peerInfo;
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheExecutorProviderTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheExecutorProviderTest.java
index cd90b65..4a4f255 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheExecutorProviderTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CacheExecutorProviderTest.java
@@ -39,7 +39,7 @@
   @Before
   public void setUp() throws Exception {
     WorkQueue workQueueMock = mock(WorkQueue.class);
-    when(workQueueMock.createQueue(4, "Forward-cache-eviction-event")).thenReturn(executorMock);
+    when(workQueueMock.createQueue(4, "Forward-Cache-Eviction-Event")).thenReturn(executorMock);
     Configuration configMock = mock(Configuration.class, Answers.RETURNS_DEEP_STUBS);
     when(configMock.cache().threadPoolSize()).thenReturn(4);
 
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/event/EventExecutorProviderTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/event/EventExecutorProviderTest.java
index ee541cc..f133431 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/event/EventExecutorProviderTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/event/EventExecutorProviderTest.java
@@ -35,7 +35,7 @@
   @Before
   public void setUp() throws Exception {
     WorkQueue workQueueMock = mock(WorkQueue.class);
-    when(workQueueMock.createQueue(1, "Forward-stream-event")).thenReturn(executorMock);
+    when(workQueueMock.createQueue(1, "Forward-Stream-Event")).thenReturn(executorMock);
     eventsExecutorProvider = new EventExecutorProvider(workQueueMock);
   }
 
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexExecutorProviderTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexExecutorProviderTest.java
index e897c2c..b709b86 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexExecutorProviderTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/index/IndexExecutorProviderTest.java
@@ -38,7 +38,7 @@
   public void setUp() throws Exception {
     executorMock = mock(ScheduledThreadPoolExecutor.class);
     WorkQueue workQueueMock = mock(WorkQueue.class);
-    when(workQueueMock.createQueue(4, "Forward-index-event")).thenReturn(executorMock);
+    when(workQueueMock.createQueue(4, "Forward-Index-Event")).thenReturn(executorMock);
     Configuration configMock = mock(Configuration.class, Answers.RETURNS_DEEP_STUBS);
     when(configMock.index().threadPoolSize()).thenReturn(4);
     indexExecutorProvider = new IndexExecutorProvider(workQueueMock, configMock);