2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.restconf.nb.rfc8040.rests.utils;
10 import org.opendaylight.yangtools.yang.common.QName;
11 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
12 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
13 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
14 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
15 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
16 import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
17 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode;
18 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
19 import org.opendaylight.yangtools.yang.data.api.schema.MapNode;
20 import org.opendaylight.yangtools.yang.data.api.schema.OrderedMapNode;
21 import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListEntryNode;
22 import org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListNode;
23 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
24 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
28 final YangInstanceIdentifier path;
29 final YangInstanceIdentifier path2;
30 final YangInstanceIdentifier path3;
31 final MapEntryNode data;
32 final MapEntryNode data2;
33 final ContainerNode data3;
34 final ContainerNode data4;
35 final MapNode listData;
36 final MapNode listData2;
37 final OrderedMapNode orderedMapNode1;
38 final OrderedMapNode orderedMapNode2;
39 final LeafNode contentLeaf;
40 final LeafNode contentLeaf2;
41 final MapEntryNode checkData;
43 final SchemaPath errorRpc;
44 final ContainerNode input;
45 final ContainerNode output;
46 final LeafSetNode<String> leafSetNode1;
47 final LeafSetNode<String> leafSetNode2;
48 final LeafSetNode<String> orderedLeafSetNode1;
49 final LeafSetNode<String> orderedLeafSetNode2;
50 final YangInstanceIdentifier leafSetNodePath;
51 final UnkeyedListNode unkeyedListNode1;
52 final UnkeyedListNode unkeyedListNode2;
53 final UnkeyedListEntryNode unkeyedListEntryNode1;
54 final UnkeyedListEntryNode unkeyedListEntryNode2;
56 final QName base = QName.create("ns", "2016-02-28", "base");
57 final QName listKeyQName = QName.create(base, "list-key");
58 final QName leafListQname = QName.create(base, "leaf-list");
59 final QName listQname = QName.create(base, "list");
62 final NodeIdentifierWithPredicates nodeWithKey =
63 NodeIdentifierWithPredicates.of(listQname, listKeyQName, "keyValue");
64 final NodeIdentifierWithPredicates nodeWithKey2 =
65 NodeIdentifierWithPredicates.of(listQname, listKeyQName, "keyValue2");
66 final LeafNode<Object> content = Builders.leafBuilder()
67 .withNodeIdentifier(new NodeIdentifier(QName.create(base, "leaf-content")))
70 final LeafNode<Object> content2 = Builders.leafBuilder()
71 .withNodeIdentifier(new NodeIdentifier(QName.create(base, "leaf-content-different")))
72 .withValue("content-different")
74 final DataContainerChild<?, ?> dataContainer =
75 Builders.leafBuilder()
76 .withNodeIdentifier(new NodeIdentifier(QName.create(listQname, "identifier")))
79 data = Builders.mapEntryBuilder()
80 .withNodeIdentifier(nodeWithKey)
83 data2 = Builders.mapEntryBuilder()
84 .withNodeIdentifier(nodeWithKey)
87 checkData = Builders.mapEntryBuilder()
88 .withNodeIdentifier(nodeWithKey)
92 listData = Builders.mapBuilder()
93 .withNodeIdentifier(new NodeIdentifier(QName.create(listQname, "list")))
96 listData2 = Builders.mapBuilder()
97 .withNodeIdentifier(new NodeIdentifier(QName.create(listQname, "list")))
101 path = YangInstanceIdentifier.builder()
102 .node(QName.create(base, "cont"))
106 path2 = YangInstanceIdentifier.builder()
107 .node(QName.create(base, "cont"))
111 path3 = YangInstanceIdentifier.builder()
112 .node(QName.create(base, "cont"))
115 contentLeaf = Builders.leafBuilder()
116 .withNodeIdentifier(new NodeIdentifier(QName.create(base, "content")))
119 contentLeaf2 = Builders.leafBuilder()
120 .withNodeIdentifier(new NodeIdentifier(QName.create(base, "content2")))
123 data3 = Builders.containerBuilder()
124 .withNodeIdentifier(new NodeIdentifier(QName.create(base, "container")))
125 .withChild(contentLeaf)
127 data4 = Builders.containerBuilder()
128 .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(QName.create(base, "container2")))
129 .withChild(contentLeaf2)
132 leafSetNodePath = YangInstanceIdentifier.builder().node(QName.create(base, "cont"))
133 .node(leafListQname).build();
134 leafSetNode1 = Builders.<String>leafSetBuilder().withNodeIdentifier(new NodeIdentifier(
135 leafListQname)).withChildValue("one").withChildValue("two").build();
137 leafSetNode2 = Builders.<String>leafSetBuilder().withNodeIdentifier(new NodeIdentifier(
138 leafListQname)).withChildValue("three").build();
140 orderedLeafSetNode1 = Builders.<String>orderedLeafSetBuilder().withNodeIdentifier(
141 new NodeIdentifier(leafListQname)).withChildValue("one")
142 .withChildValue("two").build();
143 orderedLeafSetNode2 = Builders.<String>orderedLeafSetBuilder().withNodeIdentifier(
144 new NodeIdentifier(leafListQname)).withChildValue("three")
145 .withChildValue("four").build();
147 orderedMapNode1 = Builders.orderedMapBuilder()
148 .withNodeIdentifier(new NodeIdentifier(listQname)).withChild(data).build();
150 orderedMapNode2 = Builders.orderedMapBuilder()
151 .withNodeIdentifier(new NodeIdentifier(listQname)).withChild(data)
152 .withChild(data2).build();
154 unkeyedListEntryNode1 = Builders.unkeyedListEntryBuilder().withNodeIdentifier(
155 new NodeIdentifier(listQname)).withChild(content).build();
156 unkeyedListNode1 = Builders.unkeyedListBuilder().withNodeIdentifier(
157 new NodeIdentifier(listQname)).withChild(unkeyedListEntryNode1).build();
159 unkeyedListEntryNode2 = Builders.unkeyedListEntryBuilder().withNodeIdentifier(
160 new YangInstanceIdentifier.NodeIdentifier(listQname)).withChild(content2).build();
161 unkeyedListNode2 = Builders.unkeyedListBuilder().withNodeIdentifier(
162 new YangInstanceIdentifier.NodeIdentifier(listQname)).withChild(unkeyedListEntryNode2).build();
164 final QName rpcQname = QName.create("ns", "2015-02-28", "test-rpc");
165 final QName errorRpcQname = QName.create(rpcQname, "error-rpc");
166 rpc = SchemaPath.create(true, rpcQname);
167 errorRpc = SchemaPath.create(true, errorRpcQname);
168 final LeafNode contentLeafNode = Builders.leafBuilder()
169 .withNodeIdentifier(new NodeIdentifier(QName.create(rpcQname, "content")))
172 input = Builders.containerBuilder()
173 .withNodeIdentifier(new NodeIdentifier(QName.create(rpcQname, "input")))
174 .withChild(contentLeafNode)
176 final LeafNode resultLeafNode = Builders.leafBuilder()
177 .withNodeIdentifier(new NodeIdentifier(QName.create(rpcQname, "content")))
178 .withValue("operation result")
180 output = Builders.containerBuilder()
181 .withNodeIdentifier(new NodeIdentifier(QName.create(rpcQname, "output")))
182 .withChild(resultLeafNode)