Simplify kafka session creation Remove unneeded SessionFactoryProvider abstraction and use factory module instead as it's already done for publisher creation. Change-Id: I58ccdbb12b48fab6a6cc8e4c5315b90d20def27f
diff --git a/src/main/java/com/googlesource/gerrit/plugins/kafka/Module.java b/src/main/java/com/googlesource/gerrit/plugins/kafka/Module.java index 53c08e5..03acb16 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/kafka/Module.java +++ b/src/main/java/com/googlesource/gerrit/plugins/kafka/Module.java
@@ -26,15 +26,13 @@ import com.googlesource.gerrit.plugins.kafka.message.GsonProvider; import com.googlesource.gerrit.plugins.kafka.message.PublisherFactory; import com.googlesource.gerrit.plugins.kafka.session.KafkaSessionFactory; -import com.googlesource.gerrit.plugins.kafka.session.SessionFactoryProvider; import com.googlesource.gerrit.plugins.kafka.worker.DefaultEventWorker; class Module extends FactoryModule { @Override protected void configure() { - bind(KafkaSessionFactory.class).toProvider(SessionFactoryProvider.class); - + factory(KafkaSessionFactory.class); factory(PublisherFactory.class); bind(KafkaProperties.class).toProvider(KafkaPropertiesProvider.class) .in(Singleton.class);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/kafka/message/Publisher.java b/src/main/java/com/googlesource/gerrit/plugins/kafka/message/Publisher.java index 7fa4752..8372f15 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/kafka/message/Publisher.java +++ b/src/main/java/com/googlesource/gerrit/plugins/kafka/message/Publisher.java
@@ -22,7 +22,7 @@ import com.googlesource.gerrit.plugins.kafka.config.KafkaProperties; import com.googlesource.gerrit.plugins.kafka.session.KafkaSession; -import com.googlesource.gerrit.plugins.kafka.session.SessionFactoryProvider; +import com.googlesource.gerrit.plugins.kafka.session.KafkaSessionFactory; public class Publisher implements EventListener { @@ -33,10 +33,10 @@ @Inject public Publisher( - SessionFactoryProvider sessionFactoryProvider, + KafkaSessionFactory kafkaSessionFactory, Gson gson, @Assisted KafkaProperties properties) { - this.session = sessionFactoryProvider.get().create(properties); + this.session = kafkaSessionFactory.create(properties); this.properties = properties; this.gson = gson; }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSession.java b/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSession.java index 9b7717d..2abfffa 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSession.java +++ b/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSession.java
@@ -14,6 +14,8 @@ package com.googlesource.gerrit.plugins.kafka.session; +import com.google.inject.Inject; +import com.google.inject.assistedinject.Assisted; import com.googlesource.gerrit.plugins.kafka.config.KafkaProperties; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.Producer; @@ -28,7 +30,8 @@ private final KafkaProperties properties; private volatile Producer<String, String> producer; - public KafkaSession(KafkaProperties properties) { + @Inject + public KafkaSession(@Assisted KafkaProperties properties) { this.properties = properties; }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSessionFactory.java b/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSessionFactory.java index 3a13721..c002b5c 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSessionFactory.java +++ b/src/main/java/com/googlesource/gerrit/plugins/kafka/session/KafkaSessionFactory.java
@@ -16,8 +16,6 @@ import com.googlesource.gerrit.plugins.kafka.config.KafkaProperties; -public class KafkaSessionFactory { - public KafkaSession create(KafkaProperties properties) { - return new KafkaSession(properties); - } +public interface KafkaSessionFactory { + KafkaSession create(KafkaProperties properties); }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/kafka/session/SessionFactoryProvider.java b/src/main/java/com/googlesource/gerrit/plugins/kafka/session/SessionFactoryProvider.java deleted file mode 100644 index 0a869be..0000000 --- a/src/main/java/com/googlesource/gerrit/plugins/kafka/session/SessionFactoryProvider.java +++ /dev/null
@@ -1,25 +0,0 @@ -// Copyright (C) 2016 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.kafka.session; - -import com.google.inject.Provider; - -public class SessionFactoryProvider implements Provider<KafkaSessionFactory> { - - @Override - public KafkaSessionFactory get() { - return new KafkaSessionFactory(); - } -}