Bug 1630: Updated normalized to binding codec to exclude LeafSetEntryNode.
[mdsal.git] / code-generator / binding-data-codec / src / main / java / org / opendaylight / yangtools / binding / data / codec / impl / BindingNormalizedNodeCodecRegistry.java
index f0ab64a21767bf7c6978fbf357627836895aa760..bfdad3efeb4cb555a22946a035ae460a8592698a 100644 (file)
@@ -17,7 +17,6 @@ import com.google.common.cache.LoadingCache;
 import java.io.IOException;
 import java.util.AbstractMap.SimpleEntry;
 import java.util.ArrayList;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -37,6 +36,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
+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.MapNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
@@ -76,8 +76,6 @@ public class BindingNormalizedNodeCodecRegistry implements DataObjectSerializerR
 
     @Override
     public YangInstanceIdentifier toYangInstanceIdentifier(final InstanceIdentifier<?> binding) {
-        List<YangInstanceIdentifier.PathArgument> builder = new LinkedList<>();
-        codecContext.getCodecContextNode(binding, builder);
         return codecContext.getInstanceIdentifierCodec().serialize(binding);
     }
 
@@ -115,6 +113,9 @@ public class BindingNormalizedNodeCodecRegistry implements DataObjectSerializerR
         if (data instanceof LeafSetNode) {
             return false;
         }
+        if( data instanceof LeafSetEntryNode<?>) {
+            return false;
+        }
         if (data instanceof MapNode) {
             return false;
         }
@@ -135,7 +136,7 @@ public class BindingNormalizedNodeCodecRegistry implements DataObjectSerializerR
         final NodeCodecContext codec = codecContext.getCodecContextNode(path, builder);
         if (codec == null) {
             if (data != null) {
-                LOG.warn("Path %s does not have a binding equivalent, should have been caught earlier (%s)", path, data.getClass());
+                LOG.warn("Path {} does not have a binding equivalent, should have been caught earlier ({})", path, data.getClass());
             }
             return null;
         }