From f15aed916c69b0766c7bed2dc7fe534f48b97ac9 Mon Sep 17 00:00:00 2001 From: Maros Marsalek Date: Thu, 14 Jul 2016 10:41:49 +0200 Subject: HONEYCOMB-122: Reader registry integration tests Add IT test for read infrastructure + some additional unit tests + Make Read/Write Factory autoCloseable Change-Id: I6eab8e6df2c2132af01cea0a9c4b9bece7dc9b74 Signed-off-by: Maros Marsalek --- .../v3po/translate/util/read/registry/CompositeReader.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'v3po/translate-utils/src/main/java/io/fd/honeycomb/v3po/translate/util/read/registry/CompositeReader.java') diff --git a/v3po/translate-utils/src/main/java/io/fd/honeycomb/v3po/translate/util/read/registry/CompositeReader.java b/v3po/translate-utils/src/main/java/io/fd/honeycomb/v3po/translate/util/read/registry/CompositeReader.java index 64ecaf095..aa9b2dc92 100644 --- a/v3po/translate-utils/src/main/java/io/fd/honeycomb/v3po/translate/util/read/registry/CompositeReader.java +++ b/v3po/translate-utils/src/main/java/io/fd/honeycomb/v3po/translate/util/read/registry/CompositeReader.java @@ -18,6 +18,7 @@ package io.fd.honeycomb.v3po.translate.util.read.registry; import static com.google.common.base.Preconditions.checkArgument; +import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; @@ -53,6 +54,11 @@ class CompositeReader> extends Abstra this.childReaders = childReaders; } + @VisibleForTesting + ImmutableMap, Reader>> getChildReaders() { + return childReaders; + } + @SuppressWarnings("unchecked") public static InstanceIdentifier appendTypeToId( final InstanceIdentifier parentId, final InstanceIdentifier type) { @@ -66,11 +72,14 @@ class CompositeReader> extends Abstra public Optional read(@Nonnull final InstanceIdentifier id, @Nonnull final ReadContext ctx) throws ReadFailedException { if (shouldReadCurrent(id)) { + LOG.trace("{}: Reading current: {}", this, id); return readCurrent((InstanceIdentifier) id, ctx); } else if (shouldDelegateToChild(id)) { + LOG.trace("{}: Reading child: {}", this, id); return readSubtree(id, ctx); } else { // Fallback + LOG.trace("{}: Delegating read: {}", this, id); return delegate.read(id, ctx); } } @@ -95,10 +104,11 @@ class CompositeReader> extends Abstra @SuppressWarnings("unchecked") private void readChildren(final InstanceIdentifier id, @Nonnull final ReadContext ctx, final B builder) throws ReadFailedException { + LOG.debug("{}: Reading children: {}", this, childReaders.keySet()); for (Reader child : childReaders.values()) { - LOG.debug("{}: Reading child node from: {}", this, child); final InstanceIdentifier childId = appendTypeToId(id, child.getManagedDataObjectType()); + LOG.debug("{}: Reading child from: {}", this, child); if (child instanceof ListReader) { final List list = ((ListReader) child).readList(childId, ctx); ((ListReader) child).merge(builder, list); -- cgit 1.2.3-korg