Remove SchemaNodeUtils 29/98929/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 8 Dec 2021 12:51:53 +0000 (13:51 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 8 Dec 2021 12:52:09 +0000 (13:52 +0100)
These utility methods are not used by anyone and have been deprecated in
yangtools-7.0.0. Remove them along with their tests.

JIRA: YANGTOOLS-1380
Change-Id: I90420c0d714fa1aefc8228f2b10beefc964a9c6a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
model/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SchemaNodeUtils.java [deleted file]
model/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/SchemaNodeUtilsTest.java [deleted file]

diff --git a/model/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SchemaNodeUtils.java b/model/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SchemaNodeUtils.java
deleted file mode 100644 (file)
index 204e3e2..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 2014 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.annotations.Beta;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-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.InputSchemaNode;
-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.OutputSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
-import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
-
-@Deprecated(since = "7.0.0", forRemoval = true)
-public final class SchemaNodeUtils {
-    private SchemaNodeUtils() {
-        // Hidden on purpose
-    }
-
-    @Beta
-    public static @NonNull Collection<? extends TypeDefinition<?>> getAllTypeDefinitions(
-            final DataNodeContainer parent) {
-        final List<TypeDefinition<?>> typedefs = new ArrayList<>();
-        traverse(new DataNodeAggregator() {
-            @Override
-            protected void addTypedefs(final Collection<? extends TypeDefinition<?>> typeDefs) {
-                typedefs.addAll(typeDefs);
-            }
-        }, requireNonNull(parent));
-        return typedefs;
-    }
-
-    @Beta
-    public static @NonNull Collection<? extends ContainerSchemaNode> getAllContainers(final DataNodeContainer parent) {
-        final List<ContainerSchemaNode> containers = new ArrayList<>();
-        traverse(new DataNodeAggregator() {
-            @Override
-            protected void addContainer(final ContainerSchemaNode containerNode) {
-                containers.add(containerNode);
-            }
-        }, requireNonNull(parent));
-        return containers;
-    }
-
-    @Beta
-    public static void traverse(final @NonNull DataNodeAggregator aggregator, final DataNodeContainer dataNode) {
-        if (dataNode == null) {
-            return;
-        }
-
-        for (DataSchemaNode childNode : dataNode.getChildNodes()) {
-            if (childNode.isAugmenting()) {
-                continue;
-            }
-            aggregator.addChild(childNode);
-            if (childNode instanceof ContainerSchemaNode) {
-                final ContainerSchemaNode containerNode = (ContainerSchemaNode) childNode;
-                aggregator.addContainer(containerNode);
-                traverse(aggregator, containerNode);
-            } else if (childNode instanceof ListSchemaNode) {
-                final ListSchemaNode list = (ListSchemaNode) childNode;
-                aggregator.addList(list);
-                traverse(aggregator, list);
-            } else if (childNode instanceof ChoiceSchemaNode) {
-                final ChoiceSchemaNode choiceNode = (ChoiceSchemaNode) childNode;
-                aggregator.addChoice(choiceNode);
-                for (final CaseSchemaNode caseNode : choiceNode.getCases()) {
-                    traverse(aggregator, caseNode);
-                }
-            }
-        }
-
-        aggregator.addTypedefs(dataNode.getTypeDefinitions());
-
-        traverseModule(aggregator, dataNode);
-        traverseGroupings(aggregator, dataNode);
-    }
-
-    private static void traverseModule(final DataNodeAggregator aggregator, final DataNodeContainer dataNode) {
-        final Module module;
-        if (dataNode instanceof Module) {
-            module = (Module) dataNode;
-        } else {
-            return;
-        }
-
-        for (NotificationDefinition notificationDefinition : module.getNotifications()) {
-            traverse(aggregator, notificationDefinition);
-        }
-
-        for (RpcDefinition rpcDefinition : module.getRpcs()) {
-            aggregator.addTypedefs(rpcDefinition.getTypeDefinitions());
-            InputSchemaNode input = rpcDefinition.getInput();
-            if (input != null) {
-                traverse(aggregator, input);
-            }
-            OutputSchemaNode output = rpcDefinition.getOutput();
-            if (output != null) {
-                traverse(aggregator, output);
-            }
-        }
-    }
-
-    private static void traverseGroupings(final DataNodeAggregator aggregator, final DataNodeContainer dataNode) {
-        for (GroupingDefinition grouping : dataNode.getGroupings()) {
-            aggregator.addGrouping(grouping);
-            traverse(aggregator, grouping);
-        }
-    }
-}
diff --git a/model/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/SchemaNodeUtilsTest.java b/model/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/SchemaNodeUtilsTest.java
deleted file mode 100644 (file)
index 1ce1417..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 2014 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 org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-
-import com.google.common.collect.ImmutableSet;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Set;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.junit.MockitoJUnitRunner;
-import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.CopyableNode;
-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.InputSchemaNode;
-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.OperationDefinition;
-import org.opendaylight.yangtools.yang.model.api.OutputSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
-
-@Deprecated
-@RunWith(MockitoJUnitRunner.StrictStubs.class)
-public class SchemaNodeUtilsTest {
-    @Test
-    public void testTraversal() {
-        final Module mockedModule = mockDataNodeContainer(Module.class);
-
-        final ContainerSchemaNode mockedAugmentingContainer = mockCopyableNode(true, mock(ContainerSchemaNode.class));
-        final ContainerSchemaNode mockedContainer = mockCopyableNode(false, mockDataNodeContainer(
-            ContainerSchemaNode.class));
-
-        final ListSchemaNode mockedList = mockCopyableNode(false, mockDataNodeContainer(ListSchemaNode.class));
-
-        final ChoiceSchemaNode mockedChoice = mockCopyableNode(false, mock(ChoiceSchemaNode.class));
-        final CaseSchemaNode mockedCase1 = mockDataNodeContainer(CaseSchemaNode.class);
-        final CaseSchemaNode mockedCase2 = mockDataNodeContainer(CaseSchemaNode.class);
-        doReturn(ImmutableSet.of(mockedCase1, mockedCase2)).when(mockedChoice).getCases();
-
-        final Set<DataSchemaNode> childNodes = ImmutableSet.of(mockedAugmentingContainer, mockedContainer, mockedList,
-                mockedChoice);
-        doReturn(childNodes).when(mockedModule).getChildNodes();
-
-        final NotificationDefinition mockedNotification = mockDataNodeContainer(NotificationDefinition.class);
-        final ContainerSchemaNode mockedContainerInNotification = mockCopyableNode(false,
-            mockDataNodeContainer(ContainerSchemaNode.class));
-        final Set<DataSchemaNode> notificationChildNodes = ImmutableSet.of(mockedContainerInNotification);
-        doReturn(notificationChildNodes).when(mockedNotification).getChildNodes();
-        final Set<NotificationDefinition> notifications = ImmutableSet.of(mockedNotification);
-
-        doReturn(notifications).when(mockedModule).getNotifications();
-
-        final RpcDefinition mockedRpc = mockOperationDefinition(mock(RpcDefinition.class));
-        final InputSchemaNode mockedContainerInRpcInput = mockDataNodeContainer(InputSchemaNode.class);
-        final ListSchemaNode mockedListInRpcInputContainer = mockCopyableNode(false,
-            mockDataNodeContainer(ListSchemaNode.class));
-        final Set<DataSchemaNode> rpcInputChildNodes = ImmutableSet.of(mockedListInRpcInputContainer);
-        doReturn(rpcInputChildNodes).when(mockedContainerInRpcInput).getChildNodes();
-        doReturn(mockedContainerInRpcInput).when(mockedRpc).getInput();
-        final Set<RpcDefinition> rpcs = ImmutableSet.of(mockedRpc);
-
-        doReturn(rpcs).when(mockedModule).getRpcs();
-
-        final GroupingDefinition mockedGrouping = mockDataNodeContainer(GroupingDefinition.class);
-        final Set<GroupingDefinition> groupings = ImmutableSet.of(mockedGrouping);
-
-        doReturn(groupings).when(mockedModule).getGroupings();
-
-        final Collection<? extends ContainerSchemaNode> containers = SchemaNodeUtils.getAllContainers(mockedModule);
-        assertEquals(2, containers.size());
-        assertFalse(containers.contains(mockedAugmentingContainer));
-        assertTrue(containers.contains(mockedContainer));
-        assertTrue(containers.contains(mockedContainerInNotification));
-    }
-
-    @Deprecated
-    private static <T extends CopyableNode> T mockCopyableNode(final boolean augmenting, final T node) {
-        doReturn(augmenting).when(node).isAugmenting();
-        return node;
-    }
-
-    private static <T extends DataNodeContainer> T mockDataNodeContainer(final Class<T> clazz) {
-        final T mock = mock(clazz);
-        doReturn(Collections.emptyList()).when(mock).getChildNodes();
-        doReturn(Collections.emptySet()).when(mock).getGroupings();
-        doReturn(Collections.emptySet()).when(mock).getTypeDefinitions();
-        return mock;
-    }
-
-    private static <T extends OperationDefinition> T mockOperationDefinition(final T mock) {
-        doReturn(Collections.emptySet()).when(mock).getTypeDefinitions();
-        doReturn(mockDataNodeContainer(OutputSchemaNode.class)).when(mock).getOutput();
-        return mock;
-    }
-}