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%2FActionGenerator.java;h=19cca901a5e8cce304992671d1f0d0fab1203e15;hb=refs%2Fchanges%2F22%2F100122%2F11;hp=1b26a386739f55f4acb2dca0d8b379b60139f88a;hpb=58da589ef3294ffdd7867fc5b414f0bf06e83142;p=mdsal.git diff --git a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ActionGenerator.java b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ActionGenerator.java index 1b26a38673..19cca901a5 100644 --- a/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ActionGenerator.java +++ b/binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ActionGenerator.java @@ -7,12 +7,19 @@ */ package org.opendaylight.mdsal.binding.generator.impl.reactor; +import static com.google.common.base.Verify.verify; + +import java.util.List; import org.eclipse.jdt.annotation.NonNull; +import org.opendaylight.mdsal.binding.generator.impl.rt.DefaultActionRuntimeType; import org.opendaylight.mdsal.binding.model.api.GeneratedType; import org.opendaylight.mdsal.binding.model.api.Type; import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilder; import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilderBase; import org.opendaylight.mdsal.binding.model.ri.BindingTypes; +import org.opendaylight.mdsal.binding.runtime.api.ActionRuntimeType; +import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType; +import org.opendaylight.mdsal.binding.runtime.api.RuntimeType; import org.opendaylight.yangtools.yang.model.api.stmt.ActionEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.InputEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.OutputEffectiveStatement; @@ -21,8 +28,8 @@ import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack; /** * Generator corresponding to a {@code action} statement. */ -final class ActionGenerator extends AbstractCompositeGenerator { - ActionGenerator(final ActionEffectiveStatement statement, final AbstractCompositeGenerator parent) { +final class ActionGenerator extends CompositeSchemaTreeGenerator { + ActionGenerator(final ActionEffectiveStatement statement, final AbstractCompositeGenerator parent) { super(statement, parent); } @@ -61,7 +68,7 @@ final class ActionGenerator extends AbstractCompositeGenerator parent = getParent(); + final AbstractCompositeGenerator parent = getParent(); if (parent instanceof ListGenerator) { final KeyGenerator keyGen = ((ListGenerator) parent).keyGenerator(); if (keyGen != null) { @@ -77,4 +84,17 @@ final class ActionGenerator extends AbstractCompositeGenerator builder, final TypeBuilderFactory builderFactory) { // actions are a separate concept } + + @Override + CompositeRuntimeTypeBuilder createBuilder( + final ActionEffectiveStatement statement) { + return new CompositeRuntimeTypeBuilder<>(statement) { + @Override + ActionRuntimeType build(final GeneratedType generatedType, final ActionEffectiveStatement statement, + final List childTypes, final List augmentTypes) { + verify(augmentTypes.isEmpty(), "Unexpected augments %s", augmentTypes); + return new DefaultActionRuntimeType(generatedType, statement, childTypes); + } + }; + } }