Remove yang.model.api fakes for /restconf/operations 00/109100/1
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 28 Nov 2023 15:55:24 +0000 (16:55 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 28 Nov 2023 15:56:17 +0000 (16:56 +0100)
We are not emitting operatiions content through NormalizedNodes and
thefore do not need to mock anything.

For MD-SAL binding this use case is already handled by the parser,
which creates the magic nodes as needed.

For NETCONF binding this can potentially be lacking, as the remote
EffectiveModelContext may not even have ietf-restconf -- it might be
useful there, but we will re-introduce it if need be.

JIRA: NETCONF-773
Change-Id: Ia3f0f07804702d8046a775634a861e92c1761593
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/AbstractOperationDataSchemaNode.java [deleted file]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/AbstractOperationsModule.java [deleted file]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsContainerSchemaNode.java [deleted file]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsEffectiveModuleContext.java [deleted file]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsImportedModule.java [deleted file]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsLeafSchemaNode.java [deleted file]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsRestconfModule.java [deleted file]

diff --git a/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/AbstractOperationDataSchemaNode.java b/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/AbstractOperationDataSchemaNode.java
deleted file mode 100644 (file)
index 01229cc..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2020 PANTHEON.tech, s.r.o. 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.restconf.nb.rfc8040.rests.services.impl;
-
-import java.util.Optional;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Status;
-import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
-import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound;
-
-@Deprecated(forRemoval = true, since = "4.0.0")
-abstract class AbstractOperationDataSchemaNode<D extends DeclaredStatement<QName>>
-        implements DataSchemaNode, EffectiveStatement<QName, D> {
-    @Override
-    public final D getDeclared() {
-        return null;
-    }
-
-    @Override
-    public final QName getQName() {
-        return argument();
-    }
-
-    @Override
-    public final Status getStatus() {
-        return Status.CURRENT;
-    }
-
-    @Override
-    public final Optional<Boolean> effectiveConfig() {
-        return Optional.empty();
-    }
-
-    @Override
-    public final boolean isAugmenting() {
-        return false;
-    }
-
-    @Override
-    public final boolean isAddedByUses() {
-        return false;
-    }
-
-    @Override
-    public final Optional<String> getDescription() {
-        return Optional.empty();
-    }
-
-    @Override
-    public final Optional<String> getReference() {
-        return Optional.empty();
-    }
-
-    @Override
-    public final Optional<? extends QualifiedBound> getWhenCondition() {
-        return Optional.empty();
-    }
-}
diff --git a/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/AbstractOperationsModule.java b/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/AbstractOperationsModule.java
deleted file mode 100644 (file)
index 6a7a82c..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright (c) 2020 PANTHEON.tech, s.r.o. 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.restconf.nb.rfc8040.rests.services.impl;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Optional;
-import java.util.Set;
-import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.common.QNameModule;
-import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
-import org.opendaylight.yangtools.yang.common.YangVersion;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Deviation;
-import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
-import org.opendaylight.yangtools.yang.model.api.FeatureDefinition;
-import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
-import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.ModuleImport;
-import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
-import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
-import org.opendaylight.yangtools.yang.model.api.Submodule;
-import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.UsesNode;
-import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
-import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
-import org.opendaylight.yangtools.yang.model.api.meta.StatementOrigin;
-import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.FeatureEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleEffectiveStatement;
-
-@Deprecated(forRemoval = true, since = "4.0.0")
-abstract class AbstractOperationsModule implements Module, ModuleEffectiveStatement {
-    @Override
-    public final ModuleStatement getDeclared() {
-        return null;
-    }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.MODULE;
-    }
-
-    @Override
-    public final StatementOrigin statementOrigin() {
-        return StatementOrigin.CONTEXT;
-    }
-
-    @Override
-    public final Unqualified argument() {
-        return Unqualified.of(getName());
-    }
-
-    @Override
-    public final QNameModule localQNameModule() {
-        return getQNameModule();
-    }
-
-    @Override
-    public final Collection<? extends @NonNull ModuleImport> getImports() {
-        // Yeah, not accurate, but this should not be needed
-        return Set.of();
-    }
-
-    @Override
-    public final YangVersion getYangVersion() {
-        return YangVersion.VERSION_1;
-    }
-
-    @Override
-    public final Collection<? extends TypeDefinition<?>> getTypeDefinitions() {
-        return Set.of();
-    }
-
-    @Override
-    public final Collection<? extends GroupingDefinition> getGroupings() {
-        return Set.of();
-    }
-
-    @Override
-    public final Collection<? extends UsesNode> getUses() {
-        return Set.of();
-    }
-
-    @Override
-    public final Optional<String> getDescription() {
-        return Optional.empty();
-    }
-
-    @Override
-    public final Optional<String> getReference() {
-        return Optional.empty();
-    }
-
-    @Override
-    public final Collection<? extends NotificationDefinition> getNotifications() {
-        return Set.of();
-    }
-
-    @Override
-    public final Optional<String> getOrganization() {
-        return Optional.empty();
-    }
-
-    @Override
-    public final Optional<String> getContact() {
-        return Optional.empty();
-    }
-
-    @Override
-    public final Collection<? extends @NonNull Submodule> getSubmodules() {
-        return Set.of();
-    }
-
-    @Override
-    public final Collection<? extends @NonNull FeatureDefinition> getFeatures() {
-        return Set.of();
-    }
-
-    @Override
-    public final Collection<? extends @NonNull AugmentationSchemaNode> getAugmentations() {
-        return Set.of();
-    }
-
-    @Override
-    public final Collection<? extends @NonNull RpcDefinition> getRpcs() {
-        return Set.of();
-    }
-
-    @Override
-    public final Collection<? extends @NonNull Deviation> getDeviations() {
-        return Set.of();
-    }
-
-    @Override
-    public final Collection<? extends @NonNull IdentitySchemaNode> getIdentities() {
-        return Set.of();
-    }
-
-    @Override
-    public final Collection<? extends @NonNull ExtensionDefinition> getExtensionSchemaNodes() {
-        return List.of();
-    }
-
-    @Override
-    public final ModuleEffectiveStatement asEffectiveStatement() {
-        return this;
-    }
-
-    @Override
-    public final Optional<ExtensionEffectiveStatement> findExtension(final QName qname) {
-        return Optional.empty();
-    }
-
-    @Override
-    public final Optional<FeatureEffectiveStatement> findFeature(final QName qname) {
-        return Optional.empty();
-    }
-
-    @Override
-    public final Optional<IdentityEffectiveStatement> findIdentity(final QName qname) {
-        return Optional.empty();
-    }
-
-    @Override
-    public final Optional<SubmoduleEffectiveStatement> findSubmodule(final Unqualified submoduleName) {
-        return Optional.empty();
-    }
-}
diff --git a/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsContainerSchemaNode.java b/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsContainerSchemaNode.java
deleted file mode 100644 (file)
index 62043f4..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2020 PANTHEON.tech, s.r.o. 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.restconf.nb.rfc8040.rests.services.impl;
-
-import static java.util.Objects.requireNonNull;
-
-import com.google.common.collect.Maps;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-import java.util.Set;
-import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.util.CollectionWrappers;
-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.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
-import org.opendaylight.yangtools.yang.model.api.MustDefinition;
-import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
-import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.UsesNode;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.ContainerEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.ContainerStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeEffectiveStatement;
-
-@Deprecated(forRemoval = true, since = "4.0.0")
-final class OperationsContainerSchemaNode extends AbstractOperationDataSchemaNode<ContainerStatement>
-        implements ContainerSchemaNode, ContainerEffectiveStatement {
-    // There is no need to intern this nor add a revision, as we are providing the corresponding context anyway
-    static final @NonNull QName QNAME = QName.create(OperationsRestconfModule.NAMESPACE, "operations");
-
-    private final Map<QName, OperationsLeafSchemaNode> children;
-
-    OperationsContainerSchemaNode(final Collection<OperationsLeafSchemaNode> children) {
-        this.children = Maps.uniqueIndex(children, OperationsLeafSchemaNode::getQName);
-    }
-
-    @Override
-    public QName argument() {
-        return QNAME;
-    }
-
-    @Override
-    public List<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return CollectionWrappers.wrapAsList(children.values());
-    }
-
-    @Override
-    @SuppressWarnings({ "unchecked", "rawtypes" })
-    public Collection<DataSchemaNode> getChildNodes() {
-        return (Collection) children.values();
-    }
-
-    @Override
-    @SuppressWarnings({ "unchecked", "rawtypes" })
-    public Collection<DataTreeEffectiveStatement<?>> dataTreeNodes() {
-        return (Collection) children.values();
-    }
-
-    @Override
-    @SuppressWarnings({ "unchecked", "rawtypes" })
-    public Collection<SchemaTreeEffectiveStatement<?>> schemaTreeNodes() {
-        return (Collection) children.values();
-    }
-
-    @Override
-    public Optional<DataTreeEffectiveStatement<?>> findDataTreeNode(final QName qname) {
-        return Optional.ofNullable(children.get(requireNonNull(qname)));
-    }
-
-    @Override
-    public @NonNull Optional<SchemaTreeEffectiveStatement<?>> findSchemaTreeNode(final QName qname) {
-        return Optional.ofNullable(children.get(requireNonNull(qname)));
-    }
-
-    @Override
-    public DataSchemaNode dataChildByName(final QName name) {
-        return children.get(requireNonNull(name));
-    }
-
-    @Override
-    public Set<TypeDefinition<?>> getTypeDefinitions() {
-        return Set.of();
-    }
-
-    @Override
-    public Set<GroupingDefinition> getGroupings() {
-        return Set.of();
-    }
-
-    @Override
-    public Set<UsesNode> getUses() {
-        return Set.of();
-    }
-
-    @Override
-    public Set<AugmentationSchemaNode> getAvailableAugmentations() {
-        return Set.of();
-    }
-
-    @Override
-    public Set<NotificationDefinition> getNotifications() {
-        return Set.of();
-    }
-
-    @Override
-    public Set<ActionDefinition> getActions() {
-        return Set.of();
-    }
-
-    @Override
-    public Collection<@NonNull MustDefinition> getMustConstraints() {
-        return Set.of();
-    }
-
-    @Override
-    public boolean isPresenceContainer() {
-        return false;
-    }
-
-    @Override
-    public ContainerEffectiveStatement asEffectiveStatement() {
-        return this;
-    }
-}
diff --git a/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsEffectiveModuleContext.java b/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsEffectiveModuleContext.java
deleted file mode 100644 (file)
index c49413e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2020 PANTHEON.tech, s.r.o. 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.restconf.nb.rfc8040.rests.services.impl;
-
-import static com.google.common.base.Verify.verify;
-
-import com.google.common.collect.ImmutableMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.function.Function;
-import org.opendaylight.yangtools.yang.common.QNameModule;
-import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.spi.SimpleSchemaContext;
-
-@Deprecated(forRemoval = true, since = "4.0.0")
-final class OperationsEffectiveModuleContext extends SimpleSchemaContext implements EffectiveModelContext {
-    private final ImmutableMap<QNameModule, ModuleEffectiveStatement> modules;
-
-    OperationsEffectiveModuleContext(final Set<Module> modules) {
-        super(modules);
-        this.modules = modules.stream()
-                .map(module -> {
-                    verify(module instanceof ModuleEffectiveStatement, "Module %s is not an effective statement");
-                    return (ModuleEffectiveStatement) module;
-                })
-                .collect(ImmutableMap.toImmutableMap(ModuleEffectiveStatement::localQNameModule, Function.identity()));
-    }
-
-    @Override
-    public Map<QNameModule, ModuleEffectiveStatement> getModuleStatements() {
-        return modules;
-    }
-}
diff --git a/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsImportedModule.java b/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsImportedModule.java
deleted file mode 100644 (file)
index fe3de53..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 2020 PANTHEON.tech, s.r.o. 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.restconf.nb.rfc8040.rests.services.impl;
-
-import static java.util.Objects.requireNonNull;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.Optional;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.common.QNameModule;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeEffectiveStatement;
-
-@Deprecated(forRemoval = true, since = "4.0.0")
-final class OperationsImportedModule extends AbstractOperationsModule {
-    private final Module original;
-
-    OperationsImportedModule(final Module original) {
-        this.original = requireNonNull(original);
-    }
-
-    @Override
-    public String getName() {
-        return original.getName();
-    }
-
-    @Override
-    public QNameModule getQNameModule() {
-        return original.getQNameModule();
-    }
-
-    @Override
-    public String getPrefix() {
-        return original.getPrefix();
-    }
-
-    @Override
-    public Collection<DataSchemaNode> getChildNodes() {
-        return List.of();
-    }
-
-    @Override
-    public DataSchemaNode dataChildByName(final QName name) {
-        return null;
-    }
-
-    @Override
-    public List<EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return List.of();
-    }
-
-    @Override
-    public ConformanceType conformance() {
-        return ConformanceType.IMPORT;
-    }
-
-    @Override
-    public Collection<DataTreeEffectiveStatement<?>> dataTreeNodes() {
-        return List.of();
-    }
-
-    @Override
-    public Optional<DataTreeEffectiveStatement<?>> findDataTreeNode(final QName qname) {
-        return Optional.empty();
-    }
-
-    @Override
-    public Collection<SchemaTreeEffectiveStatement<?>> schemaTreeNodes() {
-        return List.of();
-    }
-
-    @Override
-    public Optional<SchemaTreeEffectiveStatement<?>> findSchemaTreeNode(final QName qname) {
-        return Optional.empty();
-    }
-
-    @Override
-    public Optional<ModuleEffectiveStatement> findReachableModule(final String prefix) {
-        return Optional.empty();
-    }
-
-    @Override
-    public Collection<Entry<String, ModuleEffectiveStatement>> reachableModules() {
-        return List.of();
-    }
-
-    @Override
-    public Optional<String> findNamespacePrefix(final QNameModule namespace) {
-        return Optional.empty();
-    }
-
-    @Override
-    public Collection<Entry<QNameModule, String>> namespacePrefixes() {
-        return List.of();
-    }
-}
diff --git a/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsLeafSchemaNode.java b/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsLeafSchemaNode.java
deleted file mode 100644 (file)
index 0ff6bda..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2020 PANTHEON.tech, s.r.o. 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.restconf.nb.rfc8040.rests.services.impl;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.MustDefinition;
-import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
-import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.LeafEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.LeafStatement;
-import org.opendaylight.yangtools.yang.model.ri.type.BaseTypes;
-
-@Deprecated(forRemoval = true, since = "4.0.0")
-final class OperationsLeafSchemaNode extends AbstractOperationDataSchemaNode<LeafStatement>
-        implements LeafSchemaNode, LeafEffectiveStatement {
-    private final QName qname;
-
-    OperationsLeafSchemaNode(final RpcDefinition rpc) {
-        qname = rpc.getQName();
-    }
-
-    @Override
-    public TypeDefinition<?> getType() {
-        return BaseTypes.emptyType();
-    }
-
-    @Override
-    public QName argument() {
-        return qname;
-    }
-
-    @Override
-    public boolean isMandatory() {
-        // This leaf has to be present
-        return true;
-    }
-
-    @Override
-    public Collection<@NonNull MustDefinition> getMustConstraints() {
-        return Set.of();
-    }
-
-    @Override
-    public LeafEffectiveStatement asEffectiveStatement() {
-        return this;
-    }
-
-    @Override
-    public List<EffectiveStatement<?, ?>> effectiveSubstatements() {
-        // FIXME: a 'type empty; mandatory true;' substatements, actually
-        return List.of();
-    }
-}
diff --git a/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsRestconfModule.java b/restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/OperationsRestconfModule.java
deleted file mode 100644 (file)
index bb2a5b2..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2020 PANTHEON.tech, s.r.o. 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.restconf.nb.rfc8040.rests.services.impl;
-
-import static java.util.Objects.requireNonNull;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.Optional;
-import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.common.QNameModule;
-import org.opendaylight.yangtools.yang.common.XMLNamespace;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeEffectiveStatement;
-
-@Deprecated(forRemoval = true, since = "4.0.0")
-final class OperationsRestconfModule extends AbstractOperationsModule {
-    // There is no need to intern this nor add a revision, as we are providing the corresponding context anyway
-    static final @NonNull QNameModule NAMESPACE =
-            QNameModule.create(XMLNamespace.of("urn:ietf:params:xml:ns:yang:ietf-restconf"));
-
-    private final OperationsContainerSchemaNode operations;
-
-    OperationsRestconfModule(final OperationsContainerSchemaNode operations) {
-        this.operations = requireNonNull(operations);
-    }
-
-    @Override
-    public String getName() {
-        return "ietf-restconf";
-    }
-
-    @Override
-    public QNameModule getQNameModule() {
-        return NAMESPACE;
-    }
-
-    @Override
-    public String getPrefix() {
-        return "rc";
-    }
-
-    @Override
-    public Collection<DataSchemaNode> getChildNodes() {
-        return List.of(operations);
-    }
-
-    @Override
-    public DataSchemaNode dataChildByName(final QName name) {
-        return name.equals(operations.getQName()) ? operations : null;
-    }
-
-    @Override
-    public List<EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return List.of(operations);
-    }
-
-    @Override
-    public ConformanceType conformance() {
-        return ConformanceType.IMPLEMENT;
-    }
-
-    @Override
-    public Optional<DataTreeEffectiveStatement<?>> findDataTreeNode(final QName qname) {
-        return qname.equals(operations.getQName()) ? Optional.of(operations) : Optional.empty();
-    }
-
-    @Override
-    public Optional<SchemaTreeEffectiveStatement<?>> findSchemaTreeNode(final QName qname) {
-        return qname.equals(operations.getQName()) ? Optional.of(operations) : Optional.empty();
-    }
-
-    @Override
-    public Collection<DataTreeEffectiveStatement<?>> dataTreeNodes() {
-        return List.of(operations);
-    }
-
-    @Override
-    public Collection<SchemaTreeEffectiveStatement<?>> schemaTreeNodes() {
-        return List.of(operations);
-    }
-
-    @Override
-    public Optional<ModuleEffectiveStatement> findReachableModule(final String prefix) {
-        return Optional.empty();
-    }
-
-    @Override
-    public Collection<Entry<String, ModuleEffectiveStatement>> reachableModules() {
-        return List.of();
-    }
-
-    @Override
-    public Optional<String> findNamespacePrefix(final QNameModule namespace) {
-        return Optional.empty();
-    }
-
-    @Override
-    public Collection<Entry<QNameModule, String>> namespacePrefixes() {
-        return List.of();
-    }
-}