From 98666a011d7538ac9742a8351856f76fbe7d8e69 Mon Sep 17 00:00:00 2001 From: Marek Gradzki Date: Mon, 9 Jan 2017 08:23:45 +0100 Subject: HONEYCOMB-331: unify initialization handling Due to incorrect instance of check, InitSubtreeReader was never created in CompositeReaderRegistryBuilder.getSubtreeHandler(). As a consequence, initializers registered by subtreeAdd*, were not invoked. The patch: - fixes mentioned check, - makes readers implement InitReader instead of directly implementing Initializer - includes missing unit tests for GenericReaders. Change-Id: I93be59fafddb60dce00191958b5c8c62e7c2d289 Signed-off-by: Marek Gradzki --- .../translate/impl/read/registry/CompositeReaderRegistryBuilder.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/registry/CompositeReaderRegistryBuilder.java') diff --git a/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/registry/CompositeReaderRegistryBuilder.java b/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/registry/CompositeReaderRegistryBuilder.java index 290c5d4aa..36ab90995 100644 --- a/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/registry/CompositeReaderRegistryBuilder.java +++ b/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/registry/CompositeReaderRegistryBuilder.java @@ -19,6 +19,7 @@ package io.fd.honeycomb.translate.impl.read.registry; import com.google.common.collect.ImmutableMap; import io.fd.honeycomb.translate.impl.read.GenericReader; import io.fd.honeycomb.translate.read.InitReader; +import io.fd.honeycomb.translate.read.Initializer; import io.fd.honeycomb.translate.read.Reader; import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder; import io.fd.honeycomb.translate.read.registry.ReaderRegistry; @@ -46,8 +47,8 @@ public final class CompositeReaderRegistryBuilder @Override protected Reader> getSubtreeHandler(@Nonnull final Set> handledChildren, @Nonnull final Reader> reader) { - return reader instanceof InitReader - ? InitSubtreeReader.createForReader(handledChildren, reader) + return reader instanceof Initializer + ? InitSubtreeReader.createForReader(handledChildren, (InitReader)reader) : SubtreeReader.createForReader(handledChildren, reader); } -- cgit 1.2.3-korg