Change Solver structure
To support layered solver in future
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 a2bc44f..a188982 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java
@@ -38,7 +38,7 @@
import com.googlesource.gerrit.plugins.rabbitmq.session.Session;
import com.googlesource.gerrit.plugins.rabbitmq.session.SessionFactory;
import com.googlesource.gerrit.plugins.rabbitmq.session.impl.AMQPSession;
-import com.googlesource.gerrit.plugins.rabbitmq.solver.BCSolver;
+import com.googlesource.gerrit.plugins.rabbitmq.solver.SolverImpl;
import com.googlesource.gerrit.plugins.rabbitmq.solver.Solver;
import com.googlesource.gerrit.plugins.rabbitmq.solver.SolverFactory;
@@ -47,7 +47,7 @@
@Override
protected void configure() {
bind(Gerrit.class);
- bind(BCSolver.class);
+ bind(SolverImpl.class);
bind(IdentifiedChangeListener.class);
bind(RabbitMQManager.class);
@@ -57,7 +57,7 @@
bind(Section.class).annotatedWith(Names.named("message")).to(Message.class);
bind(Section.class).annotatedWith(Names.named("monitor")).to(Monitor.class);
- install(new FactoryModuleBuilder().implement(Solver.class, BCSolver.class).build(SolverFactory.class));
+ install(new FactoryModuleBuilder().implement(Solver.class, SolverImpl.class).build(SolverFactory.class));
install(new FactoryModuleBuilder().implement(Session.class, AMQPSession.class).build(SessionFactory.class));
install(new FactoryModuleBuilder().implement(Publisher.class, MessagePublisher.class).build(PublisherFactory.class));
install(new FactoryModuleBuilder().implement(Properties.class, PluginProperties.class).build(PropertiesFactory.class));
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/solver/SolverImpl.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/solver/SolverImpl.java
new file mode 100644
index 0000000..b7de500
--- /dev/null
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/solver/SolverImpl.java
@@ -0,0 +1,46 @@
+// Copyright (C) 2015 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package com.googlesource.gerrit.plugins.rabbitmq.solver;
+
+import com.google.gerrit.extensions.annotations.PluginData;
+import com.google.gerrit.extensions.annotations.PluginName;
+import com.google.gerrit.server.config.SitePaths;
+import com.google.inject.Inject;
+
+import com.googlesource.gerrit.plugins.rabbitmq.solver.version.V1;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+
+public class SolverImpl implements Solver {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(SolverImpl.class);
+
+ private final Solver solver;
+
+ @Inject
+ public SolverImpl(
+ @PluginName final String pluginName,
+ @PluginData final File pluginData,
+ final SitePaths sites
+ ) {
+ this.solver = new V1(pluginName, pluginData, sites);
+ }
+
+ public void solve() {
+ solver.solve();
+ }
+}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/solver/BCSolver.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/solver/version/V1.java
similarity index 80%
rename from src/main/java/com/googlesource/gerrit/plugins/rabbitmq/solver/BCSolver.java
rename to src/main/java/com/googlesource/gerrit/plugins/rabbitmq/solver/version/V1.java
index af35a33..824d2fc 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/solver/BCSolver.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/solver/version/V1.java
@@ -10,17 +10,16 @@
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
-// limitations under the License.
-package com.googlesource.gerrit.plugins.rabbitmq.solver;
+package com.googlesource.gerrit.plugins.rabbitmq.solver.version;
import static com.googlesource.gerrit.plugins.rabbitmq.RabbitMQManager.FILE_EXT;
import static com.googlesource.gerrit.plugins.rabbitmq.RabbitMQManager.SITE_DIR;
-import com.google.gerrit.extensions.annotations.PluginData;
-import com.google.gerrit.extensions.annotations.PluginName;
import com.google.gerrit.server.config.SitePaths;
import com.google.inject.Inject;
+import com.googlesource.gerrit.plugins.rabbitmq.solver.Solver;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -28,19 +27,19 @@
import java.nio.file.Files;
import java.nio.file.Path;
-public class BCSolver implements Solver {
+public class V1 implements Solver {
private final static String DEFAULT_SITE_NAME = "default";
- private static final Logger LOGGER = LoggerFactory.getLogger(BCSolver.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(V1.class);
private final String pluginName;
private final Path pluginDataDir;
private final Path etcDir;
@Inject
- public BCSolver(
- @PluginName final String pluginName,
- @PluginData final File pluginData,
+ public V1(
+ final String pluginName,
+ final File pluginData,
final SitePaths sites
) {
this.pluginName = pluginName;