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%2FListGenerator.java;h=a7c464e392f5f54e07824a5a9d7a5e6c3073dea4;hb=ecdcdb340457ded6898193197e88ea33c84d58ae;hp=63a6e8d9afd5195557b470b3ef1339654e58afef;hpb=feaecf128a14832eec9661057af4de6b3704a07f;p=mdsal.git diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ListGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ListGenerator.java index 63a6e8d9af..a7c464e392 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ListGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ListGenerator.java @@ -9,7 +9,9 @@ package org.opendaylight.mdsal.binding.generator.impl.reactor; import static org.opendaylight.mdsal.binding.model.ri.BindingTypes.identifiable; +import java.util.List; import org.eclipse.jdt.annotation.Nullable; +import org.opendaylight.mdsal.binding.generator.impl.rt.DefaultListRuntimeType; import org.opendaylight.mdsal.binding.model.api.GeneratedType; import org.opendaylight.mdsal.binding.model.api.MethodSignature.ValueMechanics; import org.opendaylight.mdsal.binding.model.api.Type; @@ -17,6 +19,9 @@ import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilde import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilderBase; import org.opendaylight.mdsal.binding.model.api.type.builder.MethodSignatureBuilder; import org.opendaylight.mdsal.binding.model.ri.Types; +import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType; +import org.opendaylight.mdsal.binding.runtime.api.ListRuntimeType; +import org.opendaylight.mdsal.binding.runtime.api.RuntimeType; import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.common.Ordering; import org.opendaylight.yangtools.yang.model.api.stmt.KeyEffectiveStatement; @@ -27,10 +32,10 @@ import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack; /** * Generator corresponding to a {@code list} statement. */ -final class ListGenerator extends CompositeSchemaTreeGenerator { +final class ListGenerator extends CompositeSchemaTreeGenerator { private final @Nullable KeyGenerator keyGen; - ListGenerator(final ListEffectiveStatement statement, final AbstractCompositeGenerator parent) { + ListGenerator(final ListEffectiveStatement statement, final AbstractCompositeGenerator parent) { super(statement, parent); keyGen = statement.findFirstEffectiveSubstatement(KeyEffectiveStatement.class) .map(key -> new KeyGenerator(key, parent, this)) @@ -76,6 +81,13 @@ final class ListGenerator extends CompositeSchemaTreeGenerator children, final List augments) { + return new DefaultListRuntimeType(type, statement, children, augments, + keyGen != null ? keyGen.runtimeType().orElseThrow() : null); + } + @Override Type methodReturnType(final TypeBuilderFactory builderFactory) { final Type generatedType = super.methodReturnType(builderFactory);