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%2FBindingNormalizedNodeCodecRegistry.java;h=247ee2d9f44b9726db1f2bc283256c98ee5ff8d1;hb=6a49910630a548fa6555bfa3c95a5d929b6f5982;hp=4b30ebf6bd76b29779d8def54334781d2e9ee5c7;hpb=bd39a0dd326cb6d5b538ad2aaf84e0f2195414f2;p=mdsal.git diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingNormalizedNodeCodecRegistry.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingNormalizedNodeCodecRegistry.java index 4b30ebf6bd..247ee2d9f4 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingNormalizedNodeCodecRegistry.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingNormalizedNodeCodecRegistry.java @@ -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, 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 implements Function>, Optional> { private final DataObjectCodecContext ctx;