X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-dom-adapter%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fadapter%2Fquery%2FDefaultQueryResult.java;h=e6083f23e706b81326e4cdfbf073c3feee83eea2;hb=9f23891d96e635e1cd30c699f9b72b9336fc9d06;hp=8281101cfa6ab729df17dbff2da2de2e8728b57e;hpb=b620c86025390e3f86eaade9f9c0f102ce6313fa;p=mdsal.git diff --git a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/query/DefaultQueryResult.java b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/query/DefaultQueryResult.java index 8281101cfa..e6083f23e7 100644 --- a/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/query/DefaultQueryResult.java +++ b/binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/query/DefaultQueryResult.java @@ -10,16 +10,19 @@ package org.opendaylight.mdsal.binding.dom.adapter.query; import static com.google.common.base.Verify.verifyNotNull; import static java.util.Objects.requireNonNull; +import com.google.common.base.Function; import com.google.common.base.VerifyException; +import com.google.common.collect.Iterators; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.lang.invoke.MethodHandles; import java.lang.invoke.VarHandle; +import java.util.Iterator; import java.util.Map.Entry; import java.util.Spliterator; -import java.util.function.Function; import java.util.stream.Stream; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; +import org.gaul.modernizer_maven_annotations.SuppressModernizer; import org.opendaylight.mdsal.binding.api.query.QueryResult; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTree; import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeNode; @@ -31,8 +34,9 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @NonNullByDefault +@SuppressModernizer final class DefaultQueryResult - implements QueryResult, Function>, QueryResult.Item> { + implements QueryResult, Function, QueryResult.Item> { private static final VarHandle ITEM_CODEC; static { @@ -48,7 +52,9 @@ final class DefaultQueryResult private final BindingCodecTree codec; @SuppressWarnings("unused") - @SuppressFBWarnings(value = "NP_STORE_INTO_NONNULL_FIELD", justification = "Ungrokked type annotation") + @SuppressFBWarnings( + value = { "NP_STORE_INTO_NONNULL_FIELD", "URF_UNREAD_FIELD" }, + justification = "Ungrokked type annotation. https://github.com/spotbugs/spotbugs/issues/2749") private volatile @Nullable BindingDataObjectCodecTreeNode itemCodec = null; DefaultQueryResult(final BindingCodecTree codec, final DOMQueryResult domResult) { @@ -57,26 +63,31 @@ final class DefaultQueryResult } @Override - public Spliterator> spliterator() { + public Iterator> iterator() { + return Iterators.transform(domResult.iterator(), this); + } + + @Override + public Spliterator> spliterator() { return new DefaultQueryResultSpliterator<>(this, domResult.spliterator()); } @Override - public Stream> stream() { + public Stream> stream() { return domResult.stream().map(this); } @Override - public Stream> parallelStream() { + public Stream> parallelStream() { return domResult.parallelStream().map(this); } @Override - public Item apply(final Entry> domItem) { + public Item apply(final Entry domItem) { return new DefaultQueryResultItem<>(this, domItem); } - T createObject(final Entry> domItem) { + T createObject(final Entry domItem) { final @Nullable BindingDataObjectCodecTreeNode local = (BindingDataObjectCodecTreeNode) ITEM_CODEC.getAcquire(this); return (local != null ? local : loadItemCodec(domItem.getKey())).deserialize(domItem.getValue());