Make sure NormalizedNodeContainer uses Collection 52/15852/1
authorRobert Varga <rovarga@cisco.com>
Sat, 28 Feb 2015 09:01:11 +0000 (10:01 +0100)
committerRobert Varga <rovarga@cisco.com>
Sat, 28 Feb 2015 20:48:57 +0000 (21:48 +0100)
Instead of an Iterable, specify a collection, as that makes the number
of elements known.

Change-Id: Ifa6260ebe157c9afde49bbb58043d6ec2fecd189
Signed-off-by: Robert Varga <rovarga@cisco.com>
16 files changed:
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/AugmentationNode.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/ChoiceNode.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/ContainerNode.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/DataContainerNode.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/LeafSetNode.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/MapNode.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodeContainer.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/OrderedNodeContainer.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/UnkeyedListNode.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetNodeBuilder.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapNodeBuilder.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableOrderedLeafSetNodeBuilder.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableOrderedMapNodeBuilder.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableUnkeyedListNodeBuilder.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableDataContainerNode.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/base/serializer/ListNodeBaseSerializer.java

index 71fa5c705a47a6395bfdf92a0fd71d6e66cc071f..2086542bf8980db133f14798773b20a2dcd46263 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema;
 
+import java.util.Collection;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
@@ -16,7 +17,7 @@ import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
 /**
  *
  * Data instance of <code>augment</code> assiociated with parent node.
- * 
+ *
  * Augmentation is addition of subtree defined by other external YANG Model and
  * is schema for subtree is described by instance of  {@link AugmentationSchema}
  * associated with parent node of this node.
@@ -27,22 +28,22 @@ import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
 public interface AugmentationNode extends //
     MixinNode, //
     DataContainerNode<AugmentationIdentifier>,
-    DataContainerChild<YangInstanceIdentifier.AugmentationIdentifier, Iterable<DataContainerChild<? extends PathArgument, ?>>> {
+    DataContainerChild<YangInstanceIdentifier.AugmentationIdentifier, Collection<DataContainerChild<? extends PathArgument, ?>>> {
 
     /**
      * Gets identifier of augmentation node
-     * 
-     * Returned identifier of augmentation node contains all possible 
+     *
+     * Returned identifier of augmentation node contains all possible
      * direct child QNames.
-     * 
+     *
      * This is sufficient to identify instance of augmentation,
      * since RFC6020 states that <code>augment</code> that augment
-     * statement must not add multiple nodes from same namespace 
+     * statement must not add multiple nodes from same namespace
      * / module
      * to the target node.
-     * 
+     *
      * @return Identifier which uniquelly identifies augmentation in particular subtree.
-     * 
+     *
      */
     @Override
     public AugmentationIdentifier getIdentifier();
index dd18d47f9d8abaf6713d628dd43c99d44b5cf705..bba23440f04be438a65625de1d308a4939589998 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema;
 
+import java.util.Collection;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 
@@ -25,6 +26,6 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum
 public interface ChoiceNode extends //
         MixinNode, //
         DataContainerNode<NodeIdentifier>,
