From 1326e9fa5cffe326b82aeee9d82d008526aff947 Mon Sep 17 00:00:00 2001 From: Maros Marsalek Date: Mon, 5 Sep 2016 12:10:26 +0200 Subject: Cleanup TODOs and FIXMEs - Fix minor ones - Report bigger and include issue number in comment - Pull common dependencies into dependency management of common/parents Change-Id: I06a6ac37c52b603fd73ed42023d6b2e7fa18010f Signed-off-by: Maros Marsalek --- ...stractSubtreeManagerRegistryBuilderBuilder.java | 4 ++-- .../io/fd/honeycomb/translate/util/RWUtils.java | 13 ++++++------ .../translate/util/TransactionMappingContext.java | 2 +- .../translate/util/read/AbstractGenericReader.java | 3 ++- .../util/read/registry/SubtreeReader.java | 23 +++++++--------------- .../util/write/TransactionWriteContext.java | 5 ++--- .../util/write/registry/FlatWriterRegistry.java | 5 +---- 7 files changed, 22 insertions(+), 33 deletions(-) (limited to 'infra/translate-utils/src/main/java/io/fd/honeycomb/translate') diff --git a/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/AbstractSubtreeManagerRegistryBuilderBuilder.java b/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/AbstractSubtreeManagerRegistryBuilderBuilder.java index bf1e89c12..07f2bf1ee 100644 --- a/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/AbstractSubtreeManagerRegistryBuilderBuilder.java +++ b/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/AbstractSubtreeManagerRegistryBuilderBuilder.java @@ -192,10 +192,10 @@ public abstract class AbstractSubtreeManagerRegistryBuilderBuilder Collector singleItemCollector() { return Collectors.collectingAndThen( @@ -56,12 +58,11 @@ public final class RWUtils { } /** - * Find next item in ID after provided type + * Find next item in ID after provided type. */ @Nonnull public static InstanceIdentifier.PathArgument getNextId(@Nonnull final InstanceIdentifier id, @Nonnull final InstanceIdentifier type) { - // TODO this is inefficient(maybe, depending on actual Iterable type) final Iterable pathArguments = id.getPathArguments(); final int i = Iterables.indexOf(pathArguments, new Predicate() { @Override @@ -74,7 +75,7 @@ public final class RWUtils { } /** - * Replace last item in ID with a provided IdentifiableItem of the same type + * Replace last item in ID with a provided IdentifiableItem of the same type. */ @SuppressWarnings("unchecked") @Nonnull @@ -90,7 +91,7 @@ public final class RWUtils { } /** - * Create IdentifiableItem from target type of provided ID with provided key + * Create IdentifiableItem from target type of provided ID with provided key. */ @Nonnull public static , K extends Identifier> InstanceIdentifier.IdentifiableItem getCurrentIdItem( @@ -99,7 +100,7 @@ public final class RWUtils { } /** - * Trim InstanceIdentifier at indexOf(type) + * Trim InstanceIdentifier at indexOf(type). */ @SuppressWarnings("unchecked") @Nonnull diff --git a/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/TransactionMappingContext.java b/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/TransactionMappingContext.java index 1b6504c78..4d4e9fddd 100644 --- a/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/TransactionMappingContext.java +++ b/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/TransactionMappingContext.java @@ -34,7 +34,7 @@ public class TransactionMappingContext implements MappingContext { private final ReadWriteTransaction readWriteTransaction; - // TODO make async + // TODO HONEYCOMB-169 make async public TransactionMappingContext(final ReadWriteTransaction readWriteTransaction) { this.readWriteTransaction = readWriteTransaction; diff --git a/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/read/AbstractGenericReader.java b/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/read/AbstractGenericReader.java index 75a2a673c..40c78b3c9 100644 --- a/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/read/AbstractGenericReader.java +++ b/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/read/AbstractGenericReader.java @@ -56,7 +56,8 @@ public abstract class AbstractGenericReader> implements Reade private static Optional findNextParent(@Nonnull final DataObject parent, @Nonnull final InstanceIdentifier.PathArgument nextId, @Nonnull final Class managedType) { - // TODO is there a better way than reflection ? e.g. convert into NN and filter out with a utility Optional method = ReflectionUtils.findMethodReflex(managedType, "get", Collections.emptyList(), nextId.getType()); @@ -172,19 +169,13 @@ class SubtreeReader> implements Reade checkArgument(nextId instanceof InstanceIdentifier.IdentifiableItem, "Unable to perform wildcarded read for %s", nextId); final Identifier key = ((InstanceIdentifier.IdentifiableItem) nextId).getKey(); - // TODO replace with stream().filter().findFirst() when we switch to using java's Optional instead of Guava's - // because now we would have to do awkward Optional transformation since findFirstReturns guava's optional - return Iterables.tryFind(invoke, new Predicate() { - - @Override - public boolean apply(@Nullable final DataObject input) { - final Optional keyGetter = ReflectionUtils.findMethodReflex(nextId.getType(), "get", - Collections.emptyList(), key.getClass()); - final Object actualKey; - actualKey = invoke(keyGetter.get(), nextId, input); - return key.equals(actualKey); - } - }); + + final Method keyGetter = ReflectionUtils.findMethodReflex(nextId.getType(), "get", + Collections.emptyList(), key.getClass()).get(); + + return Optional.fromNullable(invoke.stream() + .filter(item -> key.equals(invoke(keyGetter, nextId, item))) + .findFirst().orElse(null)); } private static DataObject filterSingle(final DataObject parent, diff --git a/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/write/TransactionWriteContext.java b/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/write/TransactionWriteContext.java index 5d801edab..0128ee4a8 100644 --- a/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/write/TransactionWriteContext.java +++ b/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/write/TransactionWriteContext.java @@ -50,14 +50,13 @@ public final class TransactionWriteContext implements WriteContext { final DOMDataReadOnlyTransaction afterTx, final MappingContext mappingContext) { this.serializer = serializer; - // TODO do we have a BA transaction adapter ? If so, use it here and don't pass serializer this.beforeTx = beforeTx; this.afterTx = afterTx; this.mappingContext = mappingContext; this.ctx = new ModificationCache(); } - // TODO make this asynchronous + // TODO HONEYCOMB-169 make this asynchronous @Override public Optional readBefore(@Nonnull final InstanceIdentifier currentId) { @@ -78,7 +77,7 @@ public final class TransactionWriteContext implements WriteContext { tx.read(LogicalDatastoreType.CONFIGURATION, path); try { - // TODO once the APIs are asynchronous use just Futures.transform + // TODO HONEYCOMB-169 once the APIs are asynchronous use just Futures.transform final Optional> optional = read.checkedGet(); if (!optional.isPresent()) { diff --git a/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/write/registry/FlatWriterRegistry.java b/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/write/registry/FlatWriterRegistry.java index df8ec107b..ab80eb4ac 100644 --- a/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/write/registry/FlatWriterRegistry.java +++ b/infra/translate-utils/src/main/java/io/fd/honeycomb/translate/util/write/registry/FlatWriterRegistry.java @@ -139,13 +139,11 @@ final class FlatWriterRegistry implements WriterRegistry { } private Writer getSubtreeWriterResponsible(final InstanceIdentifier singleType) { - final Writer writer;// This is slow ( minor TODO-perf ) - writer = writers.values().stream() + return writers.values().stream() .filter(w -> w instanceof SubtreeWriter) .filter(w -> ((SubtreeWriter) w).getHandledChildTypes().contains(singleType)) .findFirst() .get(); - return writer; } private Collection getParentDataObjectUpdate(final WriteContext ctx, @@ -255,7 +253,6 @@ final class FlatWriterRegistry implements WriterRegistry { return writers.get(singleType); } - // FIXME unit test private final class ReverterImpl implements Reverter { private final Collection> processedNodes; -- cgit 1.2.3-korg