Merge "BUG-650: add missing bypass"
authorTony Tkacik <ttkacik@cisco.com>
Wed, 27 Aug 2014 12:09:12 +0000 (12:09 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Wed, 27 Aug 2014 12:09:12 +0000 (12:09 +0000)
1  2 
code-generator/binding-data-codec/src/main/java/org/opendaylight/yangtools/binding/data/codec/impl/BindingNormalizedNodeCodecRegistry.java

index af7c9d998f28ad6e338d679279ce414b379f85e2,f0ab64a21767bf7c6978fbf357627836895aa760..d4a96b86fad7eb26a577b88abda407657fe2e2bd
@@@ -17,6 -17,7 +17,6 @@@ import com.google.common.cache.LoadingC
  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;
@@@ -34,6 -35,7 +34,7 @@@ import org.opendaylight.yangtools.yang.
  import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
  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.LeafSetNode;
  import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
@@@ -74,6 -76,8 +75,6 @@@ public class BindingNormalizedNodeCodec
  
      @Override
      public YangInstanceIdentifier toYangInstanceIdentifier(final InstanceIdentifier<?> binding) {
 -        List<YangInstanceIdentifier.PathArgument> builder = new LinkedList<>();
 -        codecContext.getCodecContextNode(binding, builder);
          return codecContext.getInstanceIdentifierCodec().serialize(binding);
      }
  
      }
  
      private static boolean isBindingRepresentable(final NormalizedNode<?, ?> data) {
+         if (data instanceof ChoiceNode) {
+             return false;
+         }
          if (data instanceof LeafNode<?>) {
              return false;
          }
          final List<PathArgument> builder = new ArrayList<>();
          final NodeCodecContext codec = codecContext.getCodecContextNode(path, builder);
          if (codec == null) {
-             // FIXME: do we allow data == null?
              if (data != null) {
-                 LOG.warn("Path %s does not have a binding equivalent, should have been caught earlier", path);
+                 LOG.warn("Path %s does not have a binding equivalent, should have been caught earlier (%s)", path, data.getClass());
              }
              return null;
          }