Bump upstreams
[mdsal.git] / binding / mdsal-binding-dom-adapter / src / main / java / org / opendaylight / mdsal / binding / dom / adapter / query / DefaultQueryResult.java
index 8281101cfa6ab729df17dbff2da2de2e8728b57e..e6083f23e706b81326e4cdfbf073c3feee83eea2 100644 (file)
@@ -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<T extends DataObject>
-        implements QueryResult<T>, Function<Entry<YangInstanceIdentifier, NormalizedNode<?, ?>>, QueryResult.Item<T>> {
+        implements QueryResult<T>, Function<Entry<YangInstanceIdentifier, NormalizedNode>, QueryResult.Item<T>> {
     private static final VarHandle ITEM_CODEC;
 
     static {
@@ -48,7 +52,9 @@ final class DefaultQueryResult<T extends DataObject>
     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<T> itemCodec = null;
 
     DefaultQueryResult(final BindingCodecTree codec, final DOMQueryResult domResult) {
@@ -57,26 +63,31 @@ final class DefaultQueryResult<T extends DataObject>
     }
 
     @Override
-    public Spliterator<? extends Item<T>> spliterator() {
+    public Iterator<Item<T>> iterator() {
+        return Iterators.transform(domResult.iterator(), this);
+    }
+
+    @Override
+    public Spliterator<Item<T>> spliterator() {
         return new DefaultQueryResultSpliterator<>(this, domResult.spliterator());
     }
 
     @Override
-    public Stream<? extends Item<T>> stream() {
+    public Stream<Item<T>> stream() {
         return domResult.stream().map(this);
     }
 
     @Override
-    public Stream<? extends Item<T>> parallelStream() {
+    public Stream<Item<T>> parallelStream() {
         return domResult.parallelStream().map(this);
     }
 
     @Override
-    public Item<T> apply(final Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> domItem) {
+    public Item<T> apply(final Entry<YangInstanceIdentifier, NormalizedNode> domItem) {
         return new DefaultQueryResultItem<>(this, domItem);
     }
 
-    T createObject(final Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> domItem) {
+    T createObject(final Entry<YangInstanceIdentifier, NormalizedNode> domItem) {
         final @Nullable BindingDataObjectCodecTreeNode<T> local =
             (BindingDataObjectCodecTreeNode<T>) ITEM_CODEC.getAcquire(this);
         return (local != null ? local : loadItemCodec(domItem.getKey())).deserialize(domItem.getValue());