X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-cli%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fcli%2Freader%2Fimpl%2FContainerReader.java;h=7850e5ea39341cefa1442d7c049e2508fb4e9a35;hp=8e9a29ef5aba2a39c5f4f881db4b0daad57af8bc;hb=78527e81f8cc82140af5cb2649863a597f380291;hpb=c1362c86eb19e92e6c64d10099a45deb499c6db1 diff --git a/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/reader/impl/ContainerReader.java b/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/reader/impl/ContainerReader.java index 8e9a29ef5a..7850e5ea39 100644 --- a/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/reader/impl/ContainerReader.java +++ b/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/reader/impl/ContainerReader.java @@ -11,6 +11,7 @@ import com.google.common.base.Function; import com.google.common.collect.Collections2; import com.google.common.collect.Lists; import java.io.IOException; +import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; @@ -21,9 +22,11 @@ import org.opendaylight.controller.netconf.cli.io.ConsoleContext; import org.opendaylight.controller.netconf.cli.io.ConsoleIO; import org.opendaylight.controller.netconf.cli.reader.AbstractReader; import org.opendaylight.controller.netconf.cli.reader.ReadingException; -import org.opendaylight.yangtools.yang.data.api.Node; -import org.opendaylight.yangtools.yang.data.impl.ImmutableCompositeNode; -import org.opendaylight.yangtools.yang.data.impl.util.CompositeNodeBuilder; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; +import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; +import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeAttrBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -46,7 +49,7 @@ public class ContainerReader extends AbstractReader { } @Override - public List> readWithContext(final ContainerSchemaNode containerNode) throws IOException, ReadingException { + public List> readWithContext(final ContainerSchemaNode containerNode) throws IOException, ReadingException { console.formatLn("Submit child nodes for container: %s, %s", containerNode.getQName().getLocalName(), Collections2.transform(containerNode.getChildNodes(), new Function() { @Override @@ -54,26 +57,27 @@ public class ContainerReader extends AbstractReader { return input.getQName().getLocalName(); } })); + final DataContainerNodeAttrBuilder builder = ImmutableContainerNodeBuilder.create(); + builder.withNodeIdentifier(new NodeIdentifier(containerNode.getQName())); - final CompositeNodeBuilder compositeNodeBuilder = ImmutableCompositeNode.builder(); - compositeNodeBuilder.setQName(containerNode.getQName()); + final ArrayList> nodesToAdd = new ArrayList<>(); final SeparatedNodes separatedNodes = SeparatedNodes.separateNodes(containerNode, getReadConfigNode()); for (final DataSchemaNode childNode : sortChildren(separatedNodes.getMandatoryNotKey())) { - final List> redNodes = argumentHandlerRegistry.getGenericReader(getSchemaContext(), + final List> redNodes = argumentHandlerRegistry.getGenericReader(getSchemaContext(), getReadConfigNode()).read(childNode); if (redNodes.isEmpty()) { console.formatLn("No data specified for mandatory element %s.", childNode.getQName().getLocalName()); return Collections.emptyList(); } else { - compositeNodeBuilder.addAll(redNodes); + nodesToAdd.addAll(redNodes); } } for (final DataSchemaNode childNode : sortChildren(separatedNodes.getOthers())) { - compositeNodeBuilder.addAll(argumentHandlerRegistry.getGenericReader(getSchemaContext(), + nodesToAdd.addAll(argumentHandlerRegistry.getGenericReader(getSchemaContext(), getReadConfigNode()).read(childNode)); } - return Collections.> singletonList(compositeNodeBuilder.toInstance()); + return Collections.> singletonList(builder.withValue((ArrayList) nodesToAdd).build()); } private List sortChildren(final Set unsortedNodes) {