X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fgenerator%2Fimpl%2Freactor%2FOperationContainerGenerator.java;h=35a70e5824649f992ae495afc7e9351badc4429a;hb=ecdcdb340457ded6898193197e88ea33c84d58ae;hp=e588743fdaba9610502e4acc20178bb87fc3ee20;hpb=60039d4d027e172f6e1d644fb1c2fa60688c06c0;p=mdsal.git diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/OperationContainerGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/OperationContainerGenerator.java index e588743fda..35a70e5824 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/OperationContainerGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/OperationContainerGenerator.java @@ -7,30 +7,26 @@ */ package org.opendaylight.mdsal.binding.generator.impl.reactor; +import static java.util.Objects.requireNonNull; + import org.opendaylight.mdsal.binding.model.api.ConcreteType; import org.opendaylight.mdsal.binding.model.api.GeneratedType; import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder; -import org.opendaylight.mdsal.binding.model.ri.BindingTypes; -import org.opendaylight.yangtools.yang.model.api.stmt.InputEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.OutputEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeEffectiveStatement; +import org.opendaylight.mdsal.binding.runtime.api.CompositeRuntimeType; +import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeEffectiveStatement; import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack; /** * Generator corresponding to an {@code input} or an {@code output} statement. */ -class OperationContainerGenerator - extends CompositeSchemaTreeGenerator, OperationContainerGenerator> { +abstract class OperationContainerGenerator, R extends CompositeRuntimeType> + extends CompositeSchemaTreeGenerator { private final ConcreteType baseInterface; - OperationContainerGenerator(final InputEffectiveStatement statement, final AbstractCompositeGenerator parent) { - super(statement, parent); - baseInterface = BindingTypes.RPC_INPUT; - } - - OperationContainerGenerator(final OutputEffectiveStatement statement, final AbstractCompositeGenerator parent) { + OperationContainerGenerator(final S statement, final AbstractCompositeGenerator parent, + final ConcreteType baseInterface) { super(statement, parent); - baseInterface = BindingTypes.RPC_OUTPUT; + this.baseInterface = requireNonNull(baseInterface); } @Override @@ -40,7 +36,7 @@ class OperationContainerGenerator @Override final GeneratedType createTypeImpl(final TypeBuilderFactory builderFactory) { - final AbstractCompositeGenerator parent = getParent(); + final AbstractCompositeGenerator parent = getParent(); if (parent instanceof ActionGenerator && ((ActionGenerator) parent).isAddedByUses()) { // final ActionDefinition orig = findOrigAction(parentSchema, action).get(); // // Original definition may live in a different module, make sure we account for that