Remove BindingToNormalizedNodeCodec.getDefaultNodeFor() 42/88042/1
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 25 Feb 2020 11:42:50 +0000 (12:42 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 25 Feb 2020 11:43:45 +0000 (12:43 +0100)
This method is used only in controller compat layer, which is going
away anyway. Remove it from our proper.

Change-Id: I61b73754e08c3b36ce6043e19b1cf25d554888d2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/BindingToNormalizedNodeCodec.java

index bdca5389b398b25dc52adb1e8857230c6d5c6446..668a8667864e8161028bf6839328efe17ea8a6b2 100644 (file)
@@ -40,7 +40,6 @@ import org.opendaylight.binding.runtime.api.DefaultBindingRuntimeContext;
 import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTree;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeFactory;
-import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeNode;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingDataObjectCodecTreeNode;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingLazyContainerNode;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
@@ -66,11 +65,8 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.impl.codec.DeserializationException;
-import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.model.api.ActionDefinition;
-import org.opendaylight.yangtools.yang.model.api.DocumentedNode.WithStatus;
-import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
 import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
@@ -469,27 +465,6 @@ public class BindingToNormalizedNodeCodec implements BindingNormalizedNodeSerial
         return ImmutableNodes.fromInstanceId(runtimeContext().getSchemaContext(), parentPath);
     }
 
-    /**
-     * This method creates an empty list container of a particular type.
-     *
-     * @deprecated This method is not generally useful, as empty lists do not convey information in YANG (they are
-     *             equivalent to non-present lists). It also leaks implementation details to a broader scope and should
-     *             never have been public in the first place.
-     */
-    @Deprecated
-    public NormalizedNode<?, ?> getDefaultNodeFor(final YangInstanceIdentifier parentMapPath) {
-        final BindingCodecTreeNode mapCodec = requireNonNull(
-                codecRegistry.getCodecContext().getSubtreeCodec(parentMapPath),
-                "Codec not found for yang instance identifier: " + parentMapPath);
-        final WithStatus schema = mapCodec.getSchema();
-        if (schema instanceof ListSchemaNode) {
-            final ListSchemaNode castedSchema = (ListSchemaNode) schema;
-            return castedSchema.isUserOrdered() ? Builders.orderedMapBuilder(castedSchema).build()
-                    : Builders.mapBuilder(castedSchema).build();
-        }
-        throw new IllegalArgumentException("Path does not point to list schema node");
-    }
-
     protected Collection<DOMDataTreeIdentifier> toDOMDataTreeIdentifiers(
             final Collection<DataTreeIdentifier<?>> subtrees) {
         return subtrees.stream().map(this::toDOMDataTreeIdentifier).collect(Collectors.toSet());