From: Robert Varga Date: Sat, 16 Dec 2023 20:56:43 +0000 (+0100) Subject: Remove BindingRuntimeTypes.findRpc{Input,Output} X-Git-Tag: v13.0.0~71 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=mdsal.git;a=commitdiff_plain;h=17e0074ebd15881b425b2df8b94cc318c8bfa402 Remove BindingRuntimeTypes.findRpc{Input,Output} These methods are no longer used, remove them along with the indexing support. This indes {Input,Output,Rpc}Generator. Change-Id: I90820f5e925fd7e72dbe68572e5c671ef277da29 Signed-off-by: Robert Varga --- diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/BindingRuntimeTypesFactory.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/BindingRuntimeTypesFactory.java index 8a7376042f..9a88b9a0cc 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/BindingRuntimeTypesFactory.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/BindingRuntimeTypesFactory.java @@ -19,10 +19,7 @@ import org.opendaylight.mdsal.binding.generator.impl.reactor.AbstractExplicitGen import org.opendaylight.mdsal.binding.generator.impl.reactor.Generator; import org.opendaylight.mdsal.binding.generator.impl.reactor.GeneratorReactor; import org.opendaylight.mdsal.binding.generator.impl.reactor.IdentityGenerator; -import org.opendaylight.mdsal.binding.generator.impl.reactor.InputGenerator; import org.opendaylight.mdsal.binding.generator.impl.reactor.ModuleGenerator; -import org.opendaylight.mdsal.binding.generator.impl.reactor.OutputGenerator; -import org.opendaylight.mdsal.binding.generator.impl.reactor.RpcGenerator; import org.opendaylight.mdsal.binding.generator.impl.reactor.TypeBuilderFactory; import org.opendaylight.mdsal.binding.generator.impl.rt.DefaultBindingRuntimeTypes; import org.opendaylight.mdsal.binding.model.api.GeneratedType; @@ -30,9 +27,7 @@ import org.opendaylight.mdsal.binding.model.api.JavaTypeName; import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeTypes; import org.opendaylight.mdsal.binding.runtime.api.CaseRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.IdentityRuntimeType; -import org.opendaylight.mdsal.binding.runtime.api.InputRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.ModuleRuntimeType; -import org.opendaylight.mdsal.binding.runtime.api.OutputRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.RuntimeType; import org.opendaylight.yangtools.concepts.Mutable; import org.opendaylight.yangtools.yang.common.QName; @@ -50,10 +45,6 @@ final class BindingRuntimeTypesFactory implements Mutable { private final Map identities = new HashMap<>(); // All known types, indexed by their JavaTypeName private final Map allTypes = new HashMap<>(); - // All RpcOutputs, indexed by their RPC's QName - private final Map rpcOutputs = new HashMap<>(); - // All RpcInputs, indexed by their RPC's QName - private final Map rpcInputs = new HashMap<>(); // All known 'choice's to their corresponding cases private final SetMultimap choiceToCases = HashMultimap.create(); @@ -70,7 +61,7 @@ final class BindingRuntimeTypesFactory implements Mutable { LOG.debug("Indexed {} generators in {}", moduleGens.size(), sw); return new DefaultBindingRuntimeTypes(context, factory.modules, factory.allTypes, factory.identities, - factory.rpcInputs, factory.rpcOutputs, factory.choiceToCases); + factory.choiceToCases); } private void indexModules(final Map moduleGens) { @@ -87,17 +78,6 @@ final class BindingRuntimeTypesFactory implements Mutable { safePut(identities, "identities", identity.statement().argument(), identity); }); } - // FIXME: do not collect these once we they generate a proper RuntimeType - if (gen instanceof RpcGenerator rpcGen) { - final QName rpcName = rpcGen.statement().argument(); - for (var subgen : gen) { - if (subgen instanceof InputGenerator inputGen) { - inputGen.runtimeType().ifPresent(input -> rpcInputs.put(rpcName, input)); - } else if (subgen instanceof OutputGenerator outputGen) { - outputGen.runtimeType().ifPresent(output -> rpcOutputs.put(rpcName, output)); - } - } - } } } diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/InputGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/InputGenerator.java index 37745e3036..99855f4cc1 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/InputGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/InputGenerator.java @@ -23,8 +23,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.InputEffectiveStatement; * as the name. This makes it easier to support multiple RPCs/actions in one source file, as we can import them without * a conflict. */ -// FIXME: hide this once we have RpcRuntimeType -public final class InputGenerator extends OperationContainerGenerator { +final class InputGenerator extends OperationContainerGenerator { InputGenerator(final InputEffectiveStatement statement, final AbstractCompositeGenerator parent) { super(statement, parent, BindingTypes.RPC_INPUT); } diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/OutputGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/OutputGenerator.java index 39d03628c2..fda1d96dd9 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/OutputGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/OutputGenerator.java @@ -21,8 +21,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.OutputEffectiveStatement; /** * Generator corresponding to an {@code output} statement. */ -// FIXME: hide this once we have RpcRuntimeType -public final class OutputGenerator extends OperationContainerGenerator { +final class OutputGenerator extends OperationContainerGenerator { OutputGenerator(final OutputEffectiveStatement statement, final AbstractCompositeGenerator parent) { super(statement, parent, BindingTypes.RPC_OUTPUT); } diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/RpcGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/RpcGenerator.java index 340ba42115..ed3d5c3e00 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/RpcGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/RpcGenerator.java @@ -20,8 +20,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.RpcEffectiveStatement; /** * Generator corresponding to a {@code rpc} statement. */ -// FIXME: hide this once we have RpcRuntimeType -public final class RpcGenerator extends AbstractInvokableGenerator { +final class RpcGenerator extends AbstractInvokableGenerator { RpcGenerator(final RpcEffectiveStatement statement, final ModuleGenerator parent) { super(statement, parent); } diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/rt/DefaultBindingRuntimeTypes.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/rt/DefaultBindingRuntimeTypes.java index 13c49461c2..a954560bdb 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/rt/DefaultBindingRuntimeTypes.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/rt/DefaultBindingRuntimeTypes.java @@ -25,9 +25,7 @@ import org.opendaylight.mdsal.binding.runtime.api.CaseRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.ChoiceRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.GeneratedRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.IdentityRuntimeType; -import org.opendaylight.mdsal.binding.runtime.api.InputRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.ModuleRuntimeType; -import org.opendaylight.mdsal.binding.runtime.api.OutputRuntimeType; import org.opendaylight.mdsal.binding.runtime.api.RuntimeType; import org.opendaylight.mdsal.binding.runtime.api.YangDataRuntimeType; import org.opendaylight.yangtools.yang.common.QName; @@ -44,20 +42,15 @@ public final class DefaultBindingRuntimeTypes implements BindingRuntimeTypes { private final ImmutableMap modulesByNamespace; private final ImmutableSortedMap modulesByPackage; private final ImmutableMap identities; - private final ImmutableMap rpcOutputs; - private final ImmutableMap rpcInputs; private final ImmutableMap types; public DefaultBindingRuntimeTypes(final EffectiveModelContext context, final Map modules, final Map types, - final Map identities, final Map rpcInputs, - final Map rpcOutputs, + final Map identities, final SetMultimap choiceToCases) { this.context = requireNonNull(context); this.identities = ImmutableMap.copyOf(identities); this.types = ImmutableMap.copyOf(types); - this.rpcInputs = ImmutableMap.copyOf(rpcInputs); - this.rpcOutputs = ImmutableMap.copyOf(rpcOutputs); this.choiceToCases = ImmutableSetMultimap.copyOf(choiceToCases); modulesByNamespace = ImmutableMap.copyOf(modules); @@ -93,16 +86,6 @@ public final class DefaultBindingRuntimeTypes implements BindingRuntimeTypes { return module == null ? null : module.schemaTreeChild(qname); } - @Override - public Optional findRpcInput(final QName rpcName) { - return Optional.ofNullable(rpcInputs.get(requireNonNull(rpcName))); - } - - @Override - public Optional findRpcOutput(final QName rpcName) { - return Optional.ofNullable(rpcOutputs.get(requireNonNull(rpcName))); - } - @Override public Optional findYangData(final YangDataName templateName) { final var module = modulesByNamespace.get(templateName.module()); diff --git a/binding/mdsal-binding-runtime-api/src/main/java/org/opendaylight/mdsal/binding/runtime/api/BindingRuntimeTypes.java b/binding/mdsal-binding-runtime-api/src/main/java/org/opendaylight/mdsal/binding/runtime/api/BindingRuntimeTypes.java index 6837ef6655..8114e0df1b 100644 --- a/binding/mdsal-binding-runtime-api/src/main/java/org/opendaylight/mdsal/binding/runtime/api/BindingRuntimeTypes.java +++ b/binding/mdsal-binding-runtime-api/src/main/java/org/opendaylight/mdsal/binding/runtime/api/BindingRuntimeTypes.java @@ -36,10 +36,6 @@ public interface BindingRuntimeTypes extends EffectiveModelContextProvider, Runt Optional findSchema(JavaTypeName typeName); - Optional findRpcInput(QName rpcName); - - Optional findRpcOutput(QName rpcName); - Optional findYangData(YangDataName templateName); default @Nullable RuntimeType schemaTreeChild(final Absolute path) {