Merge branch 'stable-2.12'

Change-Id: I432017e64c5b066daf375306379ace3326ead6c5
diff --git a/pom.xml b/pom.xml
index e30c517..2961906 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
     <groupId>com.cisco.gerrit.plugins</groupId>
     <artifactId>slack-integration</artifactId>
     <packaging>jar</packaging>
-    <version>2.12</version>
+    <version>2.13.1</version>
     <name>Slack Integration Plugin</name>
 
     <properties>
@@ -101,14 +101,6 @@
         </plugins>
     </build>
 
-    <repositories>
-        <repository>
-            <id>gerrit-api-repository</id>
-            <url>https://gerrit-api.commondatastorage.googleapis.com/release/
-            </url>
-        </repository>
-    </repositories>
-
     <dependencies>
         <dependency>
             <groupId>com.google.gerrit</groupId>
diff --git a/src/main/java/com/cisco/gerrit/plugins/slack/PublishEventListener.java b/src/main/java/com/cisco/gerrit/plugins/slack/PublishEventListener.java
index 6dec3db..26a288e 100644
--- a/src/main/java/com/cisco/gerrit/plugins/slack/PublishEventListener.java
+++ b/src/main/java/com/cisco/gerrit/plugins/slack/PublishEventListener.java
@@ -62,7 +62,7 @@
                 patchSetCreatedEvent = (PatchSetCreatedEvent) event;
 
                 config = new ProjectConfig(configFactory,
-                        patchSetCreatedEvent.change.project);
+                        patchSetCreatedEvent.change.get().project);
 
                 messageGenerator = MessageGeneratorFactory.newInstance(
                         patchSetCreatedEvent, config);
@@ -73,7 +73,7 @@
                 changeMergedEvent = (ChangeMergedEvent) event;
 
                 config = new ProjectConfig(configFactory,
-                        changeMergedEvent.change.project);
+                        changeMergedEvent.change.get().project);
 
                 messageGenerator = MessageGeneratorFactory.newInstance(
                         changeMergedEvent, config);
@@ -84,7 +84,7 @@
                 commentAddedEvent = (CommentAddedEvent) event;
 
                 config = new ProjectConfig(configFactory,
-                        commentAddedEvent.change.project);
+                        commentAddedEvent.change.get().project);
 
                 messageGenerator = MessageGeneratorFactory.newInstance(
                         commentAddedEvent, config);
diff --git a/src/main/java/com/cisco/gerrit/plugins/slack/message/ChangeMergedMessageGenerator.java b/src/main/java/com/cisco/gerrit/plugins/slack/message/ChangeMergedMessageGenerator.java
index bb6184a..4ef465a 100644
--- a/src/main/java/com/cisco/gerrit/plugins/slack/message/ChangeMergedMessageGenerator.java
+++ b/src/main/java/com/cisco/gerrit/plugins/slack/message/ChangeMergedMessageGenerator.java
@@ -79,15 +79,15 @@
             StringBuilder text;
             text = new StringBuilder();
 
-            text.append(escape(event.submitter.name));
+            text.append(escape(event.submitter.get().name));
             text.append(" merged\\n>>>");
-            text.append(escape(event.change.project));
+            text.append(escape(event.change.get().project));
             text.append(" (");
-            text.append(escape(event.change.branch));
+            text.append(escape(event.change.get().branch));
             text.append("): ");
-            text.append(escape(event.change.commitMessage.split("\n")[0]));
+            text.append(escape(event.change.get().commitMessage.split("\n")[0]));
             text.append(" (");
