+++ /dev/null
-/*
- * 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();
- }
-}
+++ /dev/null
-/*
- * 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();
- }
-}
+++ /dev/null
-/*
- * 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;
- }
-}
+++ /dev/null
-/*
- * 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;
- }
-}
+++ /dev/null
-/*
- * 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();
- }
-}
+++ /dev/null
-/*
- * 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();
- }
-}
+++ /dev/null
-/*
- * 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();
- }
-}