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%2Fcommands%2Foutput%2FOutput.java;h=0d9880d8e6990c56b44cf4072d7ae2aa1b26f102;hp=c366c8969c041d97e26a9e2bc30022ae49004081;hb=78527e81f8cc82140af5cb2649863a597f380291;hpb=44c747db358bf0d49434d5f818121286b5928d4a diff --git a/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/commands/output/Output.java b/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/commands/output/Output.java index c366c8969c..0d9880d8e6 100644 --- a/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/commands/output/Output.java +++ b/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/commands/output/Output.java @@ -13,8 +13,8 @@ import com.google.common.collect.Maps; import java.util.List; import java.util.Map; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.CompositeNode; -import org.opendaylight.yangtools.yang.data.api.Node; +import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; +import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; /** @@ -22,30 +22,32 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; */ public class Output { - private final CompositeNode output; + private final NormalizedNode output; - public Output(final CompositeNode output) { - this.output = output; + public Output(final NormalizedNode output) { + if (output instanceof ContainerNode && output.getNodeType().getLocalName() == "rpc-reply") { + this.output = ((ContainerNode) output).getValue().iterator().next(); + } else { + this.output = output; + } } - public Map>> unwrap(final OutputDefinition outputDefinition) { + public Map>> unwrap(final OutputDefinition outputDefinition) { Preconditions.checkArgument(outputDefinition.isEmpty() == false); final Map mappedSchemaNodes = mapOutput(outputDefinition); - final Map>> mappedNodesToSchema = Maps.newHashMap(); - - for (final Node node : output.getValue()) { - final DataSchemaNode schemaNode = mappedSchemaNodes.get(node.getKey().withoutRevision()); - final List> list = mappedNodesToSchema.get(schemaNode) == null ? Lists.> newArrayList() - : mappedNodesToSchema.get(schemaNode); - list.add(node); - mappedNodesToSchema.put(schemaNode, list); - } + final Map>> mappedNodesToSchema = Maps.newHashMap(); + + final DataSchemaNode schemaNode = mappedSchemaNodes.get(output.getNodeType().withoutRevision()); + final List> list = mappedNodesToSchema.get(schemaNode) == null ? Lists.>newArrayList() + : mappedNodesToSchema.get(schemaNode); + list.add(output); + mappedNodesToSchema.put(schemaNode, list); return mappedNodesToSchema; } - public CompositeNode getOutput() { + public NormalizedNode getOutput() { return output; }