Check for missing readers when building CompositeReaderRegistry 46/9946/1
authorJakub Morvay <jmorvay@frinx.io>
Thu, 4 Jan 2018 11:14:13 +0000 (12:14 +0100)
committerJakub Morvay <jmorvay@frinx.io>
Thu, 4 Jan 2018 11:43:24 +0000 (12:43 +0100)
Change-Id: Ic5e16e7a53836600236701caa51599bc0b957955
Signed-off-by: Jakub Morvay <jmorvay@frinx.io>
infra/translate-impl/src/main/java/io/fd/honeycomb/translate/impl/read/registry/CompositeReaderRegistryBuilder.java

index 4f7e1e1..8ee84b4 100644 (file)
@@ -16,6 +16,7 @@
 
 package io.fd.honeycomb.translate.impl.read.registry;
 
+import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableMap;
 import io.fd.honeycomb.translate.impl.read.GenericListReader;
 import io.fd.honeycomb.translate.impl.read.GenericReader;
@@ -131,8 +132,13 @@ public final class CompositeReaderRegistryBuilder
         }
 
         final ImmutableMap<Class<?>, Reader<?, ? extends Builder<?>>> childReadersMap = childReadersMapB.build();
-        return childReadersMap.isEmpty()
-                ? mappedReaders.get(instanceIdentifier)
-                : CompositeReader.createForReader(mappedReaders.get(instanceIdentifier), childReadersMap);
+
+        if (childReadersMap.isEmpty()) {
+            return mappedReaders.get(instanceIdentifier);
+        } else {
+            final Reader<?, ?> reader = Preconditions.checkNotNull(mappedReaders.get(instanceIdentifier),
+                    "Missing reader for %s", instanceIdentifier);
+            return CompositeReader.createForReader(reader, childReadersMap);
+        }
     }
 }