X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-dom-codec%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fcodec%2Fimpl%2FLeafSetNodeCodecContext.java;h=8ab953f844831c43cd109183f534862934262a3a;hb=82684b43090a871c633a333b20fde09c9392fb17;hp=42253271e5d7b8c294176eeba75368f5e1b6305f;hpb=7117caf77475675e3742e5427aeb4fca21d71545;p=mdsal.git diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafSetNodeCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafSetNodeCodecContext.java index 42253271e5..8ab953f844 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafSetNodeCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafSetNodeCodecContext.java @@ -9,48 +9,32 @@ package org.opendaylight.mdsal.binding.dom.codec.impl; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList.Builder; -import java.util.ArrayList; import java.util.Collection; -import java.util.List; -import org.opendaylight.yangtools.concepts.Codec; +import org.opendaylight.yangtools.concepts.IllegalArgumentCodec; import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; final class LeafSetNodeCodecContext extends ValueNodeCodecContext.WithCodec { - LeafSetNodeCodecContext(final LeafListSchemaNode schema, final Codec codec, + LeafSetNodeCodecContext(final LeafListSchemaNode schema, final IllegalArgumentCodec codec, final String getterName) { // FIXME: add support for defaults super(schema, codec, getterName, null); } @Override - protected Object deserializeObject(final NormalizedNode normalizedNode) { + protected Object deserializeObject(final NormalizedNode normalizedNode) { if (normalizedNode instanceof LeafSetNode) { @SuppressWarnings("unchecked") - final Collection> domValues = ((LeafSetNode) normalizedNode).getValue(); - final Codec codec = getValueCodec(); - return COMPAT_MUTABLE_LISTS ? createMutableList(codec, domValues) : createImmutableList(codec, domValues); + final Collection> domValues = ((LeafSetNode) normalizedNode).body(); + final IllegalArgumentCodec codec = getValueCodec(); + final Builder builder = ImmutableList.builderWithExpectedSize(domValues.size()); + for (final LeafSetEntryNode valueNode : domValues) { + builder.add(codec.deserialize(valueNode.body())); + } + return builder.build(); } return null; } - - private static List createMutableList(final Codec codec, - final Collection> domValues) { - final List result = new ArrayList<>(domValues.size()); - for (final LeafSetEntryNode valueNode : domValues) { - result.add(codec.deserialize(valueNode.getValue())); - } - return result; - } - - private static ImmutableList createImmutableList(final Codec codec, - final Collection> domValues) { - final Builder builder = ImmutableList.builderWithExpectedSize(domValues.size()); - for (final LeafSetEntryNode valueNode : domValues) { - builder.add(codec.deserialize(valueNode.getValue())); - } - return builder.build(); - } }