Merge branch 'stable-2.10' into stable-2.11
* stable-2.10:
Remove unused import and annotation
Put exception message to logger
Rename ChangeWorker to EventWorker
Apply multibinding to Solver
Rename RabbitMQManager to Manager
Apply Provider pattern to SessionFactory
Fix shutdown channel/connection logic
Fix close logic for session
Fix shutdown session
Apply Guice Multibinder to Section injection
Add Guice multibinding extension library
Update gradle-shadow plugin to 1.2.1 then fix build.gradle
Update git ignore pattern
Some improvements
Change Solver structure
Decoupled normalize() from fromConfig()
Structured configuration classes
Cleanup codes
Create some packages then move classes
Roughly support multi config
Add MessagePublishers to listen ChangeEvent
Add dependency: commons-io
Get plugin name then assume config filename
Remove unnecessary codes
Conflicts:
src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java
src/main/java/com/googlesource/gerrit/plugins/rabbitmq/RabbitMQManager.java
Change-Id: I8d590c735c8bd81acf30a30c1f0feb97e101e1cd
diff --git a/gradle.properties b/gradle.properties
index f475d25..84e72a9 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,2 +1,2 @@
apiType=plugin
-apiVersion=2.10
+apiVersion=2.11-SNAPSHOT
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java
index d19b4c3..a78e513 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java
@@ -14,7 +14,7 @@
package com.googlesource.gerrit.plugins.rabbitmq;
-import com.google.gerrit.common.ChangeListener;
+import com.google.gerrit.common.EventListener;
import com.google.gerrit.extensions.events.LifecycleListener;
import com.google.gerrit.extensions.registration.DynamicSet;
import com.google.inject.AbstractModule;
@@ -63,6 +63,6 @@
install(new FactoryModuleBuilder().implement(EventWorker.class, UserEventWorker.class).build(EventWorkerFactory.class));
DynamicSet.bind(binder(), LifecycleListener.class).to(Manager.class);
- DynamicSet.bind(binder(), ChangeListener.class).to(DefaultEventWorker.class);
+ DynamicSet.bind(binder(), EventListener.class).to(DefaultEventWorker.class);
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java
index 5d31adc..201f0ac 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java
@@ -15,11 +15,10 @@
package com.googlesource.gerrit.plugins.rabbitmq.message;
import com.google.gerrit.extensions.events.LifecycleListener;
-import com.google.gerrit.server.events.ChangeEvent;
+import com.google.gerrit.server.events.Event;
import com.google.gson.Gson;
import com.google.inject.Inject;
import com.google.inject.assistedinject.Assisted;
-
import com.googlesource.gerrit.plugins.rabbitmq.config.Properties;
import com.googlesource.gerrit.plugins.rabbitmq.config.section.Monitor;
import com.googlesource.gerrit.plugins.rabbitmq.session.Session;
@@ -78,7 +77,7 @@
}
@Override
- public void onChangeEvent(ChangeEvent event) {
+ public void onEvent(Event event) {
if (available && session.isOpen()) {
session.publish(gson.toJson(event));
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/Publisher.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/Publisher.java
index 77d4962..8cc38cb 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/Publisher.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/Publisher.java
@@ -1,11 +1,11 @@
package com.googlesource.gerrit.plugins.rabbitmq.message;
-import com.google.gerrit.common.ChangeListener;
+import com.google.gerrit.common.EventListener;
import com.googlesource.gerrit.plugins.rabbitmq.config.Properties;
import com.googlesource.gerrit.plugins.rabbitmq.session.Session;
-public interface Publisher extends ChangeListener {
+public interface Publisher extends EventListener {
public void start();
public void stop();
public void enable();
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/DefaultEventWorker.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/DefaultEventWorker.java
index 6ebfb0d..2d2e5ba 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/DefaultEventWorker.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/DefaultEventWorker.java
@@ -14,10 +14,9 @@
package com.googlesource.gerrit.plugins.rabbitmq.worker;
-import com.google.gerrit.common.ChangeListener;
-import com.google.gerrit.server.events.ChangeEvent;
+import com.google.gerrit.common.EventListener;
+import com.google.gerrit.server.events.Event;
import com.google.inject.Singleton;
-
import com.googlesource.gerrit.plugins.rabbitmq.message.Publisher;
import org.slf4j.Logger;
@@ -27,7 +26,7 @@
import java.util.concurrent.CopyOnWriteArraySet;
@Singleton
-public class DefaultEventWorker implements ChangeListener, EventWorker {
+public class DefaultEventWorker implements EventListener, EventWorker {
private static final Logger LOGGER = LoggerFactory.getLogger(DefaultEventWorker.class);
@@ -54,9 +53,9 @@
}
@Override
- public void onChangeEvent(ChangeEvent event) {
+ public void onEvent(Event event) {
for (Publisher publisher : publishers) {
- publisher.onChangeEvent(event);
+ publisher.onEvent(event);
}
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/UserEventWorker.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/UserEventWorker.java
index 1f7710d..3f63b79 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/UserEventWorker.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/UserEventWorker.java
@@ -14,7 +14,7 @@
package com.googlesource.gerrit.plugins.rabbitmq.worker;
-import com.google.gerrit.common.ChangeHooks;
+import com.google.gerrit.common.EventSource;
import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.CurrentUser;
@@ -39,7 +39,7 @@
private static final Logger LOGGER = LoggerFactory.getLogger(UserEventWorker.class);
- private final ChangeHooks hooks;
+ private final EventSource source;
private final WorkQueue workQueue;
private final AccountResolver accountResolver;
private final IdentifiedUser.GenericFactory userFactory;
@@ -49,14 +49,14 @@
@Inject
public UserEventWorker(
- ChangeHooks hooks,
+ EventSource source,
WorkQueue workQueue,
AccountResolver accountResolver,
IdentifiedUser.GenericFactory userFactory,
ThreadLocalRequestContext threadLocalRequestContext,
PluginUser pluginUser,
SchemaFactory<ReviewDb> schemaFactory) {
- this.hooks = hooks;
+ this.source = source;
this.workQueue = workQueue;
this.accountResolver = accountResolver;
this.userFactory = userFactory;
@@ -111,7 +111,7 @@
}
IdentifiedUser user = userFactory.create(userAccount.getId());
- hooks.addChangeListener(publisher, user);
+ source.addEventListener(publisher, user);
LOGGER.info("Listen events as : {}", userName);
} catch (OrmException e) {
LOGGER.error("Could not query database for listenAs", e);
@@ -129,7 +129,7 @@
@Override
public void removePublisher(final Publisher publisher) {
- hooks.removeChangeListener(publisher);
+ source.removeEventListener(publisher);
}
@Override