From 757222979bc02d0aaba1870eea36413383d15bde Mon Sep 17 00:00:00 2001 From: Maros Marsalek Date: Tue, 8 Nov 2016 10:13:36 +0100 Subject: HONEYCOMB-270 Add isPresent() to Readers/Customizers So that they can influence whether empty data is to be considered as present + Move registries implementations from util to impl + Introduce DelegatingReader trait + Extend GenericReader where possible to reduce duplication Change-Id: I5a416acd0c4eab1fbc30fcbe585719991dbe9215 Signed-off-by: Maros Marsalek --- .../translate/impl/read/GenericListReader.java | 30 +++------------------- 1 file changed, 4 insertions(+), 26 deletions(-) (limited to 'infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/GenericListReader.java') diff --git a/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/GenericListReader.java b/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/GenericListReader.java index ad93e8fe9..b06ac060f 100644 --- a/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/GenericListReader.java +++ b/infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/GenericListReader.java @@ -25,7 +25,6 @@ import io.fd.honeycomb.translate.read.ReadContext; import io.fd.honeycomb.translate.read.ReadFailedException; import io.fd.honeycomb.translate.spi.read.ListReaderCustomizer; import io.fd.honeycomb.translate.util.RWUtils; -import io.fd.honeycomb.translate.util.read.AbstractGenericReader; import java.util.ArrayList; import java.util.List; import javax.annotation.Nonnull; @@ -48,12 +47,10 @@ import org.slf4j.LoggerFactory; @Beta @ThreadSafe public class GenericListReader, K extends Identifier, B extends Builder> - extends AbstractGenericReader implements ListReader { + extends GenericReader implements ListReader { private static final Logger LOG = LoggerFactory.getLogger(GenericListReader.class); - protected final ListReaderCustomizer customizer; - /** * Create new {@link GenericListReader} * @@ -62,8 +59,7 @@ public class GenericListReader, K extends */ public GenericListReader(@Nonnull final InstanceIdentifier managedDataObjectType, @Nonnull final ListReaderCustomizer customizer) { - super(managedDataObjectType); - this.customizer = customizer; + super(managedDataObjectType, customizer); } @Override @@ -92,31 +88,13 @@ public class GenericListReader, K extends public List getAllIds(@Nonnull final InstanceIdentifier id, @Nonnull final ReadContext ctx) throws ReadFailedException { LOG.trace("{}: Getting all list ids", this); - final List allIds = customizer.getAllIds(id, ctx); + final List allIds = ((ListReaderCustomizer) customizer).getAllIds(id, ctx); LOG.debug("{}: All list ids: {}", this, allIds); return allIds; } @Override public void merge(@Nonnull final Builder builder, @Nonnull final List readData) { - customizer.merge(builder, readData); - } - - @Override - public void readCurrentAttributes(@Nonnull final InstanceIdentifier id, @Nonnull final B builder, - @Nonnull final ReadContext ctx) - throws ReadFailedException { - try { - customizer.readCurrentAttributes(id, builder, ctx); - } catch (RuntimeException e) { - throw new ReadFailedException(id, e); - } + ((ListReaderCustomizer) customizer).merge(builder, readData); } - - @Nonnull - @Override - public B getBuilder(@Nonnull final InstanceIdentifier id) { - return customizer.getBuilder(id); - } - } -- cgit 1.2.3-korg