Remove AugmentationReader
[mdsal.git] / binding / mdsal-binding-dom-codec / src / main / java / org / opendaylight / mdsal / binding / dom / codec / impl / BindingNormalizedNodeCodecRegistry.java
index 4b30ebf6bd76b29779d8def54334781d2e9ee5c7..247ee2d9f44b9726db1f2bc283256c98ee5ff8d1 100644 (file)
@@ -31,9 +31,7 @@ import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSeriali
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeWriterFactory;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingStreamEventWriter;
 import org.opendaylight.mdsal.binding.dom.codec.util.AbstractBindingLazyContainerNode;
-import org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext;
-import org.opendaylight.mdsal.binding.generator.util.BindingRuntimeContext;
-import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections;
+import org.opendaylight.mdsal.binding.generator.api.BindingRuntimeContext;
 import org.opendaylight.yangtools.yang.binding.Action;
 import org.opendaylight.yangtools.yang.binding.DataContainer;
 import org.opendaylight.yangtools.yang.binding.DataObject;
@@ -46,16 +44,14 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
-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;
 import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListNode;
+import org.opendaylight.yangtools.yang.data.api.schema.ValueNode;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNormalizedNodeStreamWriter;
 import org.opendaylight.yangtools.yang.data.impl.schema.NormalizedNodeResult;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -196,33 +192,18 @@ public class BindingNormalizedNodeCodecRegistry implements DataObjectSerializerR
         return (ContainerNode) result.getResult();
     }
 
-    private static boolean isBindingRepresentable(final NormalizedNode<?, ?> data) {
-        if (data instanceof ChoiceNode) {
-            return false;
-        }
-        if (data instanceof LeafNode<?>) {
-            return false;
-        }
-        if (data instanceof LeafSetNode) {
-            return false;
-        }
-        if (data instanceof LeafSetEntryNode<?>) {
-            return false;
-        }
-        if (data instanceof MapNode) {
-            return false;
-        }
-        if (data instanceof UnkeyedListNode) {
-            return false;
-        }
-
-        return true;
+    private static boolean notBindingRepresentable(final NormalizedNode<?, ?> data) {
+        // ValueNode covers LeafNode and LeafSetEntryNode
+        return data instanceof ValueNode
+                || data instanceof MapNode || data instanceof UnkeyedListNode
+                || data instanceof ChoiceNode
+                || data instanceof LeafSetNode;
     }
 
     @Override
     public Entry<InstanceIdentifier<?>, DataObject> fromNormalizedNode(final YangInstanceIdentifier path,
             final NormalizedNode<?, ?> data) {
-        if (!isBindingRepresentable(data)) {
+        if (notBindingRepresentable(data)) {
             return null;
         }
 
@@ -324,23 +305,6 @@ public class BindingNormalizedNodeCodecRegistry implements DataObjectSerializerR
         return new BindingCodecContext(context, this);
     }
 
-    @Override
-    @SuppressWarnings("checkstyle:illegalCatch")
-    public BindingCodecTree create(final SchemaContext context, final Class<?>... bindingClasses) {
-        final ModuleInfoBackedContext strategy = ModuleInfoBackedContext.create();
-        for (final Class<?> bindingCls : bindingClasses) {
-            try {
-                strategy.registerModuleInfo(BindingReflections.getModuleInfo(bindingCls));
-            } catch (final Exception e) {
-                throw new IllegalStateException(
-                        "Could not create BindingRuntimeContext from class " + bindingCls.getName(), e);
-            }
-        }
-        final BindingRuntimeContext runtimeCtx = BindingRuntimeContext.create(strategy, context);
-        return create(runtimeCtx);
-    }
-
-
     private static final class DeserializeFunction<T> implements Function<Optional<NormalizedNode<?, ?>>, Optional<T>> {
         private final DataObjectCodecContext<?,?> ctx;