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%2Finput%2FInput.java;h=e2cc83d92b3da2e4bfe87d45507cbc78de3e53cb;hp=02173acf7736133bddb2fb71c2e446a028c29cb2;hb=0885acc99dd153f55d07e293b4fbb8aaad10f0d2;hpb=84df20a29292cfb9f52acb0e0a2ebab2b996aa0b diff --git a/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/commands/input/Input.java b/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/commands/input/Input.java index 02173acf77..e2cc83d92b 100644 --- a/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/commands/input/Input.java +++ b/opendaylight/netconf/netconf-cli/src/main/java/org/opendaylight/controller/netconf/cli/commands/input/Input.java @@ -8,46 +8,52 @@ package org.opendaylight.controller.netconf.cli.commands.input; import com.google.common.base.Preconditions; +import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; 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.impl.CompositeNodeTOImpl; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; +import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; +import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder; /** * Input arguments for and rpc/command execution */ public class Input { - private final List> args; + private final List> args; - private final Map> nameToArg = new HashMap>(); + private final Map> nameToArg = new HashMap<>(); - public Input(final List> args) { + public Input(final List> args) { // FIXME empty Input should be constructed from static factory method if(args.isEmpty()) { this.args = Collections.emptyList(); return; } - final Node input = args.iterator().next(); + final NormalizedNode input = args.iterator().next(); Preconditions - .checkArgument(input instanceof CompositeNode, "Input container has to be of type composite node."); - this.args = ((CompositeNode) input).getValue(); + .checkArgument(input instanceof DataContainerChild, "Input container has to be of type Data Container Child."); + this.args = new ArrayList<>((Collection) input.getValue()); - for (final Node arg : this.args) { + for (final NormalizedNode arg : this.args) { nameToArg.put(arg.getNodeType().getLocalName(), arg); } } - public Node getArg(final String name) { + public NormalizedNode getArg(final String name) { return nameToArg.get(name); } - public CompositeNode wrap(final QName rpcQName) { - return new CompositeNodeTOImpl(rpcQName, null, args); + public NormalizedNode wrap(final QName rpcQName) { + //TODO just add the list as children to the node + return ImmutableContainerNodeBuilder.create() + .withNodeIdentifier(new NodeIdentifier(rpcQName)) + .withValue((Collection) args).build(); } }