Support for Gerrit 2.12

- Switched to implementing EventListener
- Renamed listener impl to PublishEventListener
- Now using Event in place of ChangeEvent

Change-Id: Iad00a1dcca893967cdba1d60453e9725237ac2c1
diff --git a/pom.xml b/pom.xml
index 1aac62d..e30c517 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,14 +25,14 @@
     <groupId>com.cisco.gerrit.plugins</groupId>
     <artifactId>slack-integration</artifactId>
     <packaging>jar</packaging>
-    <version>2.9</version>
+    <version>2.12</version>
     <name>Slack Integration Plugin</name>
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
         <gerrit-api-type>plugin</gerrit-api-type>
-        <gerrit-api-version>2.9</gerrit-api-version>
+        <gerrit-api-version>${project.version}</gerrit-api-version>
     </properties>
 
     <build>
diff --git a/src/main/java/com/cisco/gerrit/plugins/slack/EventListener.java b/src/main/java/com/cisco/gerrit/plugins/slack/PublishEventListener.java
similarity index 92%
rename from src/main/java/com/cisco/gerrit/plugins/slack/EventListener.java
rename to src/main/java/com/cisco/gerrit/plugins/slack/PublishEventListener.java
index b4c4ca5..2c7dead 100644
--- a/src/main/java/com/cisco/gerrit/plugins/slack/EventListener.java
+++ b/src/main/java/com/cisco/gerrit/plugins/slack/PublishEventListener.java
@@ -21,11 +21,11 @@
 import com.cisco.gerrit.plugins.slack.config.ProjectConfig;
 import com.cisco.gerrit.plugins.slack.message.MessageGenerator;
 import com.cisco.gerrit.plugins.slack.message.MessageGeneratorFactory;
-import com.google.gerrit.common.ChangeListener;
+import com.google.gerrit.common.EventListener;
 import com.google.gerrit.extensions.annotations.Listen;
 import com.google.gerrit.server.config.PluginConfigFactory;
-import com.google.gerrit.server.events.ChangeEvent;
 import com.google.gerrit.server.events.ChangeMergedEvent;
+import com.google.gerrit.server.events.Event;
 import com.google.gerrit.server.events.PatchSetCreatedEvent;
 import com.google.inject.Inject;
 import com.google.inject.Singleton;
@@ -37,10 +37,10 @@
  */
 @Listen
 @Singleton
-public class EventListener implements ChangeListener
+public class PublishEventListener implements EventListener
 {
     private static final Logger LOGGER =
-            LoggerFactory.getLogger(EventListener.class);
+            LoggerFactory.getLogger(PublishEventListener.class);
 
     private static final String ALL_PROJECTS = "All-Projects";
 
@@ -48,7 +48,7 @@
     private PluginConfigFactory configFactory;
 
     @Override
-    public void onChangeEvent(ChangeEvent event)
+    public void onEvent(Event event)
     {
         try
         {
diff --git a/src/main/java/com/cisco/gerrit/plugins/slack/message/MessageGeneratorFactory.java b/src/main/java/com/cisco/gerrit/plugins/slack/message/MessageGeneratorFactory.java
index 5e026db..1c168e6 100644
--- a/src/main/java/com/cisco/gerrit/plugins/slack/message/MessageGeneratorFactory.java
+++ b/src/main/java/com/cisco/gerrit/plugins/slack/message/MessageGeneratorFactory.java
@@ -18,8 +18,8 @@
 package com.cisco.gerrit.plugins.slack.message;
 
 import com.cisco.gerrit.plugins.slack.config.ProjectConfig;
-import com.google.gerrit.server.events.ChangeEvent;
 import com.google.gerrit.server.events.ChangeMergedEvent;
+import com.google.gerrit.server.events.Event;
 import com.google.gerrit.server.events.PatchSetCreatedEvent;
 
 /**
@@ -71,13 +71,13 @@
     /**
      * Creates a new MessageGenerator for unsupported events.
      *
-     * @param event A ChangeEvent instance
+     * @param event An Event instance
      * @param config A ProjectConfig instance for the given event
      *
      * @return A MessageGenerator instance capable of generating a message for
-     * an unsupported ChangeEvent.
+     * an unsupported Event.
      */
-    public static MessageGenerator newInstance(ChangeEvent event,
+    public static MessageGenerator newInstance(Event event,
             ProjectConfig config)
     {
         UnsupportedMessageGenerator messageGenerator;
diff --git a/src/main/java/com/cisco/gerrit/plugins/slack/message/UnsupportedMessageGenerator.java b/src/main/java/com/cisco/gerrit/plugins/slack/message/UnsupportedMessageGenerator.java
index 6dcd767..ac5922b 100644
--- a/src/main/java/com/cisco/gerrit/plugins/slack/message/UnsupportedMessageGenerator.java
+++ b/src/main/java/com/cisco/gerrit/plugins/slack/message/UnsupportedMessageGenerator.java
@@ -18,11 +18,11 @@
 package com.cisco.gerrit.plugins.slack.message;
 
 import com.cisco.gerrit.plugins.slack.config.ProjectConfig;
-import com.google.gerrit.server.events.ChangeEvent;
+import com.google.gerrit.server.events.Event;
 
 /**
  * A specific MessageGenerator implementation that can generate a message for
- * an unsupported ChangeEvent. The default behavior for this MessageGenerator
+ * an unsupported Event. The default behavior for this MessageGenerator
  * is to flag that it should not be published.
  *
  * @author Matthew Montgomery
@@ -30,9 +30,9 @@
 public class UnsupportedMessageGenerator extends MessageGenerator
 {
     private ProjectConfig config;
-    private ChangeEvent event;
+    private Event event;
 
-    protected UnsupportedMessageGenerator(ChangeEvent event,
+    protected UnsupportedMessageGenerator(Event event,
             ProjectConfig config)
     {
         if (event == null)
@@ -56,7 +56,7 @@
         StringBuilder message;
         message = new StringBuilder();
 
-        message.append("Unsupported change event: ");
+        message.append("Unsupported event: ");
         message.append(this.event.toString());
 
         return message.toString();
diff --git a/src/test/java/com/cisco/gerrit/plugins/slack/EventListenerTest.java b/src/test/java/com/cisco/gerrit/plugins/slack/PublishEventListenerTest.java
similarity index 86%
rename from src/test/java/com/cisco/gerrit/plugins/slack/EventListenerTest.java
rename to src/test/java/com/cisco/gerrit/plugins/slack/PublishEventListenerTest.java
index bed0523..0e3bc5a 100644
--- a/src/test/java/com/cisco/gerrit/plugins/slack/EventListenerTest.java
+++ b/src/test/java/com/cisco/gerrit/plugins/slack/PublishEventListenerTest.java
@@ -25,19 +25,19 @@
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 
-public class EventListenerTest
+public class PublishEventListenerTest
 {
     private PatchSetCreatedEvent mockPatchSetCreatedEvent =
             mock(PatchSetCreatedEvent.class);
-    private ChangeMergedEvent mocChangeMergedEvent =
+    private ChangeMergedEvent mockChangeMergedEvent =
             mock(ChangeMergedEvent.class);
 
-    private EventListener eventListener;
+    private PublishEventListener publishEventListener;
 
     @Before
     public void setup() throws Exception
     {
-        eventListener = new EventListener();
+        publishEventListener = new PublishEventListener();
     }
 
     @Test