-            text.append(escape(event.change.url));
+            text.append(escape(event.change.get().url));
             text.append(")");
 
             message = String.format(template, text, config.getChannel(),
diff --git a/src/main/java/com/cisco/gerrit/plugins/slack/message/CommentAddedMessageGenerator.java b/src/main/java/com/cisco/gerrit/plugins/slack/message/CommentAddedMessageGenerator.java
index 6a477b9..5379a10 100644
--- a/src/main/java/com/cisco/gerrit/plugins/slack/message/CommentAddedMessageGenerator.java
+++ b/src/main/java/com/cisco/gerrit/plugins/slack/message/CommentAddedMessageGenerator.java
@@ -80,15 +80,15 @@
             StringBuilder text;
             text = new StringBuilder();
 
-            text.append(escape(event.author.name));
+            text.append(escape(event.author.get().name));
             text.append(" commented\\n>>>");
-            text.append(escape(event.change.project));
+            text.append(escape(event.change.get().project));
             text.append(" (");
-            text.append(escape(event.change.branch));
+            text.append(escape(event.change.get().branch));
             text.append("): ");
             text.append(escape(Ascii.truncate(event.comment, 200, "...")));
             text.append(" (");
-            text.append(escape(event.change.url));
+            text.append(escape(event.change.get().url));
             text.append(")");
 
             message = String.format(template, text, config.getChannel(),
diff --git a/src/main/java/com/cisco/gerrit/plugins/slack/message/PatchSetCreatedMessageGenerator.java b/src/main/java/com/cisco/gerrit/plugins/slack/message/PatchSetCreatedMessageGenerator.java
index 774c622..4147dd7 100644
--- a/src/main/java/com/cisco/gerrit/plugins/slack/message/PatchSetCreatedMessageGenerator.java
+++ b/src/main/java/com/cisco/gerrit/plugins/slack/message/PatchSetCreatedMessageGenerator.java
@@ -73,7 +73,7 @@
             pattern = Pattern.compile(config.getIgnore(), Pattern.DOTALL);
 
             Matcher matcher;
-            matcher = pattern.matcher(event.change.commitMessage);
+            matcher = pattern.matcher(event.change.get().commitMessage);
 
             // If the ignore pattern matches, publishing should not happen
             result = !matcher.matches();
@@ -101,15 +101,15 @@
             StringBuilder text;
             text = new StringBuilder();
 
-            text.append(escape(event.uploader.name));
+            text.append(escape(event.uploader.get().name));
             text.append(" proposed\\n>>>");
-            text.append(escape(event.change.project));
+            text.append(escape(event.change.get().project));
             text.append(" (");
-            text.append(escape(event.change.branch));
+            text.append(escape(event.change.get().branch));
             text.append("): ");
-            text.append(escape(event.change.commitMessage.split("\n")[0]));
+            text.append(escape(event.change.get().commitMessage.split("\n")[0]));
             text.append(" (");
-            text.append(escape(event.change.url));
+            text.append(escape(event.change.get().url));
             text.append(")");
 
             message = String.format(template, text, config.getChannel(),
diff --git a/src/test/java/com/cisco/gerrit/plugins/slack/message/ChangeMergedMessageGeneratorTest.java b/src/test/java/com/cisco/gerrit/plugins/slack/message/ChangeMergedMessageGeneratorTest.java
index 49ee3db..a6851ca 100644
--- a/src/test/java/com/cisco/gerrit/plugins/slack/message/ChangeMergedMessageGeneratorTest.java
+++ b/src/test/java/com/cisco/gerrit/plugins/slack/message/ChangeMergedMessageGeneratorTest.java
@@ -18,6 +18,7 @@
 package com.cisco.gerrit.plugins.slack.message;
 
 import com.cisco.gerrit.plugins.slack.config.ProjectConfig;
+import com.google.common.base.Suppliers;
 import com.google.gerrit.reviewdb.client.Project;
 import com.google.gerrit.server.config.PluginConfig;
 import com.google.gerrit.server.config.PluginConfigFactory;
@@ -106,7 +107,7 @@
     public void publishesWhenExpected() throws Exception
     {
         // Setup mocks
-        mockEvent.change = mockChange;
+        mockEvent.change = Suppliers.ofInstance(mockChange);
         mockChange.commitMessage = "This is a title\nAnd a the body.";
 
         // Test
@@ -121,7 +122,7 @@
     public void doesNotPublishWhenExpected() throws Exception
     {
         // Setup mocks
-        mockEvent.change = mockChange;
+        mockEvent.change = Suppliers.ofInstance(mockChange);
         mockChange.commitMessage = "WIP:This is a title\nAnd a the body.";
 
         // Test
@@ -150,8 +151,8 @@
     public void generatesExpectedMessage() throws Exception
     {
         // Setup mocks
-        mockEvent.change = mockChange;
-        mockEvent.submitter = mockAccount;
+        mockEvent.change = Suppliers.ofInstance(mockChange);
+        mockEvent.submitter = Suppliers.ofInstance(mockAccount);
 
         mockChange.project = "testproject";
         mockChange.branch = "master";
diff --git a/src/test/java/com/cisco/gerrit/plugins/slack/message/CommentAddedMessageGeneratorTest.java b/src/test/java/com/cisco/gerrit/plugins/slack/message/CommentAddedMessageGeneratorTest.java
index ce16c7f..dce6fc7 100644
--- a/src/test/java/com/cisco/gerrit/plugins/slack/message/CommentAddedMessageGeneratorTest.java
+++ b/src/test/java/com/cisco/gerrit/plugins/slack/message/CommentAddedMessageGeneratorTest.java
@@ -18,6 +18,7 @@
 package com.cisco.gerrit.plugins.slack.message;
 
 import com.cisco.gerrit.plugins.slack.config.ProjectConfig;
+import com.google.common.base.Suppliers;
 import com.google.gerrit.reviewdb.client.Project;
 import com.google.gerrit.server.config.PluginConfig;
 import com.google.gerrit.server.config.PluginConfigFactory;
@@ -148,8 +149,8 @@
     public void generatesExpectedMessage() throws Exception
     {
         // Setup mocks
-        mockEvent.change = mockChange;
-        mockEvent.author = mockAccount;
+        mockEvent.change = Suppliers.ofInstance(mockChange);
+        mockEvent.author = Suppliers.ofInstance(mockAccount);
 
         mockEvent.comment = "This is the first line\nAnd the second line.";
 
@@ -180,8 +181,8 @@
     public void generatesExpectedMessageForLongComment() throws Exception
     {
         // Setup mocks
-        mockEvent.change = mockChange;
-        mockEvent.author = mockAccount;
+        mockEvent.change = Suppliers.ofInstance(mockChange);
+        mockEvent.author = Suppliers.ofInstance(mockAccount);
 
         mockEvent.comment = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
                 "Integer tristique ligula nec dapibus lobortis. Nulla venenatis, lacus quis vulputate volutpat, " +
diff --git a/src/test/java/com/cisco/gerrit/plugins/slack/message/PatchSetCreatedMessageGeneratorTest.java b/src/test/java/com/cisco/gerrit/plugins/slack/message/PatchSetCreatedMessageGeneratorTest.java
index e534600..9f4535c 100644
--- a/src/test/java/com/cisco/gerrit/plugins/slack/message/PatchSetCreatedMessageGeneratorTest.java
+++ b/src/test/java/com/cisco/gerrit/plugins/slack/message/PatchSetCreatedMessageGeneratorTest.java
@@ -18,6 +18,7 @@
 package com.cisco.gerrit.plugins.slack.message;
 
 import com.cisco.gerrit.plugins.slack.config.ProjectConfig;
+import com.google.common.base.Suppliers;
 import com.google.gerrit.reviewdb.client.Project;
 import com.google.gerrit.server.config.PluginConfig;
 import com.google.gerrit.server.config.PluginConfigFactory;
@@ -104,7 +105,7 @@
     public void publishesWhenExpected() throws Exception
     {
         // Setup mocks
-        mockEvent.change = mockChange;
+        mockEvent.change = Suppliers.ofInstance(mockChange);
         mockChange.commitMessage = "This is a title\nAnd a the body.";
 
         // Test
@@ -119,7 +120,7 @@
     public void doesNotPublishWhenExpected() throws Exception
     {
         // Setup mocks
-        mockEvent.change = mockChange;
+        mockEvent.change = Suppliers.ofInstance(mockChange);
         mockChange.commitMessage = "WIP-This is a title\nAnd a the body.";
 
         // Test
@@ -148,8 +149,8 @@
     public void generatesExpectedMessage() throws Exception
     {
         // Setup mocks
-        mockEvent.change = mockChange;
-        mockEvent.uploader = mockAccount;
+        mockEvent.change = Suppliers.ofInstance(mockChange);
+        mockEvent.uploader = Suppliers.ofInstance(mockAccount);
 
         mockChange.project = "testproject";
         mockChange.branch = "master";