From d500e65e12ce0ceaa59d30283fabde08ee3bffea Mon Sep 17 00:00:00 2001 From: Marek Gradzki Date: Thu, 8 Jun 2017 14:49:22 +0200 Subject: Hide reader and writer registry builders in registry providers. Only ReaderRegistry and WriterRegistry instances are needed by other components. Change-Id: Icc026154e80be4ca9424c79754f342e93fda0735 Signed-off-by: Marek Gradzki --- .../infra/distro/data/oper/ReaderRegistryProvider.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/data/oper/ReaderRegistryProvider.java') diff --git a/infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/data/oper/ReaderRegistryProvider.java b/infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/data/oper/ReaderRegistryProvider.java index 8370da8bb..86a5ff858 100644 --- a/infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/data/oper/ReaderRegistryProvider.java +++ b/infra/minimal-distribution/src/main/java/io/fd/honeycomb/infra/distro/data/oper/ReaderRegistryProvider.java @@ -18,18 +18,23 @@ package io.fd.honeycomb.infra.distro.data.oper; import com.google.inject.Inject; import io.fd.honeycomb.infra.distro.ProviderTrait; -import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder; +import io.fd.honeycomb.translate.impl.read.registry.CompositeReaderRegistryBuilder; +import io.fd.honeycomb.translate.read.ReaderFactory; import io.fd.honeycomb.translate.read.registry.ReaderRegistry; -import io.fd.honeycomb.translate.read.registry.ReaderRegistryBuilder; +import java.util.HashSet; +import java.util.Set; public final class ReaderRegistryProvider extends ProviderTrait { - @Inject - private ModifiableReaderRegistryBuilder readerRegistryBuilder; + @Inject(optional = true) + private Set readerFactories = new HashSet<>(); @Override protected ReaderRegistry create() { - return ((ReaderRegistryBuilder) readerRegistryBuilder).build(); + final CompositeReaderRegistryBuilder builder = new CompositeReaderRegistryBuilder(); + readerFactories.stream() + .forEach(it -> it.init(builder)); + return builder.build(); } } -- cgit 1.2.3-korg