-        DataContainerChild<NodeIdentifier, Iterable<DataContainerChild<? extends PathArgument, ?>>> {
+        DataContainerChild<NodeIdentifier, Collection<DataContainerChild<? extends PathArgument, ?>>> {
 
 }
index 7872466b35e66af604758778254ba41ac78236b5..ee42baadb4d4b2148a456d77a9c82809b00a2f71 100644 (file)
@@ -7,21 +7,22 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema;
 
+import java.util.Collection;
 import org.opendaylight.yangtools.yang.data.api.AttributesContainer;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 
 /**
  * Data subtree with cardinality 0..1 in the context of parent node
- * 
+ *
  * Node which does not have value but contains valid {@link DataContainerChild} nodes.
- * 
+ *
  * Schema of this node is described by instance of {@link org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode}.
- * 
+ *
  */
 public interface ContainerNode extends //
         AttributesContainer,
         DataContainerNode<NodeIdentifier>,
-        DataContainerChild<NodeIdentifier, Iterable<DataContainerChild<? extends PathArgument, ?>>> {
+        DataContainerChild<NodeIdentifier, Collection<DataContainerChild<? extends PathArgument, ?>>> {
 
 }
index a9e90d566e1c1245c6aa8a503ad9897d813a7587..1900a5ee27068f1dae3f522b0456cdf037fe857e 100644 (file)
@@ -6,6 +6,7 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema;
 
+import java.util.Collection;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 
 /**
@@ -42,5 +43,5 @@ public interface DataContainerNode<K extends PathArgument> extends //
      * @return Iteration of all child nodes
      */
     @Override
-    Iterable<DataContainerChild<? extends PathArgument, ?>> getValue();
+    Collection<DataContainerChild<? extends PathArgument, ?>> getValue();
 }
index cff390d6dfea5903a77e18a77862ce33014e5ca8..35f4fb43ff192b29ec7656e690dd5eaab15535dd 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema;
 
+import java.util.Collection;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
 
@@ -21,7 +22,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithV
  */
 public interface LeafSetNode<T> extends
     MixinNode, //
-    DataContainerChild<NodeIdentifier, Iterable<LeafSetEntryNode<T>>>, //
+    DataContainerChild<NodeIdentifier, Collection<LeafSetEntryNode<T>>>, //
     NormalizedNodeContainer<NodeIdentifier, NodeWithValue,LeafSetEntryNode<T>> {
 
 }
index d906050dea057a4053d4eff09d0c24c2edcb595c..e5631d4e7f387d65e1310c1de88069d074258d86 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema;
 
+import java.util.Collection;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
 
@@ -21,7 +22,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent
  */
 public interface MapNode extends //
         MixinNode,
-        DataContainerChild<NodeIdentifier, Iterable<MapEntryNode>>,
+        DataContainerChild<NodeIdentifier, Collection<MapEntryNode>>,
         NormalizedNodeContainer<NodeIdentifier, NodeIdentifierWithPredicates, MapEntryNode> {
 
 }
index b416f78fa1e6f88d24144168f287f0eeba6a6d5d..52e5937b9065155537eb9195e2b74fb006b303c9 100644 (file)
@@ -6,21 +6,21 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema;
 
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
-
 import com.google.common.base.Optional;
+import java.util.Collection;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 
 /**
  * Node which is not leaf, but has child {@link NormalizedNode}s as its valzue.
- * 
- * 
+ *
+ *
  * NormalizedNodeContainer does not have a value, but it has a child
  * nodes. Definition of possible and valid child nodes is introduced
  * in subclasses of this interface.
- * 
+ *
  * This interface should not be used directly, but rather use of of derived subinterfaces
  * such as {@link DataContainerNode}, {@link MapNode}, {@link LeafSetNode}.
- * 
+ *
  * @param <I>
  *            Node Identifier type
  * @param <K>
@@ -29,21 +29,21 @@ import com.google.common.base.Optional;
  *            Child Node type
  */
 public interface NormalizedNodeContainer<I extends PathArgument, K extends PathArgument, V extends NormalizedNode<? extends K, ?>>
-        extends NormalizedNode<I, Iterable<V>> {
+        extends NormalizedNode<I, Collection<V>> {
 
     @Override
     I getIdentifier();
 
     /**
      * Returns immutable iteration of child nodes of this node.
-     * 
+     *
      */
     @Override
-    Iterable<V> getValue();
+    Collection<V> getValue();
 
     /**
      * Returns child node identified by provided key.
-     * 
+     *
      * @param child
      *            Path argument identifying child node
      * @return Optional with child node if child exists.
index 4bc3741f3bf63e876ddc3d62fd70c0625800f5ff..3919c71fbafe826183df312ef5ad9b140bd59087 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema;
 
+import java.util.Collection;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 
 /**
@@ -16,7 +17,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent
  *
  * @param <V> child type
  */
-public interface OrderedNodeContainer<V extends NormalizedNode<?, ?>> extends MixinNode, NormalizedNode<NodeIdentifier, Iterable<V>> {
+public interface OrderedNodeContainer<V extends NormalizedNode<?, ?>> extends MixinNode, NormalizedNode<NodeIdentifier, Collection<V>> {
 
     /**
      * Returns child node by position
index 855705d36f5db5f79795893ca564a397fb7d4ecd..dfa06938e7de873f8b8b3ae6a32800bbd8f69702 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.data.api.schema;
 
+import java.util.Collection;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 
 
@@ -26,7 +27,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent
  *
  */
 public interface UnkeyedListNode extends
-    DataContainerChild<NodeIdentifier, Iterable<UnkeyedListEntryNode>>,
+    DataContainerChild<NodeIdentifier, Collection<UnkeyedListEntryNode>>,
     OrderedNodeContainer<UnkeyedListEntryNode> {
 
 }
index b4118330e16b229e3303f2c96951bafb56b89c7e..82e8dabafc97b91e7baa6965b2ba5f9953e3f235 100644 (file)
@@ -8,13 +8,13 @@
 package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl;
 
 import com.google.common.base.Optional;
-import com.google.common.collect.Iterables;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 import org.opendaylight.yangtools.concepts.Immutable;
 import org.opendaylight.yangtools.util.MapAdaptor;
+import org.opendaylight.yangtools.util.UnmodifiableCollection;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
@@ -108,14 +108,14 @@ public class ImmutableLeafSetNodeBuilder<T> implements ListNodeBuilder<T, LeafSe
     }
 
     protected final static class ImmutableLeafSetNode<T> extends
-            AbstractImmutableNormalizedValueNode<YangInstanceIdentifier.NodeIdentifier, Iterable<LeafSetEntryNode<T>>> implements
+            AbstractImmutableNormalizedValueNode<YangInstanceIdentifier.NodeIdentifier, Collection<LeafSetEntryNode<T>>> implements
             Immutable, LeafSetNode<T> {
 
         private final Map<YangInstanceIdentifier.NodeWithValue, LeafSetEntryNode<T>> children;
 
         ImmutableLeafSetNode(final YangInstanceIdentifier.NodeIdentifier nodeIdentifier,
                 final Map<YangInstanceIdentifier.NodeWithValue, LeafSetEntryNode<T>> children) {
-            super(nodeIdentifier, Iterables.unmodifiableIterable(children.values()));
+            super(nodeIdentifier, UnmodifiableCollection.create(children.values()));
             this.children = children;
         }
 
index 849fc6b37d51c71ffd91a75a890cee1f4206e3f0..dc7b5500c8e514ce3e3644acbdbec388222018b1 100644 (file)
@@ -8,12 +8,12 @@
 package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl;
 
 import com.google.common.base.Optional;
-import com.google.common.collect.Iterables;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 import org.opendaylight.yangtools.concepts.Immutable;
 import org.opendaylight.yangtools.util.MapAdaptor;
+import org.opendaylight.yangtools.util.UnmodifiableCollection;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
@@ -103,7 +103,7 @@ public class ImmutableMapNodeBuilder implements CollectionNodeBuilder<MapEntryNo
         return withoutChild(key);
     }
 
-    protected static final class ImmutableMapNode extends AbstractImmutableNormalizedNode<YangInstanceIdentifier.NodeIdentifier, Iterable<MapEntryNode>> implements Immutable,MapNode {
+    protected static final class ImmutableMapNode extends AbstractImmutableNormalizedNode<YangInstanceIdentifier.NodeIdentifier, Collection<MapEntryNode>> implements Immutable,MapNode {
 
         private final Map<YangInstanceIdentifier.NodeIdentifierWithPredicates, MapEntryNode> children;
 
@@ -119,8 +119,8 @@ public class ImmutableMapNodeBuilder implements CollectionNodeBuilder<MapEntryNo
         }
 
         @Override
-        public Iterable<MapEntryNode> getValue() {
-            return Iterables.unmodifiableIterable(children.values());
+        public Collection<MapEntryNode> getValue() {
+            return UnmodifiableCollection.create(children.values());
         }
 
         @Override
index 81e8ae5d81c4fa2a178d105968bc40174698bab4..67eb342fabaf1ae5e31073d068bace381a555b13 100644 (file)
@@ -14,6 +14,7 @@ import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import org.opendaylight.yangtools.concepts.Immutable;
+import org.opendaylight.yangtools.util.UnmodifiableCollection;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
@@ -111,8 +112,8 @@ public class ImmutableOrderedLeafSetNodeBuilder<T> implements ListNodeBuilder<T,
         return withChildValue(value, Collections.<QName,String>emptyMap());
     }
 
-    protected final static class ImmutableOrderedLeafSetNode<T> extends
-            AbstractImmutableNormalizedNode<YangInstanceIdentifier.NodeIdentifier, Iterable<LeafSetEntryNode<T>>> implements
+    protected static final class ImmutableOrderedLeafSetNode<T> extends
+            AbstractImmutableNormalizedNode<YangInstanceIdentifier.NodeIdentifier, Collection<LeafSetEntryNode<T>>> implements
             Immutable, OrderedLeafSetNode<T> {
 
         private final Map<YangInstanceIdentifier.NodeWithValue, LeafSetEntryNode<T>> children;
@@ -152,10 +153,10 @@ public class ImmutableOrderedLeafSetNodeBuilder<T> implements ListNodeBuilder<T,
             return children.size();
         }
 
-               @Override
-               public Iterable<LeafSetEntryNode<T>> getValue() {
-                       return Iterables.unmodifiableIterable(children.values());
-               }
+        @Override
+        public Collection<LeafSetEntryNode<T>> getValue() {
+            return UnmodifiableCollection.create(children.values());
+        }
     }
 
     @Override
index fb413da5c44e0764cfc3fd5bcf5969688d67c13d..a7bd82a7e927140fdf2c08d5ebb60648164bdfd4 100644 (file)
@@ -13,6 +13,7 @@ import java.util.Collection;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import org.opendaylight.yangtools.concepts.Immutable;
+import org.opendaylight.yangtools.util.UnmodifiableCollection;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
@@ -117,7 +118,7 @@ public class ImmutableOrderedMapNodeBuilder implements CollectionNodeBuilder<Map
         return withoutChild(key);
     }
 
-    protected static final class ImmutableOrderedMapNode extends AbstractImmutableNormalizedNode<YangInstanceIdentifier.NodeIdentifier, Iterable<MapEntryNode>> implements Immutable,OrderedMapNode {
+    protected static final class ImmutableOrderedMapNode extends AbstractImmutableNormalizedNode<YangInstanceIdentifier.NodeIdentifier, Collection<MapEntryNode>> implements Immutable,OrderedMapNode {
 
         private final Map<YangInstanceIdentifier.NodeIdentifierWithPredicates, MapEntryNode> children;
 
@@ -153,8 +154,8 @@ public class ImmutableOrderedMapNodeBuilder implements CollectionNodeBuilder<Map
         }
 
         @Override
-        public Iterable<MapEntryNode> getValue() {
-            return Iterables.unmodifiableIterable(children.values());
+        public Collection<MapEntryNode> getValue() {
+            return UnmodifiableCollection.create(children.values());
         }
     }
 }
index ec4527da35d15c2cb6a88259901a9b417a99a574..eb2d3884bbc4dfda6a0e8f2a4a8e9eb39ae73a81 100644 (file)
@@ -116,14 +116,14 @@ public class ImmutableUnkeyedListNodeBuilder implements CollectionNodeBuilder<Un
         return withoutChild(key);
     }
 
-    protected static final class EmptyImmutableUnkeyedListNode extends AbstractImmutableNormalizedNode<YangInstanceIdentifier.NodeIdentifier, Iterable<UnkeyedListEntryNode>> implements Immutable, UnkeyedListNode {
+    protected static final class EmptyImmutableUnkeyedListNode extends AbstractImmutableNormalizedNode<YangInstanceIdentifier.NodeIdentifier, Collection<UnkeyedListEntryNode>> implements Immutable, UnkeyedListNode {
         protected EmptyImmutableUnkeyedListNode(final NodeIdentifier nodeIdentifier) {
             super(nodeIdentifier);
         }
 
         @Override
-        public Iterable<UnkeyedListEntryNode> getValue() {
-            return Collections.emptyList();
+        public Collection<UnkeyedListEntryNode> getValue() {
+            return Collections.emptySet();
         }
 
         @Override
@@ -148,7 +148,7 @@ public class ImmutableUnkeyedListNodeBuilder implements CollectionNodeBuilder<Un
     }
 
     protected static final class ImmutableUnkeyedListNode extends
-            AbstractImmutableNormalizedValueNode<YangInstanceIdentifier.NodeIdentifier, Iterable<UnkeyedListEntryNode>>
+            AbstractImmutableNormalizedValueNode<YangInstanceIdentifier.NodeIdentifier, Collection<UnkeyedListEntryNode>>
             implements Immutable, UnkeyedListNode {
 
         private final ImmutableList<UnkeyedListEntryNode> children;
index b6ac22617abcb44feb63367c750a764c5ef9a23c..1b53f7c66da682ac4f33cfba8d8f2e1a4e0c1d16 100644 (file)
@@ -8,13 +8,14 @@
 package org.opendaylight.yangtools.yang.data.impl.schema.nodes;
 
 import com.google.common.base.Optional;
+import java.util.Collection;
 import java.util.Map;
 import org.opendaylight.yangtools.concepts.Immutable;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode;
 
-public abstract class AbstractImmutableDataContainerNode<K extends PathArgument> extends AbstractImmutableNormalizedNode<K, Iterable<DataContainerChild<? extends PathArgument, ?>>> implements Immutable, DataContainerNode<K> {
+public abstract class AbstractImmutableDataContainerNode<K extends PathArgument> extends AbstractImmutableNormalizedNode<K, Collection<DataContainerChild<? extends PathArgument, ?>>> implements Immutable, DataContainerNode<K> {
     private final Map<PathArgument, DataContainerChild<? extends PathArgument, ?>> children;
 
     public AbstractImmutableDataContainerNode(
@@ -30,7 +31,7 @@ public abstract class AbstractImmutableDataContainerNode<K extends PathArgument>
     }
 
     @Override
-    public final Iterable<DataContainerChild<? extends PathArgument, ?>> getValue() {
+    public final Collection<DataContainerChild<? extends PathArgument, ?>> getValue() {
         return children.values();
     }
 
index c90df44844068afab2eb991c70d3f5272fa737b2..42413be06bbf5571cd687f2ad9156ec4e855d464 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.data.impl.schema.transform.base.serializ
 import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.Iterables;
+import java.util.Collection;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode;
@@ -26,14 +27,14 @@ import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
  * @param <O>
  *            entry node type which is inside containing (N) type
  */
-public abstract class ListNodeBaseSerializer<E, N extends DataContainerChild<NodeIdentifier, Iterable<O>>, O extends DataContainerNode<?>>
+public abstract class ListNodeBaseSerializer<E, N extends DataContainerChild<NodeIdentifier, Collection<O>>, O extends DataContainerNode<?>>
         implements FromNormalizedNodeSerializer<E, N, ListSchemaNode> {
 
     @Override
     public final Iterable<E> serialize(final ListSchemaNode schema, final N node) {
         return Iterables.concat(Iterables.transform(node.getValue(), new Function<O, Iterable<E>>() {
             @Override
-            public Iterable<E> apply(O input) {
+            public Iterable<E> apply(final O input) {
                 final Iterable<E> serializedChild = getListEntryNodeSerializer().serialize(schema, input);
                 final int size = Iterables.size(serializedChild);