Remove EffectiveAugmentationSchema 56/108256/2
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 5 Oct 2023 15:04:54 +0000 (17:04 +0200)
committerRobert Varga <nite@hq.sk>
Thu, 5 Oct 2023 17:17:11 +0000 (17:17 +0000)
This class is not needed anywhere and has been deprecated for removal.
Remove it in this major iteration.

Change-Id: Ibad4f6e66b559285e5fda61281e421c12da23838
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
model/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/EffectiveAugmentationSchema.java [deleted file]
model/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/YT1404Test.java

diff --git a/model/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/EffectiveAugmentationSchema.java b/model/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/EffectiveAugmentationSchema.java
deleted file mode 100644 (file)
index 8eeaced..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.yangtools.yang.model.util;
-
-import static java.util.Objects.requireNonNull;
-
-import com.google.common.collect.ImmutableMap;
-import java.util.Collection;
-import java.util.Optional;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.ActionDefinition;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
-import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
-import org.opendaylight.yangtools.yang.model.api.Status;
-import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.UsesNode;
-import org.opendaylight.yangtools.yang.model.api.stmt.AugmentEffectiveStatement;
-import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound;
-
-/**
- * Proxy for AugmentationSchema. Child node schemas are replaced with actual schemas from parent. This is needed to
- * correctly interpret constructs like this:
- * <pre>
- *   <code>
- *     container foo;
- *
- *     augment /foo {
- *       container bar;
- *     }
- *
- *     augment /foo/bar {
- *       container baz;
- *     }
- *   </code>
- * </pre>
- * The {@link AugmentationSchemaNode} returned for {@code augment /foo} contains bare {@code container bar}, e.g. it
- * does not show {@code augment /foo/bar} as an available augmentation -- this is only visible in {@code foo}'s schema
- * nodes.
- *
- * <p>
- * Note this class only handles {@link DataSchemaNode}s, not all {@code schema tree} statements, as it strictly should.
- *
- * @deprecated This class should not be needed anymore.
- */
-@Deprecated(since = "11.0.0", forRemoval = true)
-public final class EffectiveAugmentationSchema implements AugmentationSchemaNode {
-    private final ImmutableMap<QName, DataSchemaNode> children;
-    private final AugmentationSchemaNode delegate;
-
-    public EffectiveAugmentationSchema(final AugmentationSchemaNode augment, final DataNodeContainer target) {
-        delegate = requireNonNull(augment);
-
-        final var augmentChildren = augment.getChildNodes();
-        final var builder = ImmutableMap.<QName, DataSchemaNode>builderWithExpectedSize(augmentChildren.size());
-        for (var augChild : augmentChildren) {
-            // parent may have the corresponding child removed via 'deviate unsupported', i.e. the child is effectively
-            // not present at the target site
-            final var qname = augChild.getQName();
-            final var targetChild = target.dataChildByName(qname);
-            if (targetChild != null) {
-                builder.put(qname, targetChild);
-            }
-        }
-        children = builder.build();
-    }
-
-    @Override
-    public Optional<? extends QualifiedBound> getWhenCondition() {
-        return delegate.getWhenCondition();
-    }
-
-    @Override
-    public Optional<String> getDescription() {
-        return delegate.getDescription();
-    }
-
-    @Override
-    public Optional<String> getReference() {
-        return delegate.getReference();
-    }
-
-    @Override
-    public Status getStatus() {
-        return delegate.getStatus();
-    }
-
-    @Override
-    public Collection<? extends UnknownSchemaNode> getUnknownSchemaNodes() {
-        return delegate.getUnknownSchemaNodes();
-    }
-
-    @Override
-    public Collection<? extends TypeDefinition<?>> getTypeDefinitions() {
-        return delegate.getTypeDefinitions();
-    }
-
-    @Override
-    public Collection<? extends DataSchemaNode> getChildNodes() {
-        return children.values();
-    }
-
-    @Override
-    public Collection<? extends GroupingDefinition> getGroupings() {
-        return delegate.getGroupings();
-    }
-
-    @Override
-    public DataSchemaNode dataChildByName(final QName name) {
-        return children.get(requireNonNull(name));
-    }
-
-    @Override
-    public Collection<? extends UsesNode> getUses() {
-        return delegate.getUses();
-    }
-
-    @Override
-    public Collection<? extends ActionDefinition> getActions() {
-        return delegate.getActions();
-    }
-
-    @Override
-    public Optional<ActionDefinition> findAction(final QName qname) {
-        return delegate.findAction(qname);
-    }
-
-    @Override
-    public Collection<? extends NotificationDefinition> getNotifications() {
-        return delegate.getNotifications();
-    }
-
-    @Override
-    public Optional<NotificationDefinition> findNotification(final QName qname) {
-        return delegate.findNotification(qname);
-    }
-
-    @Override
-    public AugmentEffectiveStatement asEffectiveStatement() {
-        return delegate.asEffectiveStatement();
-    }
-}
index c65e6767074ad0225d4df4a6612a7038138778df..cd679f460b7adf92178666acd7ae9510abdd030d 100644 (file)
@@ -60,13 +60,8 @@ class YT1404Test {
 
         final var foo = assertInstanceOf(ContainerSchemaNode.class, module.getDataChildByName(FOO));
         assertEquals(1, foo.getChildNodes().size());
-        final var fooBar = assertInstanceOf(LeafSchemaNode.class, foo.dataChildByName(BAR));
+        assertInstanceOf(LeafSchemaNode.class, foo.dataChildByName(BAR));
 
-        final var fooAugment = Iterables.getOnlyElement(foo.getAvailableAugmentations());
-        assertSame(augment, fooAugment);
-
-        final var effectiveAug = new EffectiveAugmentationSchema(augment, foo);
-        assertEquals(1, effectiveAug.getChildNodes().size());
-        assertSame(fooBar, effectiveAug.getDataChildByName(BAR));
+        assertSame(augment, Iterables.getOnlyElement(foo.getAvailableAugmentations()));
     }
 }