Merge branch 'stable-3.3' into stable-3.4

* stable-3.3:
  Change source instance id type from UUID to String

Change-Id: If4cafd7e041ed9ed2c635871ae8ca6389578bbc7
diff --git a/pom.xml b/pom.xml
index 4a97aab..68dd601 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
 
     <groupId>com.gerritforge</groupId>
     <artifactId>events-broker</artifactId>
-    <version>3.3.2</version>
+    <version>3.4.0-rc0</version>
     <packaging>jar</packaging>
 
     <name>events-broker</name>
@@ -39,7 +39,7 @@
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <auto-value.version>1.7.4</auto-value.version>
-        <gerrit.version>3.3.1</gerrit.version>
+        <gerrit.version>3.4.0-rc0</gerrit.version>
     </properties>
 
     <dependencies>
diff --git a/src/main/java/com/gerritforge/gerrit/eventbroker/EventGsonProvider.java b/src/main/java/com/gerritforge/gerrit/eventbroker/EventGsonProvider.java
index bf55621..be548fa 100644
--- a/src/main/java/com/gerritforge/gerrit/eventbroker/EventGsonProvider.java
+++ b/src/main/java/com/gerritforge/gerrit/eventbroker/EventGsonProvider.java
@@ -15,9 +15,8 @@
 package com.gerritforge.gerrit.eventbroker;
 
 import com.google.common.base.Supplier;
-import com.google.gerrit.entities.Change;
+import com.google.gerrit.entities.EntitiesAdapterFactory;
 import com.google.gerrit.entities.Project;
-import com.google.gerrit.server.change.ChangeKeyAdapter;
 import com.google.gerrit.server.events.Event;
 import com.google.gerrit.server.events.EventDeserializer;
 import com.google.gerrit.server.events.EventTypes;
@@ -53,7 +52,7 @@
     }
   }
 
-  public class ProjectNameKeyDeserializer implements JsonDeserializer<Project.NameKey> {
+  public static class ProjectNameKeyDeserializer implements JsonDeserializer<Project.NameKey> {
 
     @Override
     public Project.NameKey deserialize(
@@ -78,8 +77,8 @@
         .registerTypeAdapter(Event.class, new EventSerializer())
         .registerTypeAdapter(Supplier.class, new SupplierSerializer())
         .registerTypeAdapter(Supplier.class, new SupplierDeserializer())
-        .registerTypeAdapter(Change.Key.class, new ChangeKeyAdapter())
         .registerTypeAdapter(Project.NameKey.class, new ProjectNameKeyAdapter())
+        .registerTypeAdapterFactory(EntitiesAdapterFactory.create())
         .create();
   }
 }
diff --git a/src/main/java/com/gerritforge/gerrit/eventbroker/InProcessBrokerApi.java b/src/main/java/com/gerritforge/gerrit/eventbroker/InProcessBrokerApi.java
index 894e4ed..c8daa0e 100644
--- a/src/main/java/com/gerritforge/gerrit/eventbroker/InProcessBrokerApi.java
+++ b/src/main/java/com/gerritforge/gerrit/eventbroker/InProcessBrokerApi.java
@@ -89,7 +89,7 @@
     }
   }
 
-  private class EventBusMessageRecorder {
+  private static class EventBusMessageRecorder {
     private EvictingQueue messagesQueue;
 
     public EventBusMessageRecorder(EvictingQueue messagesQueue) {