Use EventGsonProvider binding from Gerrit core
EventGsonProvider is already binded in Gerrit Core. Use EventGson
annotation to use Gson provided by Gerrit Core.
Bug: Issue 14425
Change-Id: Icad506c9bf058ebd4886df75dfb8464ffe94eba7
diff --git a/external_plugin_deps.bzl b/external_plugin_deps.bzl
index 52ac706..0bb8f8a 100644
--- a/external_plugin_deps.bzl
+++ b/external_plugin_deps.bzl
@@ -109,8 +109,8 @@
maven_jar(
name = "events-broker",
- artifact = "com.gerritforge:events-broker:3.4.0.1",
- sha1 = "2d406afa8787621442d855e4b458c97bd24f1198",
+ artifact = "com.gerritforge:events-broker:3.4.0.2",
+ sha1 = "8a56300ce92c3e25b4669a0511b4c520b34851b2",
)
maven_jar(
diff --git a/src/main/java/com/googlesource/gerrit/plugins/kinesis/KinesisBrokerApi.java b/src/main/java/com/googlesource/gerrit/plugins/kinesis/KinesisBrokerApi.java
index 1c053b4..36e9f60 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/kinesis/KinesisBrokerApi.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/kinesis/KinesisBrokerApi.java
@@ -18,6 +18,7 @@
import com.gerritforge.gerrit.eventbroker.EventMessage;
import com.gerritforge.gerrit.eventbroker.TopicSubscriber;
import com.google.common.util.concurrent.ListenableFuture;
+import com.google.gerrit.server.events.EventGson;
import com.google.gson.Gson;
import com.google.inject.Inject;
import java.util.Collections;
@@ -35,7 +36,9 @@
@Inject
public KinesisBrokerApi(
- Gson gson, KinesisPublisher kinesisPublisher, KinesisConsumer.Factory consumerFactory) {
+ @EventGson Gson gson,
+ KinesisPublisher kinesisPublisher,
+ KinesisConsumer.Factory consumerFactory) {
this.gson = gson;
this.kinesisPublisher = kinesisPublisher;
this.consumerFactory = consumerFactory;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/kinesis/KinesisPublisher.java b/src/main/java/com/googlesource/gerrit/plugins/kinesis/KinesisPublisher.java
index 225649a..d54540d 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/kinesis/KinesisPublisher.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/kinesis/KinesisPublisher.java
@@ -22,6 +22,7 @@
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.SettableFuture;
import com.google.gerrit.server.events.Event;
+import com.google.gerrit.server.events.EventGson;
import com.google.gerrit.server.events.EventListener;
import com.google.gson.Gson;
import com.google.inject.Inject;
@@ -45,7 +46,7 @@
@Inject
public KinesisPublisher(
- Gson gson,
+ @EventGson Gson gson,
KinesisProducer kinesisProducer,
Configuration configuration,
@ProducerCallbackExecutor ExecutorService callBackExecutor) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/kinesis/Module.java b/src/main/java/com/googlesource/gerrit/plugins/kinesis/Module.java
index 23a8a1d..9234c67 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/kinesis/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/kinesis/Module.java
@@ -24,12 +24,9 @@
import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.extensions.registration.DynamicSet;
import com.google.gerrit.lifecycle.LifecycleModule;
-import com.google.gerrit.server.events.EventGsonProvider;
import com.google.gerrit.server.events.EventListener;
-import com.google.gson.Gson;
import com.google.inject.Inject;
import com.google.inject.Scopes;
-import com.google.inject.Singleton;
import com.google.inject.TypeLiteral;
import java.util.Set;
import java.util.concurrent.ExecutorService;
@@ -76,7 +73,6 @@
factory(SchedulerProvider.Factory.class);
bind(new TypeLiteral<Set<TopicSubscriber>>() {}).toInstance(activeConsumers);
DynamicItem.bind(binder(), BrokerApi.class).to(KinesisBrokerApi.class).in(Scopes.SINGLETON);
- bind(Gson.class).toProvider(EventGsonProvider.class).in(Singleton.class);
DynamicSet.bind(binder(), LifecycleListener.class).to(KinesisBrokerLifeCycleManager.class);
factory(KinesisConsumer.Factory.class);
DynamicSet.bind(binder(), EventListener.class).to(KinesisPublisher.class);
diff --git a/src/test/java/com/googlesource/gerrit/plugins/kinesis/KinesisRecordProcessorTest.java b/src/test/java/com/googlesource/gerrit/plugins/kinesis/KinesisRecordProcessorTest.java
index 1c30628..4d6c246 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/kinesis/KinesisRecordProcessorTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/kinesis/KinesisRecordProcessorTest.java
@@ -22,9 +22,9 @@
import static org.mockito.Mockito.when;
import com.gerritforge.gerrit.eventbroker.EventDeserializer;
-import com.gerritforge.gerrit.eventbroker.EventGsonProvider;
import com.gerritforge.gerrit.eventbroker.EventMessage;
import com.google.gerrit.server.events.Event;
+import com.google.gerrit.server.events.EventGsonProvider;
import com.google.gerrit.server.events.ProjectCreatedEvent;
import com.google.gerrit.server.util.ManualRequestContext;
import com.google.gerrit.server.util.OneOffRequestContext;