Change source instance id type from UUID to String

From Gerrit v3.2 event contains instance id field. In version 3.4
EventMessage envelope will be replaced with Event. To allow rolling
upgrade compatibility between v3.3 and v3.4 need to be assured. To do
that event-broker must be able to handle both old instanceId(UUID) and
the new one(String).

Bug: Issue 14390
Change-Id: I9892cf2b0868371eb59d24bb11a1c07209ca6682
diff --git a/pom.xml b/pom.xml
index 15d0534..4a97aab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
 
     <groupId>com.gerritforge</groupId>
     <artifactId>events-broker</artifactId>
-    <version>3.3.1</version>
+    <version>3.3.2</version>
     <packaging>jar</packaging>
 
     <name>events-broker</name>
diff --git a/src/main/java/com/gerritforge/gerrit/eventbroker/EventMessage.java b/src/main/java/com/gerritforge/gerrit/eventbroker/EventMessage.java
index 204173e..0684ae4 100644
--- a/src/main/java/com/gerritforge/gerrit/eventbroker/EventMessage.java
+++ b/src/main/java/com/gerritforge/gerrit/eventbroker/EventMessage.java
@@ -48,12 +48,16 @@
     public final UUID eventId;
 
     /** Gerrit server instance id from which event was sent. */
-    public final UUID sourceInstanceId;
+    public final String sourceInstanceId;
 
     /** @deprecated required for interoperability with older JSON wire protocols */
     public final String eventType;
 
     public Header(UUID eventId, UUID sourceInstanceId) {
+      this(eventId, sourceInstanceId.toString());
+    }
+
+    public Header(UUID eventId, String sourceInstanceId) {
       this.eventId = eventId;
       this.sourceInstanceId = sourceInstanceId;
       this.eventType = "";