blob: cd214470492323be489166e8701a07ce3b4a7510 [file] [log] [blame]
sonu gupta1bb37b82016-11-11 16:51:18 +05301/*
2 * Copyright 2016-present Open Networking Laboratory
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.yms.app.ydt;
17
18import org.junit.Rule;
19import org.junit.rules.ExpectedException;
sonu guptaeff184b2016-11-24 12:43:49 +053020import org.onosproject.yms.app.yob.DefaultYobBuilder;
sonu gupta1bb37b82016-11-11 16:51:18 +053021import org.onosproject.yms.app.ysr.TestYangSchemaNodeProvider;
22import org.onosproject.yms.app.ysr.YangSchemaRegistry;
sonu guptaeff184b2016-11-24 12:43:49 +053023import org.onosproject.yms.app.ytb.DefaultYangTreeBuilder;
sonu gupta1bb37b82016-11-11 16:51:18 +053024import org.onosproject.yms.ydt.YdtContext;
25import org.onosproject.yms.ydt.YdtContextOperationType;
26import org.onosproject.yms.ydt.YdtListener;
27import org.onosproject.yms.ydt.YdtType;
28
29import java.util.ArrayList;
30import java.util.HashSet;
sonu guptaeff184b2016-11-24 12:43:49 +053031import java.util.LinkedList;
sonu gupta1bb37b82016-11-11 16:51:18 +053032import java.util.List;
33import java.util.Set;
34
35import static org.junit.Assert.assertEquals;
36import static org.junit.Assert.assertNotNull;
37import static org.junit.Assert.assertNull;
38import static org.junit.Assert.assertTrue;
39import static org.onosproject.yms.app.ydt.YdtTestConstants.A1;
40import static org.onosproject.yms.app.ydt.YdtTestConstants.A2;
41import static org.onosproject.yms.app.ydt.YdtTestConstants.A2L;
42import static org.onosproject.yms.app.ydt.YdtTestConstants.A3;
43import static org.onosproject.yms.app.ydt.YdtTestConstants.A4;
44import static org.onosproject.yms.app.ydt.YdtTestConstants.A5;
45import static org.onosproject.yms.app.ydt.YdtTestConstants.A5L;
46import static org.onosproject.yms.app.ydt.YdtTestConstants.A6;
47import static org.onosproject.yms.app.ydt.YdtTestConstants.A6L;
48import static org.onosproject.yms.app.ydt.YdtTestConstants.BACKSLASH;
49import static org.onosproject.yms.app.ydt.YdtTestConstants.BIT;
50import static org.onosproject.yms.app.ydt.YdtTestConstants.BITNS;
51import static org.onosproject.yms.app.ydt.YdtTestConstants.BOOL;
52import static org.onosproject.yms.app.ydt.YdtTestConstants.BOOLNS;
53import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT16;
54import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT32;
55import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT64;
56import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT8;
57import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT16;
58import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT32;
59import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT64;
60import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT8;
61import static org.onosproject.yms.app.ydt.YdtTestConstants.COUSTOMNS;
sonu guptaeff184b2016-11-24 12:43:49 +053062import static org.onosproject.yms.app.ydt.YdtTestConstants.ELNS;
sonu gupta1bb37b82016-11-11 16:51:18 +053063import static org.onosproject.yms.app.ydt.YdtTestConstants.EMPNS;
64import static org.onosproject.yms.app.ydt.YdtTestConstants.EMPTY;
65import static org.onosproject.yms.app.ydt.YdtTestConstants.EMPTYNS;
66import static org.onosproject.yms.app.ydt.YdtTestConstants.ENUM;
67import static org.onosproject.yms.app.ydt.YdtTestConstants.ENUMNS;
68import static org.onosproject.yms.app.ydt.YdtTestConstants.E_LEAF;
69import static org.onosproject.yms.app.ydt.YdtTestConstants.IETF;
70import static org.onosproject.yms.app.ydt.YdtTestConstants.IETFNS;
71import static org.onosproject.yms.app.ydt.YdtTestConstants.INT16NS;
72import static org.onosproject.yms.app.ydt.YdtTestConstants.INT32NS;
73import static org.onosproject.yms.app.ydt.YdtTestConstants.INT64NS;
74import static org.onosproject.yms.app.ydt.YdtTestConstants.INT8NS;
75import static org.onosproject.yms.app.ydt.YdtTestConstants.INV;
76import static org.onosproject.yms.app.ydt.YdtTestConstants.LIST;
77import static org.onosproject.yms.app.ydt.YdtTestConstants.LISTNS;
78import static org.onosproject.yms.app.ydt.YdtTestConstants.LWC;
79import static org.onosproject.yms.app.ydt.YdtTestConstants.MATERIALNS;
80import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT16;
81import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT32;
82import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT64;
83import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT8;
84import static org.onosproject.yms.app.ydt.YdtTestConstants.MERCHNS;
85import static org.onosproject.yms.app.ydt.YdtTestConstants.MINVALUE;
86import static org.onosproject.yms.app.ydt.YdtTestConstants.MRV;
sonu guptaeff184b2016-11-24 12:43:49 +053087import static org.onosproject.yms.app.ydt.YdtTestConstants.NETNS;
sonu gupta1bb37b82016-11-11 16:51:18 +053088import static org.onosproject.yms.app.ydt.YdtTestConstants.NIWMF;
89import static org.onosproject.yms.app.ydt.YdtTestConstants.NWF;
90import static org.onosproject.yms.app.ydt.YdtTestConstants.PERIOD;
91import static org.onosproject.yms.app.ydt.YdtTestConstants.PIWMF;
92import static org.onosproject.yms.app.ydt.YdtTestConstants.PURCHASNS;
93import static org.onosproject.yms.app.ydt.YdtTestConstants.PWF;
94import static org.onosproject.yms.app.ydt.YdtTestConstants.SINT16;
95import static org.onosproject.yms.app.ydt.YdtTestConstants.SINT32;
96import static org.onosproject.yms.app.ydt.YdtTestConstants.SLINK;
97import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLINT64;
98import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLINT8;
99import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLUINT64;
100import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLUINT8;
101import static org.onosproject.yms.app.ydt.YdtTestConstants.STP;
102import static org.onosproject.yms.app.ydt.YdtTestConstants.SUINT16;
103import static org.onosproject.yms.app.ydt.YdtTestConstants.SUINT32;
104import static org.onosproject.yms.app.ydt.YdtTestConstants.TOPONS;
105import static org.onosproject.yms.app.ydt.YdtTestConstants.TRADNS;
106import static org.onosproject.yms.app.ydt.YdtTestConstants.TYPE;
107import static org.onosproject.yms.app.ydt.YdtTestConstants.WAREHNS;
108import static org.onosproject.yms.ydt.YdtContextOperationType.DELETE;
109import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE;
sonu guptaeff184b2016-11-24 12:43:49 +0530110import static org.onosproject.yms.ydt.YmsOperationType.EDIT_CONFIG_REPLY;
sonu gupta1bb37b82016-11-11 16:51:18 +0530111
112public class YdtTestUtils implements YdtListener {
113
114 private static List<String> kValList = new ArrayList<>();
115
116 @Rule
117 public ExpectedException thrown = ExpectedException.none();
118
119 private static YangSchemaRegistry schemaRegistry;
120
121 private static TestYangSchemaNodeProvider schemaProvider =
122 new TestYangSchemaNodeProvider();
123
124 // Logger list is used for walker testing.
125 private static final List<String> LOGGER = new ArrayList<>();
126
127 /**
128 * Returns the LOGGER with log for testing the YDT walker.
129 *
130 * @return list of logs
131 */
132 public static List<String> getLogger() {
133 return LOGGER;
134 }
135
136 /**
137 * Clear the LOGGER array.
138 */
139 public static void resetLogger() {
140 LOGGER.clear();
141 }
142
143 @Override
144 public void enterYdtNode(YdtContext ydtContext) {
145 LOGGER.add("Entry Node is " + ydtContext.getName() + PERIOD);
146 }
147
148 @Override
149 public void exitYdtNode(YdtContext ydtContext) {
150 LOGGER.add("Exit Node is " + ydtContext.getName() + PERIOD);
151 }
152
153 /**
154 * Returns schema registry of YDT.
155 *
156 * @return schema registry
157 */
158 public static YangSchemaRegistry getSchemaRegistry() {
159 return schemaRegistry;
160 }
161
162 /**
163 * Sets the ydt schema registry.
164 *
165 * @param registry schema registry
166 */
167 public static void setSchemaRegistry(YangSchemaRegistry registry) {
168 schemaRegistry = registry;
169 }
170
171 /**
172 * Returns the ydt builder for food module.
173 *
174 * @return ydt builder
175 */
176 public static YangRequestWorkBench foodArenaYdt() {
177
178 YangRequestWorkBench ydtBuilder;
179 ydtBuilder = getYdtBuilder("foodarena", "food", "ydt.food", MERGE);
180 ydtBuilder.addChild("food", "ydt.food");
181// ydtBuilder.addChild("snack", null, "ydt.food");
182// ydtBuilder.addChild("latenight", null, "ydt.food");
183 ydtBuilder.addLeaf("chocolate", "ydt.food", "dark");
184
185 return ydtBuilder;
186 }
187
188 /**
sonu guptaeff184b2016-11-24 12:43:49 +0530189 * Returns the ydt builder for empty leaf list module.
190 *
191 * @return ydt builder
192 */
193 public static YangRequestWorkBench emptyLeafListYdt() {
194
195 YangRequestWorkBench ydtBuilder;
196 ydtBuilder = getYdtBuilder("empty", "EmptyLeafList", ELNS, MERGE);
197 ydtBuilder.addChild("l1", ELNS);
198 ydtBuilder.traverseToParent();
199 ydtBuilder.addChild("l2", ELNS);
200 ydtBuilder.traverseToParent();
201 ydtBuilder.addChild("l3", ELNS);
202 ydtBuilder.traverseToParent();
203
204 ydtBuilder.addChild("list1", ELNS);
205 ydtBuilder.traverseToParent();
206 ydtBuilder.addChild("list2", ELNS);
207 ydtBuilder.traverseToParent();
208 ydtBuilder.addChild("list3", ELNS);
209 ydtBuilder.traverseToParent();
210
211 return ydtBuilder;
212 }
213
214 /**
sonu gupta1bb37b82016-11-11 16:51:18 +0530215 * Returns the ydt builder for yms-ietf-network module.
216 *
217 * @return ydt builder
218 */
219 public static YangRequestWorkBench ietfNetwork1Ydt() {
220
221 YangRequestWorkBench ydtBuilder;
222 ydtBuilder = getYdtBuilder(IETF, IETF, IETFNS, MERGE);
223 // Adding container
224 ydtBuilder.addChild("networks", null);
225 // Adding list inside container
226 ydtBuilder.addChild("network", null);
227 // Adding key element network Id
228 ydtBuilder.addLeaf("network-id", null, "network1");
229 ydtBuilder.traverseToParent();
230
231 // Adding list inside list
232 ydtBuilder.addChild("supporting-network", null);
233 // Adding key element network-ref
234 ydtBuilder.addLeaf("network-ref", null, "network2");
235 ydtBuilder.traverseToParent();
236 ydtBuilder.traverseToParent();
237
238 // Adding list inside list
239 ydtBuilder.addChild("node", null);
240 // Adding key element node-id
241 ydtBuilder.addLeaf("node-id", null, "node1");
242 ydtBuilder.traverseToParent();
243
244 // Adding list inside list
245 ydtBuilder.addChild("supporting-node", null);
246 // Adding key element network-ref
247 ydtBuilder.addLeaf("network-ref", null, "network3");
248 ydtBuilder.traverseToParent();
249
250 // Adding key element node-ref
251 ydtBuilder.addLeaf("node-ref", null, "network4");
252 ydtBuilder.traverseToParent();
253 ydtBuilder.traverseToParent();
254 ydtBuilder.traverseToParent();
255 ydtBuilder.traverseToParent();
256 ydtBuilder.traverseToParent();
257
258 // Adding container
259 ydtBuilder.addChild("networks-state", null);
260 // Adding list inside container
261 ydtBuilder.addChild("network", null);
262 // Adding key element network-ref
263 ydtBuilder.addLeaf("network-ref", null, "network5");
264 ydtBuilder.traverseToParent();
265 // Adding leaf server-provided
266 ydtBuilder.addLeaf("server-provided", null, "true");
267
268 return ydtBuilder;
269 }
270
271 /**
272 * Returns the ydt builder for yms-ietf-network-topology module.
273 *
274 * @return ydt builder
275 */
276 public static YangRequestWorkBench ietfNetworkTopologyYdt() {
277
278 YangRequestWorkBench ydtBuilder;
279 ydtBuilder = getYdtBuilder(IETF, IETF, IETFNS, MERGE);
280 // Adding container
281 ydtBuilder.addChild("networks", IETFNS, MERGE);
282 // Adding list inside container
283 ydtBuilder.addChild("network", IETFNS, MERGE);
284
285 // Adding key element network Id
286 ydtBuilder.addLeaf("network-id", null, "network1");
287 ydtBuilder.traverseToParent();
288
289 kValList.clear();
290 kValList.add("id1");
291 // adding the augmented node
292 ydtBuilder.addMultiInstanceChild("link", TOPONS, kValList, MERGE);
293 // container source
294 ydtBuilder.addChild("source", TOPONS, MERGE);
295 ydtBuilder.addLeaf("source-node", null, "source1");
296 ydtBuilder.traverseToParent();
297 ydtBuilder.addLeaf("source-tp", null, "source2");
298 ydtBuilder.traverseToParent();
299 ydtBuilder.traverseToParent();
300
301 // container destination
302 ydtBuilder.addChild("destination", TOPONS, MERGE);
303 ydtBuilder.addLeaf("dest-node", null, "dest1");
304 ydtBuilder.traverseToParent();
305 ydtBuilder.addLeaf("dest-tp", null, "dest2");
306 ydtBuilder.traverseToParent();
307 ydtBuilder.traverseToParent();
308
309 kValList.clear();
310 kValList.add("network1");
311 kValList.add("id2");
312 // adding the supporting-link list node
313 ydtBuilder.addMultiInstanceChild(SLINK, TOPONS, kValList, MERGE);
314 ydtBuilder.traverseToParent();
315
316 kValList.clear();
317 kValList.add("network2");
318 kValList.add("id3");
319 // adding the supporting-link list another instance
320 ydtBuilder.addMultiInstanceChild(SLINK, TOPONS, kValList, MERGE);
321 ydtBuilder.traverseToParent();
322 ydtBuilder.traverseToParent();
323
324 // Adding list inside list
325 ydtBuilder.addChild("supporting-network", null);
326 // Adding key element network-ref
327 ydtBuilder.addLeaf("network-ref", null, "network2");
328 ydtBuilder.traverseToParent();
329 ydtBuilder.traverseToParent();
330
331 // Adding list inside list
332 ydtBuilder.addChild("node", null);
333 // Adding key element node-id
334 ydtBuilder.addLeaf("node-id", null, "node1");
335 ydtBuilder.traverseToParent();
336
337 kValList.clear();
338 kValList.add("tp_id1");
339 //adding augmented termination-point list
340 ydtBuilder.addMultiInstanceChild("t-point", TOPONS,
341 kValList, MERGE);
342 kValList.clear();
343 kValList.add("network-ref");
344 kValList.add("node-ref");
345 kValList.add("tp-ref");
346 //adding supporting-termination-point
347 ydtBuilder.addMultiInstanceChild(STP, TOPONS, kValList, MERGE);
348 ydtBuilder.traverseToParent();
349 ydtBuilder.traverseToParent();
350
351 // Adding list inside list
352 ydtBuilder.addChild("supporting-node", null);
353 // Adding key element network-ref
354 ydtBuilder.addLeaf("network-ref", null, "network3");
355 ydtBuilder.traverseToParent();
356
357 // Adding key element node-ref
358 ydtBuilder.addLeaf("node-ref", null, "network4");
359 ydtBuilder.traverseToParent();
360 ydtBuilder.traverseToParent();
361 ydtBuilder.traverseToParent();
362
363 ydtBuilder.addLeaf("link-id", TOPONS, "id1");
364 ydtBuilder.traverseToParent();
365
366 ydtBuilder.traverseToParent();
367 ydtBuilder.traverseToParent();
368
369 // Adding container
370 ydtBuilder.addChild("networks-state", null);
371 // Adding list inside container
372 ydtBuilder.addChild("network", null);
373 // Adding key element network-ref
374 ydtBuilder.addLeaf("network-ref", null, "network5");
375 ydtBuilder.traverseToParent();
376 // Adding leaf server-provided
377 ydtBuilder.addLeaf("server-provided", null, "true");
378
379 return ydtBuilder;
380 }
381
382 /**
383 * Returns the ydt builder for augmented module.
384 *
385 * @return ydt builder
386 */
387 public static YangRequestWorkBench augmentNetworkYdt() {
388
389 YangRequestWorkBench ydtBuilder;
390 ydtBuilder = getYdtBuilder(IETF, IETF, IETFNS, MERGE);
391 // Adding container
392 ydtBuilder.addChild("networks", IETFNS, MERGE);
393 // Adding list inside container
394 ydtBuilder.addChild("network", IETFNS, MERGE);
395
396 // Adding key element network Id
397 ydtBuilder.addLeaf("network-id", null, "network1");
398 ydtBuilder.traverseToParent();
399
400 kValList.clear();
401 kValList.add("id1");
402 // adding the augmented node
403 ydtBuilder.addMultiInstanceChild("link", TOPONS, kValList, MERGE);
404 // container source
405 ydtBuilder.addChild("source", TOPONS, MERGE);
406 ydtBuilder.addLeaf("source-node", null, "source1");
407 ydtBuilder.traverseToParent();
408 ydtBuilder.addLeaf("source-tp", null, "source2");
409 ydtBuilder.traverseToParent();
410 ydtBuilder.traverseToParent();
411
412 // container destination
413 ydtBuilder.addChild("destination", TOPONS, MERGE);
414 ydtBuilder.addLeaf("dest-node", null, "dest1");
415 ydtBuilder.traverseToParent();
416 ydtBuilder.addLeaf("dest-tp", null, "dest2");
417 ydtBuilder.traverseToParent();
418 ydtBuilder.traverseToParent();
419
420 kValList.clear();
421 kValList.add("network1");
422 kValList.add("id2");
423 // adding the supporting-link list node
424 ydtBuilder.addMultiInstanceChild(SLINK, TOPONS, kValList, MERGE);
425 ydtBuilder.traverseToParent();
426
427 kValList.clear();
428 kValList.add("network2");
429 kValList.add("id3");
430 // adding the supporting-link list another instance
431 ydtBuilder.addMultiInstanceChild(SLINK, TOPONS, kValList, MERGE);
432 ydtBuilder.traverseToParent();
433
434 kValList.clear();
435 kValList.add("1");
436 ydtBuilder.addMultiInstanceChild("augment1", A1, kValList, MERGE);
437 ydtBuilder.traverseToParent();
438
439 kValList.clear();
440 kValList.add("1");
441 kValList.add("2");
442 ydtBuilder.addMultiInstanceChild("augment2", A2, kValList, MERGE);
443
444 ydtBuilder.addChild("augment5", A5, DELETE);
445
446 ydtBuilder.addMultiInstanceChild(A6L, A6, kValList, DELETE);
447 ydtBuilder.traverseToParent();
448
449 ydtBuilder.addLeaf("value5", null, "5");
450 ydtBuilder.traverseToParent();
451 ydtBuilder.traverseToParent();
452
453 ydtBuilder.addMultiInstanceChild(A5L, A5, kValList, DELETE);
454 ydtBuilder.traverseToParent();
455
456 ydtBuilder.addChild("augment3", A3, MERGE);
457
458 ydtBuilder.addChild("augment4", A4, DELETE);
459 ydtBuilder.addLeaf("value4", null, "4");
460 ydtBuilder.traverseToParent();
461 ydtBuilder.traverseToParent();
462
463 ydtBuilder.addChild("augment5", A5, MERGE);
464
465 ydtBuilder.addLeaf("leaf6", A6, "6");
466 ydtBuilder.traverseToParent();
467
468 ydtBuilder.addLeaf("value5", null, "5");
469 ydtBuilder.traverseToParent();
470 ydtBuilder.traverseToParent();
471
472 ydtBuilder.addChild("augment6", A6, DELETE);
473 ydtBuilder.addLeaf("value6", null, "6");
474 ydtBuilder.traverseToParent();
475 ydtBuilder.traverseToParent();
476
477 ydtBuilder.addLeaf("value3", null, "3");
478 ydtBuilder.traverseToParent();
479 ydtBuilder.traverseToParent();
480
481 ydtBuilder.addLeaf("augment3leaf", A3, "3");
482 ydtBuilder.traverseToParent();
483 ydtBuilder.traverseToParent();
484
485 ydtBuilder.addMultiInstanceChild(A2L, A2, kValList, MERGE);
486 ydtBuilder.traverseToParent();
487
488 ydtBuilder.traverseToParent();
489
490 // Adding list inside list
491 ydtBuilder.addChild("supporting-network", null);
492 // Adding key element network-ref
493 ydtBuilder.addLeaf("network-ref", null, "network2");
494 ydtBuilder.traverseToParent();
495 ydtBuilder.traverseToParent();
496
497 // Adding list inside list
498 ydtBuilder.addChild("node", null);
499 // Adding key element node-id
500 ydtBuilder.addLeaf("node-id", null, "node1");
501 ydtBuilder.traverseToParent();
502
503 kValList.clear();
504 kValList.add("tp_id1");
505 //adding augmented termination-point list
506 ydtBuilder.addMultiInstanceChild("t-point", TOPONS,
507 kValList, MERGE);
508 kValList.clear();
509 kValList.add("network-ref");
510 kValList.add("node-ref");
511 kValList.add("tp-ref");
512 //adding supporting-termination-point
513 ydtBuilder.addMultiInstanceChild(STP, TOPONS, kValList, MERGE);
514
515 // Adding augmented container1 inside supporting-termination-point
516 augmentTerminationPointYdt(ydtBuilder);
517
518 return ydtBuilder;
519 }
520
521 /**
522 * Adds augments inside supporting-termination-point in augmented module.
523 *
524 * @param ydtBuilder ydt builder which need to be updated
525 */
526 private static void augmentTerminationPointYdt(YangRequestWorkBench ydtBuilder) {
527
528 ydtBuilder.addChild("augment1", A1);
529 ydtBuilder.addLeaf("value1", null, "1");
530 ydtBuilder.traverseToParent();
531 ydtBuilder.traverseToParent();
532 ydtBuilder.addLeaf("augment1-leaf", A1, "1");
533
534 ydtBuilder.traverseToParent();
535
536 ydtBuilder.addChild("augment2", A2, MERGE);
537
538 ydtBuilder.addChild("augment3", A3, MERGE);
539 ydtBuilder.addLeaf("value3", null, "3");
540 ydtBuilder.traverseToParent();
541 ydtBuilder.traverseToParent();
542
543 ydtBuilder.addLeaf("augment4leaf", A4, "4");
544 ydtBuilder.traverseToParent();
545
546 ydtBuilder.addLeaf("value2", null, "2");
547 ydtBuilder.traverseToParent();
548 ydtBuilder.traverseToParent();
549
550 kValList.clear();
551 kValList.add("1");
552 kValList.add("2");
553 ydtBuilder.addMultiInstanceChild(A2L, A2, kValList, MERGE);
554 ydtBuilder.traverseToParent();
555
556 ydtBuilder.addLeaf("augment2leaf", A2, "2");
557 ydtBuilder.traverseToParent();
558
559 ydtBuilder.traverseToParent();
560 ydtBuilder.traverseToParent();
561
562 // Adding list inside list
563 ydtBuilder.addChild("supporting-node", null);
564 // Adding key element network-ref
565 ydtBuilder.addLeaf("network-ref", null, "network3");
566 ydtBuilder.traverseToParent();
567
568 // Adding key element node-ref
569 ydtBuilder.addLeaf("node-ref", null, "network4");
570 ydtBuilder.traverseToParent();
571 ydtBuilder.traverseToParent();
572 ydtBuilder.traverseToParent();
573
574 ydtBuilder.addLeaf("link-id", TOPONS, "id1");
575 ydtBuilder.traverseToParent();
576
577 ydtBuilder.traverseToParent();
578 ydtBuilder.traverseToParent();
579
580 // Adding container
581 ydtBuilder.addChild("networks-state", null);
582 // Adding list inside container
583 ydtBuilder.addChild("network", null);
584 // Adding key element network-ref
585 ydtBuilder.addLeaf("network-ref", null, "network5");
586 ydtBuilder.traverseToParent();
587 // Adding leaf server-provided
588 ydtBuilder.addLeaf("server-provided", null, "true");
589 ydtBuilder.traverseToParent();
590 ydtBuilder.traverseToParent();
591 ydtBuilder.traverseToParent();
592 ydtBuilder.traverseToParent();
sonu guptaeff184b2016-11-24 12:43:49 +0530593
594 augmentNetworkYdt(ydtBuilder);
595 }
596
597 /**
598 * Adds augmented module augment-network under logical node ietf-network.
599 *
600 * @param ydtBuilder ydt builder which need to be updated
601 */
602 private static void augmentNetworkYdt(YangRequestWorkBench ydtBuilder) {
603 ydtBuilder.addChild("augmentNetwork", NETNS);
604
605 //adding list with name node under module node
606 ydtBuilder.addChild("node", null);
607
608 //adding key leaf for node
609 ydtBuilder.addLeaf("name", null, "node1");
610 ydtBuilder.traverseToParent();
611
612 // adding augmented container cont1s under list
613 ydtBuilder.addChild("cont1s", null);
614 // adding container cont1s under cont1s
615 ydtBuilder.addChild("cont1s", null);
616 //adding leaf under cont1s
617 ydtBuilder.addLeaf("fine", null, "leaf");
618
619 //adding augmented list node bu augment-topology1 under container
620 ydtBuilder.traverseToParent();
621 ydtBuilder.addChild("augment1", A1, DELETE);
622 //adding key leaf for list node augment1
623 ydtBuilder.addLeaf("value1", null, "1");
sonu gupta1bb37b82016-11-11 16:51:18 +0530624 }
625
626 /**
627 * Returns the ydt builder for rootlist module with listwithcontainer node
628 * using addMultiInstanceChild interface for adding multi instance node.
629 *
630 * @return ydt builder
631 */
632 public static YangRequestWorkBench listWithContainerYdt() {
633
634 YangRequestWorkBench ydtBuilder;
635 ydtBuilder = getYdtBuilder("list", "rootlist", "ydt.rootlist", MERGE);
636 kValList.clear();
637 kValList.add("12");
638 kValList.add("12");
639 ydtBuilder.addMultiInstanceChild(LWC, null, kValList, MERGE);
640 ydtBuilder.addLeaf(INV, null, "1");
641 ydtBuilder.traverseToParent();
642 ydtBuilder.addLeaf(INV, null, "2");
643 ydtBuilder.traverseToParent();
644 ydtBuilder.addChild("interface", null);
645 ydtBuilder.addLeaf(INV, null, "12");
646 ydtBuilder.traverseToParent();
647 ydtBuilder.addLeaf("invalid", null, "121");
648 ydtBuilder.traverseToParent();
649 ydtBuilder.traverseToParent();
650 return ydtBuilder;
651 }
652
653 /**
654 * Returns the ydt builder for rootlist module with listwithcontainer
655 * node using addChild interface for adding multi instance node.
656 *
657 * @return ydt builder
658 */
659 public static YangRequestWorkBench listWithContainer1Ydt() {
660
661 YangRequestWorkBench ydtBuilder;
662 ydtBuilder = getYdtBuilder("list", "rootlist", "ydt.rootlist", MERGE);
663 ydtBuilder.addChild(LWC, null);
664 ydtBuilder.addLeaf("invalid", null, "12");
665 ydtBuilder.traverseToParent();
666 ydtBuilder.addLeaf("invalid1", null, "12");
667 ydtBuilder.traverseToParent();
668 ydtBuilder.addLeaf(INV, null, "1");
669 ydtBuilder.traverseToParent();
670 ydtBuilder.addLeaf(INV, null, "2");
671 ydtBuilder.traverseToParent();
672 ydtBuilder.addChild("interface", null);
673 ydtBuilder.addLeaf(INV, null, "12");
674 ydtBuilder.traverseToParent();
675 ydtBuilder.addLeaf("invalid", null, "121");
676 ydtBuilder.traverseToParent();
677
678 return ydtBuilder;
679 }
680
681 /**
682 * Returns the ydt builder for rootlist module with multiple instances of
683 * listwithcontainer node using addMultiInstanceChild interface for adding
684 * multi instance node.
685 *
686 * @return ydt builder
687 */
688 public static YangRequestWorkBench listWithContainer2Ydt() {
689
690 YangRequestWorkBench ydtBuilder;
691 ydtBuilder = getYdtBuilder("list", "rootlist", "ydt.rootlist", MERGE);
692 kValList.clear();
693 kValList.add("1222");
694 kValList.add("1212");
695 ydtBuilder.addMultiInstanceChild(LWC, null, kValList, MERGE);
696
697 kValList.clear();
698 kValList.add("12");
699 kValList.add("1");
700 ydtBuilder.addMultiInstanceChild(INV, null, kValList, MERGE);
701 ydtBuilder.traverseToParent();
702 ydtBuilder.addLeaf(INV, null, "122");
703 ydtBuilder.traverseToParent();
704 ydtBuilder.addLeaf(INV, null, "2222");
705 ydtBuilder.traverseToParent();
706
707 kValList.clear();
708 kValList.add("1222");
709 kValList.add("1212");
710 ydtBuilder.addMultiInstanceChild(INV, null, kValList, MERGE);
711 ydtBuilder.traverseToParent();
712
713 ydtBuilder.addChild("interface", null);
714 ydtBuilder.addLeaf(INV, null, "12");
715 ydtBuilder.traverseToParent();
716 ydtBuilder.traverseToParent();
717 ydtBuilder.traverseToParent();
718
719 return ydtBuilder;
720 }
721
722 /**
723 * Returns the ydt builder for rootlist module with listwithoutcontainer
724 * node.
725 *
726 * @return ydt builder
727 */
728 public static YangRequestWorkBench listWithoutContainerYdt() {
729
730 YangRequestWorkBench ydtBuilder;
731 ydtBuilder = getYdtBuilder("list", "rootlist", "ydt.rootlist", MERGE);
732 ydtBuilder.addChild("listwithoutcontainer", null);
733 ydtBuilder.addLeaf(INV, null, "12");
734 ydtBuilder.traverseToParent();
735 ydtBuilder.traverseToParent();
736 return ydtBuilder;
737 }
738
739 /**
740 * Returns the ydt builder for logisticsmanager module.
741 *
742 * @return ydt builder
743 */
744 public static YangRequestWorkBench logisticsManagerYdt() {
745
746 Set<String> valueSet = new HashSet();
747 valueSet.add("1");
748 valueSet.add("2");
749 valueSet.add("3");
750 valueSet.add("4");
751 valueSet.add("5");
752
753 YangRequestWorkBench ydtBuilder;
754 ydtBuilder = getYdtBuilder("logisticsmanager", "customssupervisor",
755 null, MERGE);
756 ydtBuilder.addLeaf("supervisor", COUSTOMNS, "abc");
757 ydtBuilder.traverseToParent();
758 ydtBuilder.traverseToParent();
759
760 ydtBuilder.addChild("merchandisersupervisor", MERCHNS, MERGE);
761 ydtBuilder.addLeaf("supervisor", MERCHNS, "abc");
762 ydtBuilder.traverseToParent();
763 ydtBuilder.traverseToParent();
764
765 ydtBuilder.addChild("materialsupervisor", MATERIALNS, MERGE);
766 ydtBuilder.addChild("supervisor", MATERIALNS);
767 ydtBuilder.addLeaf("name", MATERIALNS, "abc");
768 ydtBuilder.traverseToParent();
769 ydtBuilder.addLeaf("departmentId", MATERIALNS, "xyz");
770 ydtBuilder.traverseToParent();
771 ydtBuilder.traverseToParent();
772
773 ydtBuilder.addChild("supervisor", MATERIALNS);
774 ydtBuilder.addLeaf("name", MATERIALNS, "ab");
775 ydtBuilder.traverseToParent();
776 ydtBuilder.addLeaf("departmentId", MATERIALNS, "xy");
777 ydtBuilder.traverseToParent();
778 ydtBuilder.traverseToParent();
779
780 ydtBuilder.traverseToParent();
781
782 ydtBuilder.addChild("purchasingsupervisor", PURCHASNS, MERGE);
783 ydtBuilder.addChild("supervisor", PURCHASNS);
784 ydtBuilder.addLeaf("purchasing-specialist", PURCHASNS, "abc");
785 ydtBuilder.traverseToParent();
786 ydtBuilder.addLeaf("support", "ydt.purchasing-supervisor", "xyz");
787 ydtBuilder.traverseToParent();
788 ydtBuilder.traverseToParent();
789
790 ydtBuilder.traverseToParent();
791
792 ydtBuilder.addChild("warehousesupervisor", WAREHNS, MERGE);
793 ydtBuilder.addLeaf("supervisor", WAREHNS, valueSet);
794 ydtBuilder.traverseToParent();
795 ydtBuilder.traverseToParent();
796
797 ydtBuilder.addChild("tradingsupervisor", TRADNS, MERGE);
798 ydtBuilder.addLeaf("supervisor", TRADNS, "abc");
799 ydtBuilder.traverseToParent();
800 ydtBuilder.traverseToParent();
801
802 ydtBuilder.addChild("employeeid", EMPNS, MERGE);
803 ydtBuilder.addLeaf("employeeid", EMPNS, valueSet);
804 ydtBuilder.traverseToParent();
805 ydtBuilder.traverseToParent();
806 return ydtBuilder;
807 }
808
809 /**
810 * Returns the ydt builder for bit module.
811 *
812 * @return ydt builder
813 */
814 public static YangRequestWorkBench bitYdt() {
815 YangRequestWorkBench ydtBuilder;
816 ydtBuilder = getYdtBuilder("builtInType", "bit", "ydt.bit", MERGE);
817 ydtBuilder.addChild("bitList", null);
818 ydtBuilder.addLeaf("bit", null, "disable-nagle");
819 ydtBuilder.traverseToParent();
820 ydtBuilder.traverseToParent();
821 ydtBuilder.addChild("bitList", null);
822 ydtBuilder.addLeaf("bit", null, "auto-sense-speed");
823 ydtBuilder.traverseToParent();
824 ydtBuilder.traverseToParent();
825 ydtBuilder.addChild("bitList", null);
826 ydtBuilder.addLeaf("bit", null, "ten-Mb-only");
827 ydtBuilder.traverseToParent();
828 ydtBuilder.traverseToParent();
829 ydtBuilder.addChild("bitList", null);
830 ydtBuilder.traverseToParent();
831 ydtBuilder.traverseToParent();
832 return ydtBuilder;
833 }
834
835 /**
836 * Returns the ydt builder for bool module.
837 *
838 * @return ydt builder
839 */
840 public static YangRequestWorkBench booleanYdt() {
841
842 YangRequestWorkBench ydtBuilder;
843 ydtBuilder = getYdtBuilder("builtInType", "bool", "ydt.boolean", MERGE);
844 ydtBuilder.addChild("booleanList", null);
845 ydtBuilder.addLeaf("boolean", null, "true");
846 ydtBuilder.traverseToParent();
847 ydtBuilder.traverseToParent();
848 ydtBuilder.addChild("booleanList", null);
849 ydtBuilder.addLeaf("boolean", null, "false");
850 ydtBuilder.traverseToParent();
851
852 return ydtBuilder;
853 }
854
855 /**
856 * Returns the ydt builder for emptydata module.
857 *
858 * @return ydt builder
859 */
860 public static YangRequestWorkBench emptyTypeYdt() {
861
862 YangRequestWorkBench ydtBuilder;
863 ydtBuilder = getYdtBuilder(
864 "builtInType", "emptydata", "ydt.emptydata", MERGE);
865 ydtBuilder.addChild("emptyList", null);
866 ydtBuilder.addLeaf("empty", null, "");
867
868 return ydtBuilder;
869 }
870
871 /**
872 * Returns the ydt builder for enumtest module.
873 *
874 * @return ydt builder
875 */
876 public static YangRequestWorkBench enumYdt() {
877
878 YangRequestWorkBench ydtBuilder;
879 ydtBuilder = getYdtBuilder(
880 "builtInType", "enumtest", "ydt.enumtest", MERGE);
881 ydtBuilder.addChild("enumList", null);
882 ydtBuilder.addLeaf("enumleaf", null, "ten");
883 ydtBuilder.traverseToParent();
884 ydtBuilder.traverseToParent();
885 ydtBuilder.addChild("enumList", null);
886 ydtBuilder.addLeaf("enumleaf", null, "hundred");
887 ydtBuilder.traverseToParent();
888 ydtBuilder.traverseToParent();
889 ydtBuilder.addChild("enumList", null);
890 ydtBuilder.addLeaf("enumleaf", null, "thousand");
891
892 return ydtBuilder;
893 }
894
895 /**
sonu guptaeff184b2016-11-24 12:43:49 +0530896 * Returns the ydt builder for augmentSequence module.
897 *
898 * @return ydt builder
899 */
900 public static YangRequestWorkBench augmentSequenceYdt() {
901
902 YangRequestWorkBench ydtBuilder;
903 ydtBuilder = getYdtBuilder(
904 "augment", "augmentSequence", "ydt.augmentSequence", MERGE);
905 ydtBuilder.addChild("l1", null);
906 ydtBuilder.addLeaf("leaf1", null, "1");
907 ydtBuilder.traverseToParent();
908
909 ydtBuilder.addChild("c1", "ydt.augmentSequence1");
910 ydtBuilder.addLeaf("leaf2", null, "2");
911 ydtBuilder.traverseToParent();
912 ydtBuilder.traverseToParent();
913
914 ydtBuilder.addChild("c2", "ydt.augmentSequence2");
915 ydtBuilder.addLeaf("leaf2", null, "3");
916 ydtBuilder.traverseToParent();
917 ydtBuilder.traverseToParent();
918
919 return ydtBuilder;
920 }
921
922 /**
923 * Returns the ydt builder for crypto-base module.
924 *
925 * @return ydt builder
926 */
927 public static YangRequestWorkBench identityRefYdt() {
928
929 Set<String> valueSet = new HashSet();
930 valueSet.add("crypto-alg");
931 YangRequestWorkBench ydtBuilder;
932 ydtBuilder = getYdtBuilder(
933 "identityref", "crypto-base", "ydt.crypto-base", MERGE);
934 ydtBuilder.addLeaf("crypto", null, "crypto-alg");
935 ydtBuilder.traverseToParent();
936 ydtBuilder.addLeaf("abc-zeunion", null, "crypto-alg");
937 ydtBuilder.traverseToParent();
938 ydtBuilder.addLeaf("level2", null, "crypto-alg2");
939 ydtBuilder.traverseToParent();
940 ydtBuilder.addLeaf("level3", null, "crypto-alg3");
941 ydtBuilder.traverseToParent();
942 ydtBuilder.addLeaf("level4", null, "crypto-alg3");
943 ydtBuilder.traverseToParent();
944
945 ydtBuilder.addLeaf("abc-type", null, valueSet);
946 ydtBuilder.traverseToParent();
947
948 return ydtBuilder;
949 }
950
951 /**
sonu gupta1bb37b82016-11-11 16:51:18 +0530952 * Returns the ydt builder for builtin type integer8 module.
953 *
954 * @return ydt builder
955 */
956 public static YangRequestWorkBench integer8Ydt() {
957
958 YangRequestWorkBench ydtBuilder;
959 ydtBuilder = getYdtBuilder(
960 "builtInType", "integer8", "ydt.integer8", MERGE);
961 ydtBuilder.addLeaf("negInt", null, "-128");
962 ydtBuilder.traverseToParent();
963 ydtBuilder.addLeaf("posInt", null, "127");
964 ydtBuilder.traverseToParent();
965
966 ydtBuilder.addLeaf("minUInt", null, "0");
967 ydtBuilder.traverseToParent();
968 ydtBuilder.addLeaf("maxUInt", null, "255");
969 ydtBuilder.traverseToParent();
970
971 ydtBuilder.addLeaf("midIntWithRange", null, "11");
972 ydtBuilder.traverseToParent();
973 ydtBuilder.addLeaf("minIntWithRange", null, "10");
974 ydtBuilder.traverseToParent();
975 ydtBuilder.addLeaf("maxIntWithRange", null, "100");
976 ydtBuilder.traverseToParent();
977
978 ydtBuilder.addLeaf("midUIntWithRange", null, "11");
979 ydtBuilder.traverseToParent();
980 ydtBuilder.addLeaf("minUIntWithRange", null, "10");
981 ydtBuilder.traverseToParent();
982 ydtBuilder.addLeaf("maxUIntWithRange", null, "100");
983 ydtBuilder.traverseToParent();
984
985 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
986 ydtBuilder.addLeaf("integer", null, "11");
987 ydtBuilder.traverseToParent();
988 ydtBuilder.traverseToParent();
989
990 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
991 ydtBuilder.addLeaf("integer", null, "10");
992 ydtBuilder.traverseToParent();
993 ydtBuilder.traverseToParent();
994 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
995 ydtBuilder.addLeaf("integer", null, "40");
996 ydtBuilder.traverseToParent();
997 ydtBuilder.traverseToParent();
998 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
999 ydtBuilder.addLeaf("integer", null, "50");
1000 ydtBuilder.traverseToParent();
1001 ydtBuilder.traverseToParent();
1002 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1003 ydtBuilder.addLeaf("integer", null, "55");
1004 ydtBuilder.traverseToParent();
1005 ydtBuilder.traverseToParent();
1006 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1007 ydtBuilder.addLeaf("integer", null, "100");
1008 ydtBuilder.traverseToParent();
1009 ydtBuilder.traverseToParent();
1010
1011 ydtBuilder.addChild(MRV, null);
1012 ydtBuilder.addLeaf("UnInteger", null, "11");
1013 ydtBuilder.traverseToParent();
1014 ydtBuilder.traverseToParent();
1015 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1016 ydtBuilder.addLeaf("UnInteger", null, "10");
1017 ydtBuilder.traverseToParent();
1018 ydtBuilder.traverseToParent();
1019 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1020 ydtBuilder.addLeaf("UnInteger", null, "40");
1021 ydtBuilder.traverseToParent();
1022 ydtBuilder.traverseToParent();
1023 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1024 ydtBuilder.addLeaf("UnInteger", null, "50");
1025 ydtBuilder.traverseToParent();
1026 ydtBuilder.traverseToParent();
1027 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1028 ydtBuilder.addLeaf("UnInteger", null, "55");
1029 ydtBuilder.traverseToParent();
1030 ydtBuilder.traverseToParent();
1031 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1032 ydtBuilder.addLeaf("UnInteger", null, "100");
1033 ydtBuilder.traverseToParent();
1034 ydtBuilder.traverseToParent();
1035
1036 ydtBuilder.addChild(MRV, null);
1037 ydtBuilder.addLeaf("revInteger", null, "-128");
1038 ydtBuilder.traverseToParent();
1039 ydtBuilder.traverseToParent();
1040 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1041 ydtBuilder.addLeaf("revInteger", null, "1");
1042 ydtBuilder.traverseToParent();
1043 ydtBuilder.traverseToParent();
1044 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1045 ydtBuilder.addLeaf("revInteger", null, "2");
1046 ydtBuilder.traverseToParent();
1047 ydtBuilder.traverseToParent();
1048 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1049 ydtBuilder.addLeaf("revInteger", null, "10");
1050 ydtBuilder.traverseToParent();
1051 ydtBuilder.traverseToParent();
1052 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1053 ydtBuilder.addLeaf("revInteger", null, "20");
1054 ydtBuilder.traverseToParent();
1055 ydtBuilder.traverseToParent();
1056 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1057 ydtBuilder.addLeaf("revInteger", null, "100");
1058 ydtBuilder.traverseToParent();
1059 ydtBuilder.traverseToParent();
1060 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1061 ydtBuilder.addLeaf("revInteger", null, "127");
1062 ydtBuilder.traverseToParent();
1063 ydtBuilder.traverseToParent();
1064
1065 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1066 ydtBuilder.addLeaf("revUnInteger", null, "0");
1067 ydtBuilder.traverseToParent();
1068 ydtBuilder.traverseToParent();
1069 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1070 ydtBuilder.addLeaf("revUnInteger", null, "1");
1071 ydtBuilder.traverseToParent();
1072 ydtBuilder.traverseToParent();
1073 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1074 ydtBuilder.addLeaf("revUnInteger", null, "2");
1075 ydtBuilder.traverseToParent();
1076 ydtBuilder.traverseToParent();
1077 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1078 ydtBuilder.addLeaf("revUnInteger", null, "10");
1079 ydtBuilder.traverseToParent();
1080 ydtBuilder.traverseToParent();
1081 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1082 ydtBuilder.addLeaf("revUnInteger", null, "20");
1083 ydtBuilder.traverseToParent();
1084 ydtBuilder.traverseToParent();
1085 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1086 ydtBuilder.addLeaf("revUnInteger", null, "100");
1087 ydtBuilder.traverseToParent();
1088 ydtBuilder.traverseToParent();
1089 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1090 ydtBuilder.addLeaf("revUnInteger", null, "255");
1091 ydtBuilder.traverseToParent();
1092 ydtBuilder.traverseToParent();
1093
1094 return ydtBuilder;
1095 }
1096
1097 /**
1098 * Returns the ydt builder for builtin type integer16 module.
1099 *
1100 * @return ydt builder
1101 */
1102 public static YangRequestWorkBench integer16Ydt() {
1103
1104 YangRequestWorkBench ydtBuilder;
1105 ydtBuilder = getYdtBuilder(
1106 "builtInType", "integer16", "ydt.integer16", MERGE);
1107 ydtBuilder.addLeaf("negInt", null, "-32768");
1108 ydtBuilder.traverseToParent();
1109 ydtBuilder.addLeaf("posInt", null, "32767");
1110 ydtBuilder.traverseToParent();
1111
1112 ydtBuilder.addLeaf("minUInt", null, "0");
1113 ydtBuilder.traverseToParent();
1114 ydtBuilder.addLeaf("maxUInt", null, "65535");
1115 ydtBuilder.traverseToParent();
1116
1117 ydtBuilder.addLeaf("midIntWithRange", null, "11");
1118 ydtBuilder.traverseToParent();
1119 ydtBuilder.addLeaf("minIntWithRange", null, "10");
1120 ydtBuilder.traverseToParent();
1121 ydtBuilder.addLeaf("maxIntWithRange", null, "100");
1122 ydtBuilder.traverseToParent();
1123
1124 ydtBuilder.addLeaf("midUIntWithRange", null, "11");
1125 ydtBuilder.traverseToParent();
1126 ydtBuilder.addLeaf("minUIntWithRange", null, "10");
1127 ydtBuilder.traverseToParent();
1128 ydtBuilder.addLeaf("maxUIntWithRange", null, "100");
1129 ydtBuilder.traverseToParent();
1130
1131 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1132 ydtBuilder.addLeaf("integer", null, "11");
1133 ydtBuilder.traverseToParent();
1134 ydtBuilder.traverseToParent();
1135
1136 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1137 ydtBuilder.addLeaf("integer", null, "10");
1138 ydtBuilder.traverseToParent();
1139 ydtBuilder.traverseToParent();
1140 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1141 ydtBuilder.addLeaf("integer", null, "40");
1142 ydtBuilder.traverseToParent();
1143 ydtBuilder.traverseToParent();
1144 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1145 ydtBuilder.addLeaf("integer", null, "50");
1146 ydtBuilder.traverseToParent();
1147 ydtBuilder.traverseToParent();
1148 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1149 ydtBuilder.addLeaf("integer", null, "55");
1150 ydtBuilder.traverseToParent();
1151 ydtBuilder.traverseToParent();
1152 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1153 ydtBuilder.addLeaf("integer", null, "100");
1154 ydtBuilder.traverseToParent();
1155 ydtBuilder.traverseToParent();
1156
1157 ydtBuilder.addChild(MRV, null);
1158 ydtBuilder.addLeaf("UnInteger", null, "11");
1159 ydtBuilder.traverseToParent();
1160 ydtBuilder.traverseToParent();
1161 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1162 ydtBuilder.addLeaf("UnInteger", null, "10");
1163 ydtBuilder.traverseToParent();
1164 ydtBuilder.traverseToParent();
1165 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1166 ydtBuilder.addLeaf("UnInteger", null, "40");
1167 ydtBuilder.traverseToParent();
1168 ydtBuilder.traverseToParent();
1169 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1170 ydtBuilder.addLeaf("UnInteger", null, "50");
1171 ydtBuilder.traverseToParent();
1172 ydtBuilder.traverseToParent();
1173 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1174 ydtBuilder.addLeaf("UnInteger", null, "55");
1175 ydtBuilder.traverseToParent();
1176 ydtBuilder.traverseToParent();
1177 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1178 ydtBuilder.addLeaf("UnInteger", null, "100");
1179 ydtBuilder.traverseToParent();
1180 ydtBuilder.traverseToParent();
1181
1182 ydtBuilder.addChild(MRV, null);
1183 ydtBuilder.addLeaf("revInteger", null, "-32768");
1184 ydtBuilder.traverseToParent();
1185 ydtBuilder.traverseToParent();
1186 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1187 ydtBuilder.addLeaf("revInteger", null, "1");
1188 ydtBuilder.traverseToParent();
1189 ydtBuilder.traverseToParent();
1190 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1191 ydtBuilder.addLeaf("revInteger", null, "2");
1192 ydtBuilder.traverseToParent();
1193 ydtBuilder.traverseToParent();
1194 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1195 ydtBuilder.addLeaf("revInteger", null, "10");
1196 ydtBuilder.traverseToParent();
1197 ydtBuilder.traverseToParent();
1198 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1199 ydtBuilder.addLeaf("revInteger", null, "20");
1200 ydtBuilder.traverseToParent();
1201 ydtBuilder.traverseToParent();
1202 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1203 ydtBuilder.addLeaf("revInteger", null, "100");
1204 ydtBuilder.traverseToParent();
1205 ydtBuilder.traverseToParent();
1206 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1207 ydtBuilder.addLeaf("revInteger", null, "32767");
1208 ydtBuilder.traverseToParent();
1209 ydtBuilder.traverseToParent();
1210
1211 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1212 ydtBuilder.addLeaf("revUnInteger", null, "0");
1213 ydtBuilder.traverseToParent();
1214 ydtBuilder.traverseToParent();
1215 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1216 ydtBuilder.addLeaf("revUnInteger", null, "1");
1217 ydtBuilder.traverseToParent();
1218 ydtBuilder.traverseToParent();
1219 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1220 ydtBuilder.addLeaf("revUnInteger", null, "2");
1221 ydtBuilder.traverseToParent();
1222 ydtBuilder.traverseToParent();
1223 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1224 ydtBuilder.addLeaf("revUnInteger", null, "10");
1225 ydtBuilder.traverseToParent();
1226 ydtBuilder.traverseToParent();
1227 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1228 ydtBuilder.addLeaf("revUnInteger", null, "20");
1229 ydtBuilder.traverseToParent();
1230 ydtBuilder.traverseToParent();
1231 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1232 ydtBuilder.addLeaf("revUnInteger", null, "100");
1233 ydtBuilder.traverseToParent();
1234 ydtBuilder.traverseToParent();
1235 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1236 ydtBuilder.addLeaf("revUnInteger", null, "65535");
1237 ydtBuilder.traverseToParent();
1238 ydtBuilder.traverseToParent();
1239
1240 return ydtBuilder;
1241 }
1242
1243 /**
1244 * Returns the ydt builder for builtin type integer32 module.
1245 *
1246 * @return ydt builder
1247 */
1248 public static YangRequestWorkBench integer32Ydt() {
1249
1250 YangRequestWorkBench ydtBuilder;
1251 ydtBuilder = getYdtBuilder(
1252 "builtInType", "integer32", "ydt.integer32", MERGE);
1253 ydtBuilder.addLeaf("negInt", null, "-2147483648");
1254 ydtBuilder.traverseToParent();
1255 ydtBuilder.addLeaf("posInt", null, "2147483647");
1256 ydtBuilder.traverseToParent();
1257
1258 ydtBuilder.addLeaf("minUInt", null, "0");
1259 ydtBuilder.traverseToParent();
1260 ydtBuilder.addLeaf("maxUInt", null, "4294967295");
1261 ydtBuilder.traverseToParent();
1262
1263 ydtBuilder.addLeaf("midIntWithRange", null, "11");
1264 ydtBuilder.traverseToParent();
1265 ydtBuilder.addLeaf("minIntWithRange", null, "10");
1266 ydtBuilder.traverseToParent();
1267 ydtBuilder.addLeaf("maxIntWithRange", null, "100");
1268 ydtBuilder.traverseToParent();
1269
1270 ydtBuilder.addLeaf("midUIntWithRange", null, "11");
1271 ydtBuilder.traverseToParent();
1272 ydtBuilder.addLeaf("minUIntWithRange", null, "10");
1273 ydtBuilder.traverseToParent();
1274 ydtBuilder.addLeaf("maxUIntWithRange", null, "100");
1275 ydtBuilder.traverseToParent();
1276
1277 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1278 ydtBuilder.addLeaf("integer", null, "11");
1279 ydtBuilder.traverseToParent();
1280 ydtBuilder.traverseToParent();
1281
1282 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1283 ydtBuilder.addLeaf("integer", null, "10");
1284 ydtBuilder.traverseToParent();
1285 ydtBuilder.traverseToParent();
1286 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1287 ydtBuilder.addLeaf("integer", null, "40");
1288 ydtBuilder.traverseToParent();
1289 ydtBuilder.traverseToParent();
1290 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1291 ydtBuilder.addLeaf("integer", null, "50");
1292 ydtBuilder.traverseToParent();
1293 ydtBuilder.traverseToParent();
1294 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1295 ydtBuilder.addLeaf("integer", null, "55");
1296 ydtBuilder.traverseToParent();
1297 ydtBuilder.traverseToParent();
1298 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1299 ydtBuilder.addLeaf("integer", null, "100");
1300 ydtBuilder.traverseToParent();
1301 ydtBuilder.traverseToParent();
1302
1303 ydtBuilder.addChild(MRV, null);
1304 ydtBuilder.addLeaf("UnInteger", null, "11");
1305 ydtBuilder.traverseToParent();
1306 ydtBuilder.traverseToParent();
1307 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1308 ydtBuilder.addLeaf("UnInteger", null, "10");
1309 ydtBuilder.traverseToParent();
1310 ydtBuilder.traverseToParent();
1311 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1312 ydtBuilder.addLeaf("UnInteger", null, "40");
1313 ydtBuilder.traverseToParent();
1314 ydtBuilder.traverseToParent();
1315 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1316 ydtBuilder.addLeaf("UnInteger", null, "50");
1317 ydtBuilder.traverseToParent();
1318 ydtBuilder.traverseToParent();
1319 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1320 ydtBuilder.addLeaf("UnInteger", null, "55");
1321 ydtBuilder.traverseToParent();
1322 ydtBuilder.traverseToParent();
1323 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1324 ydtBuilder.addLeaf("UnInteger", null, "100");
1325 ydtBuilder.traverseToParent();
1326 ydtBuilder.traverseToParent();
1327
1328 ydtBuilder.addChild(MRV, null);
1329 ydtBuilder.addLeaf("revInteger", null, "-2147483648");
1330 ydtBuilder.traverseToParent();
1331 ydtBuilder.traverseToParent();
1332 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1333 ydtBuilder.addLeaf("revInteger", null, "1");
1334 ydtBuilder.traverseToParent();
1335 ydtBuilder.traverseToParent();
1336 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1337 ydtBuilder.addLeaf("revInteger", null, "2");
1338 ydtBuilder.traverseToParent();
1339 ydtBuilder.traverseToParent();
1340 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1341 ydtBuilder.addLeaf("revInteger", null, "10");
1342 ydtBuilder.traverseToParent();
1343 ydtBuilder.traverseToParent();
1344 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1345 ydtBuilder.addLeaf("revInteger", null, "20");
1346 ydtBuilder.traverseToParent();
1347 ydtBuilder.traverseToParent();
1348 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1349 ydtBuilder.addLeaf("revInteger", null, "100");
1350 ydtBuilder.traverseToParent();
1351 ydtBuilder.traverseToParent();
1352 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1353 ydtBuilder.addLeaf("revInteger", null, "2147483647");
1354 ydtBuilder.traverseToParent();
1355 ydtBuilder.traverseToParent();
1356
1357 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1358 ydtBuilder.addLeaf("revUnInteger", null, "0");
1359 ydtBuilder.traverseToParent();
1360 ydtBuilder.traverseToParent();
1361 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1362 ydtBuilder.addLeaf("revUnInteger", null, "1");
1363 ydtBuilder.traverseToParent();
1364 ydtBuilder.traverseToParent();
1365 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1366 ydtBuilder.addLeaf("revUnInteger", null, "2");
1367 ydtBuilder.traverseToParent();
1368 ydtBuilder.traverseToParent();
1369 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1370 ydtBuilder.addLeaf("revUnInteger", null, "10");
1371 ydtBuilder.traverseToParent();
1372 ydtBuilder.traverseToParent();
1373 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1374 ydtBuilder.addLeaf("revUnInteger", null, "20");
1375 ydtBuilder.traverseToParent();
1376 ydtBuilder.traverseToParent();
1377 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1378 ydtBuilder.addLeaf("revUnInteger", null, "100");
1379 ydtBuilder.traverseToParent();
1380 ydtBuilder.traverseToParent();
1381 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1382 ydtBuilder.addLeaf("revUnInteger", null, "4294967295");
1383 ydtBuilder.traverseToParent();
1384 ydtBuilder.traverseToParent();
1385
1386 return ydtBuilder;
1387 }
1388
1389 /**
1390 * Returns the ydt builder for builtin type integer64 module.
1391 *
1392 * @return ydt builder
1393 */
1394 public static YangRequestWorkBench integer64Ydt() {
1395
1396 YangRequestWorkBench ydtBuilder;
1397 ydtBuilder = getYdtBuilder(
1398 "builtInType", "integer64", "ydt.integer64", MERGE);
1399 ydtBuilder.addLeaf("negInt", null, "-9223372036854775808");
1400 ydtBuilder.traverseToParent();
1401 ydtBuilder.addLeaf("posInt", null, "9223372036854775807");
1402 ydtBuilder.traverseToParent();
1403
1404 ydtBuilder.addLeaf("minUInt", null, "0");
1405 ydtBuilder.traverseToParent();
1406 ydtBuilder.addLeaf("maxUInt", null, "18446744073709551615");
1407 ydtBuilder.traverseToParent();
1408
1409 ydtBuilder.addLeaf("midIntWithRange", null, "11");
1410 ydtBuilder.traverseToParent();
1411 ydtBuilder.addLeaf("minIntWithRange", null, "10");
1412 ydtBuilder.traverseToParent();
1413 ydtBuilder.addLeaf("maxIntWithRange", null, "100");
1414 ydtBuilder.traverseToParent();
1415
1416 ydtBuilder.addLeaf("midUIntWithRange", null, "11");
1417 ydtBuilder.traverseToParent();
1418 ydtBuilder.addLeaf("minUIntWithRange", null, "10");
1419 ydtBuilder.traverseToParent();
1420 ydtBuilder.addLeaf("maxUIntWithRange", null, "100");
1421 ydtBuilder.traverseToParent();
1422
1423 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1424 ydtBuilder.addLeaf("integer", null, "11");
1425 ydtBuilder.traverseToParent();
1426 ydtBuilder.traverseToParent();
1427
1428 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1429 ydtBuilder.addLeaf("integer", null, "10");
1430 ydtBuilder.traverseToParent();
1431 ydtBuilder.traverseToParent();
1432 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1433 ydtBuilder.addLeaf("integer", null, "40");
1434 ydtBuilder.traverseToParent();
1435 ydtBuilder.traverseToParent();
1436 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1437 ydtBuilder.addLeaf("integer", null, "50");
1438 ydtBuilder.traverseToParent();
1439 ydtBuilder.traverseToParent();
1440 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1441 ydtBuilder.addLeaf("integer", null, "55");
1442 ydtBuilder.traverseToParent();
1443 ydtBuilder.traverseToParent();
1444 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1445 ydtBuilder.addLeaf("integer", null, "100");
1446 ydtBuilder.traverseToParent();
1447 ydtBuilder.traverseToParent();
1448
1449 ydtBuilder.addChild(MRV, null);
1450 ydtBuilder.addLeaf("UnInteger", null, "11");
1451 ydtBuilder.traverseToParent();
1452 ydtBuilder.traverseToParent();
1453 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1454 ydtBuilder.addLeaf("UnInteger", null, "10");
1455 ydtBuilder.traverseToParent();
1456 ydtBuilder.traverseToParent();
1457 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1458 ydtBuilder.addLeaf("UnInteger", null, "40");
1459 ydtBuilder.traverseToParent();
1460 ydtBuilder.traverseToParent();
1461 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1462 ydtBuilder.addLeaf("UnInteger", null, "50");
1463 ydtBuilder.traverseToParent();
1464 ydtBuilder.traverseToParent();
1465 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1466 ydtBuilder.addLeaf("UnInteger", null, "55");
1467 ydtBuilder.traverseToParent();
1468 ydtBuilder.traverseToParent();
1469 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1470 ydtBuilder.addLeaf("UnInteger", null, "100");
1471 ydtBuilder.traverseToParent();
1472 ydtBuilder.traverseToParent();
1473
1474 ydtBuilder.addChild(MRV, null);
1475 ydtBuilder.addLeaf("revInteger", null, "-9223372036854775808");
1476 ydtBuilder.traverseToParent();
1477 ydtBuilder.traverseToParent();
1478 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1479 ydtBuilder.addLeaf("revInteger", null, "1");
1480 ydtBuilder.traverseToParent();
1481 ydtBuilder.traverseToParent();
1482 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1483 ydtBuilder.addLeaf("revInteger", null, "2");
1484 ydtBuilder.traverseToParent();
1485 ydtBuilder.traverseToParent();
1486 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1487 ydtBuilder.addLeaf("revInteger", null, "10");
1488 ydtBuilder.traverseToParent();
1489 ydtBuilder.traverseToParent();
1490 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1491 ydtBuilder.addLeaf("revInteger", null, "20");
1492 ydtBuilder.traverseToParent();
1493 ydtBuilder.traverseToParent();
1494 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1495 ydtBuilder.addLeaf("revInteger", null, "100");
1496 ydtBuilder.traverseToParent();
1497 ydtBuilder.traverseToParent();
1498 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1499 ydtBuilder.addLeaf("revInteger", null, "9223372036854775807");
1500 ydtBuilder.traverseToParent();
1501 ydtBuilder.traverseToParent();
1502
1503 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1504 ydtBuilder.addLeaf("revUnInteger", null, "0");
1505 ydtBuilder.traverseToParent();
1506 ydtBuilder.traverseToParent();
1507 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1508 ydtBuilder.addLeaf("revUnInteger", null, "1");
1509 ydtBuilder.traverseToParent();
1510 ydtBuilder.traverseToParent();
1511 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1512 ydtBuilder.addLeaf("revUnInteger", null, "2");
1513 ydtBuilder.traverseToParent();
1514 ydtBuilder.traverseToParent();
1515 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1516 ydtBuilder.addLeaf("revUnInteger", null, "10");
1517 ydtBuilder.traverseToParent();
1518 ydtBuilder.traverseToParent();
1519 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1520 ydtBuilder.addLeaf("revUnInteger", null, "20");
1521 ydtBuilder.traverseToParent();
1522 ydtBuilder.traverseToParent();
1523 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1524 ydtBuilder.addLeaf("revUnInteger", null, "100");
1525 ydtBuilder.traverseToParent();
1526 ydtBuilder.traverseToParent();
1527 ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE);
1528 ydtBuilder.addLeaf("revUnInteger", null, "18446744073709551615");
1529 ydtBuilder.traverseToParent();
1530 ydtBuilder.traverseToParent();
1531
1532 return ydtBuilder;
1533 }
1534
1535 /**
1536 * Returns the ydt builder for builtin type decimal64 module.
1537 *
1538 * @return ydt builder
1539 */
1540 public static YangRequestWorkBench decimal64Ydt() {
1541
1542 YangRequestWorkBench ydtBuilder;
1543 ydtBuilder = getYdtBuilder(
1544 "builtInType", "decimal64", "ydt.decimal64", MERGE);
1545 ydtBuilder.addLeaf("negInt", null, "-92233720368547758.08");
1546 ydtBuilder.traverseToParent();
1547 ydtBuilder.addLeaf("posInt", null, "92233720368547758.07");
1548 ydtBuilder.traverseToParent();
1549 ydtBuilder.addLeaf(NIWMF, null, "-922337203685477580.8");
1550 ydtBuilder.traverseToParent();
1551 ydtBuilder.addLeaf(PIWMF, null, "922337203685477580.7");
1552 ydtBuilder.traverseToParent();
1553 ydtBuilder.addLeaf(NWF, null, "-9.223372036854775808");
1554 ydtBuilder.traverseToParent();
1555 ydtBuilder.addLeaf(PWF, null, "9.223372036854775807");
1556 ydtBuilder.traverseToParent();
1557 ydtBuilder.addLeaf("midIntWithRange", null, "11");
1558 ydtBuilder.traverseToParent();
1559 ydtBuilder.addLeaf("minIntWithRange", null, "10");
1560 ydtBuilder.traverseToParent();
1561 ydtBuilder.addLeaf("maxIntWithRange", null, "100");
1562 ydtBuilder.traverseToParent();
1563
1564 ydtBuilder.addChild(MRV, null);
1565 ydtBuilder.addLeaf("decimal", null, "11");
1566 ydtBuilder.traverseToParent();
1567 ydtBuilder.traverseToParent();
1568 ydtBuilder.addChild(MRV, null);
1569 ydtBuilder.addLeaf("decimal", null, "10");
1570 ydtBuilder.traverseToParent();
1571 ydtBuilder.traverseToParent();
1572 ydtBuilder.addChild(MRV, null);
1573 ydtBuilder.addLeaf("decimal", null, "40");
1574 ydtBuilder.traverseToParent();
1575 ydtBuilder.traverseToParent();
1576 ydtBuilder.addChild(MRV, null);
1577 ydtBuilder.addLeaf("decimal", null, "50");
1578 ydtBuilder.traverseToParent();
1579 ydtBuilder.traverseToParent();
1580 ydtBuilder.addChild(MRV, null);
1581 ydtBuilder.addLeaf("decimal", null, "55");
1582 ydtBuilder.traverseToParent();
1583 ydtBuilder.traverseToParent();
1584 ydtBuilder.addChild(MRV, null);
1585 ydtBuilder.addLeaf("decimal", null, "100");
1586 ydtBuilder.traverseToParent();
1587 ydtBuilder.traverseToParent();
1588 ydtBuilder.addChild(MRV, null);
1589 ydtBuilder.addLeaf("revDecimal", null, "-92233720368547758.08");
1590 ydtBuilder.traverseToParent();
1591 ydtBuilder.traverseToParent();
1592 ydtBuilder.addChild(MRV, null);
1593 ydtBuilder.addLeaf("revDecimal", null, "2.505");
1594 ydtBuilder.traverseToParent();
1595 ydtBuilder.traverseToParent();
1596 ydtBuilder.addChild(MRV, null);
1597 ydtBuilder.addLeaf("revDecimal", null, "3.14");
1598 ydtBuilder.traverseToParent();
1599 ydtBuilder.traverseToParent();
1600 ydtBuilder.addChild(MRV, null);
1601 ydtBuilder.addLeaf("revDecimal", null, "10");
1602 ydtBuilder.traverseToParent();
1603 ydtBuilder.traverseToParent();
1604 ydtBuilder.addChild(MRV, null);
1605 ydtBuilder.addLeaf("revDecimal", null, "20");
1606 ydtBuilder.traverseToParent();
1607 ydtBuilder.traverseToParent();
1608 ydtBuilder.addChild(MRV, null);
1609 ydtBuilder.addLeaf("revDecimal", null, "92233720368547757");
1610 ydtBuilder.traverseToParent();
1611 ydtBuilder.traverseToParent();
1612 ydtBuilder.addChild(MRV, null);
1613 ydtBuilder.addLeaf("revDecimal", null, "92233720368547758.07");
1614 ydtBuilder.traverseToParent();
1615 ydtBuilder.traverseToParent();
1616
1617 return ydtBuilder;
1618 }
1619
1620 /**
1621 * Returns the ydt builder with requested logical root name and module name.
1622 *
1623 * @param rootName logical rootNode name
1624 * @param moduleName application(module) name
1625 * @param nameSpace namespace of module
1626 * @param opType operation type
1627 * @return ydt builder
1628 */
1629 public static YangRequestWorkBench getYdtBuilder(String rootName, String
1630 moduleName, String nameSpace, YdtContextOperationType opType) {
1631 setSchemaRegistry(schemaProvider.getDefaultYangSchemaRegistry());
1632 YangRequestWorkBench ydtBuilder;
1633 schemaProvider.processSchemaRegistry(null);
1634 ydtBuilder = new YangRequestWorkBench(
1635 rootName, null, null, schemaProvider
1636 .getDefaultYangSchemaRegistry(), true);
1637 ydtBuilder.addChild(moduleName, nameSpace, opType);
1638 return ydtBuilder;
1639 }
1640
1641 /**
1642 * Compares the two value sets.
1643 */
1644 public static void compareValueSet(Set<String> valueSet,
1645 Set<String> userInputValueSet) {
1646 // Check the value against user input.
1647 assertTrue("Expected 'valueSet' and 'userInputValueSet' to be equal.",
1648 valueSet.containsAll(userInputValueSet));
1649 }
1650
1651 /**
1652 * Returns the ydt builder for Hello_ONOS module.
1653 *
1654 * @return ydt builder
1655 */
1656 public static YangRequestWorkBench helloOnos() {
1657
1658 YangRequestWorkBench ydtBuilder;
1659 ydtBuilder = getYdtBuilder(
1660 "Hello-ONOS", "Hello_ONOS", "ydt:hello_onos", MERGE);
1661 ydtBuilder.addChild("hello-world", null);
1662 ydtBuilder.addChild("input", null);
1663 ydtBuilder.addLeaf("name", null, "onos");
1664 ydtBuilder.traverseToParent();
1665 ydtBuilder.addLeaf("surName", null, "yang");
1666 ydtBuilder.traverseToParent();
1667
1668 kValList.clear();
1669 kValList.add("ON");
1670 kValList.add("LAB");
1671 ydtBuilder.addMultiInstanceChild("stringList", null, kValList,
1672 MERGE);
1673 ydtBuilder.traverseToParent();
1674 ydtBuilder.traverseToParent();
1675 ydtBuilder.traverseToParent();
1676
1677 return ydtBuilder;
1678 }
1679
1680 /**
1681 * Returns the error message for requested node.
1682 *
1683 * @param value value in string format
1684 * @param dataType requested data type
1685 * @return error string
1686 */
1687 static String getErrorString(String value, String dataType) {
1688 StringBuilder msg = new StringBuilder();
1689 switch (dataType) {
1690 case SINT16:
1691 case SINT32:
1692 case SMALLINT8:
1693 case SMALLINT64:
1694 case SMALLUINT8:
1695 case SMALLUINT64:
1696 case SUINT16:
1697 case SUINT32:
1698 case CAPSINT8:
1699 case CAPSINT16:
1700 case CAPSINT32:
1701 case CAPSINT64:
1702 case CAPSUINT8:
1703 case CAPSUINT16:
1704 case CAPSUINT32:
1705 case CAPSUINT64:
1706 case BIT:
1707 case BOOL:
1708 case ENUM:
1709 msg.append("YANG file error : Input value ").append(BACKSLASH)
1710 .append(value).append(BACKSLASH)
1711 .append(" is not a valid ").append(dataType);
1712 break;
1713 case EMPTY:
1714 msg.append("YANG file error : Input value ").append(BACKSLASH)
1715 .append(value).append(BACKSLASH).append(
1716 " is not allowed for a data type EMPTY");
1717 break;
1718 case MINVALUE:
1719 msg.append("YANG file error : ").append(value)
1720 .append(" is lesser than minimum value ")
1721 .append(MINVALUE).append(PERIOD);
1722 break;
1723 case MAXUINT8:
1724 case MAXUINT16:
1725 case MAXUINT32:
1726 case MAXUINT64:
1727 msg.append("YANG file error : ").append(value)
1728 .append(" is greater than maximum value ")
1729 .append(dataType).append(PERIOD);
1730 break;
1731 default:
1732 return null;
1733 }
1734 return msg.toString();
1735 }
1736
1737 /**
1738 * Validates the error message which is obtained by checking the given
1739 * value against its data type restrictions.
1740 *
1741 * @param name leaf name
1742 * @param nameSpace leaf namespace
1743 * @param val leaf value
1744 * @param type data type suffix string for exception message
1745 * @param childName child name
1746 */
1747 public static void validateErrMsg(String name, String nameSpace,
1748 String val, String type, String childName) {
1749 YangRequestWorkBench ydtBuilder = getTestYdtBuilder(nameSpace);
1750 boolean isExpOccurred = false;
1751 /*
1752 * If childName exist then leaf need to be added under the
1753 * child node with the given childName
1754 */
1755 if (childName != null) {
1756 ydtBuilder.addChild(childName, nameSpace);
1757 }
1758 /*
1759 * This try catch is explicitly written to use as utility in other
1760 * test cases.
1761 */
1762 try {
1763 ydtBuilder.addLeaf(name, nameSpace, val);
sonu guptaeff184b2016-11-24 12:43:49 +05301764 } catch (IllegalArgumentException e) {
sonu gupta1bb37b82016-11-11 16:51:18 +05301765 isExpOccurred = true;
1766 assertEquals(e.getMessage(), getErrorString(val, type));
1767 }
1768 assertEquals(E_LEAF + name, isExpOccurred, true);
1769 }
1770
1771 /**
1772 * Returns ydt builder for requested namespace.
1773 *
1774 * @param namespace namespace of the requested yang data tree
1775 * @return ydt builder
1776 */
1777 public static YangRequestWorkBench getTestYdtBuilder(String namespace) {
1778
1779 switch (namespace) {
1780 case INT8NS:
1781 return getYdtBuilder(TYPE, "integer8", INT8NS, MERGE);
1782 case INT16NS:
1783 return getYdtBuilder(TYPE, "integer16", INT16NS, MERGE);
1784 case INT32NS:
1785 return getYdtBuilder(TYPE, "integer32", INT32NS, MERGE);
1786 case INT64NS:
1787 return getYdtBuilder(TYPE, "integer64", INT64NS, MERGE);
1788 case BITNS:
1789 return getYdtBuilder(TYPE, "bit", BITNS, MERGE);
1790 case BOOLNS:
1791 return getYdtBuilder(TYPE, "bool", BOOLNS, MERGE);
1792 case EMPTYNS:
1793 return getYdtBuilder(TYPE, "emptydata", EMPTYNS, MERGE);
1794 case ENUMNS:
1795 return getYdtBuilder(TYPE, "enumtest", ENUMNS, MERGE);
1796 case LISTNS:
1797 return getYdtBuilder(LIST, "rootlist", LISTNS, MERGE);
1798 default:
1799 return null;
1800 }
1801 }
1802
1803 /**
1804 * Validates the contents of node like name, namespace and operation type.
1805 *
1806 * @param ydtNode node need to be validate
1807 * @param name name of the node
1808 * @param opType operation type of the node
1809 */
1810 public static void validateNodeContents(YdtNode ydtNode, String name,
1811 YdtContextOperationType opType) {
1812 assertEquals(ydtNode.getName(), name);
1813 assertEquals(ydtNode.getYdtContextOperationType(), opType);
1814 }
1815
1816 /**
1817 * Validates the contents of leaf node like name, namespace and operation
1818 * type.
1819 *
1820 * @param ydtNode node need to be validate
1821 * @param name name of the node
1822 * @param value value of the leaf node
1823 */
1824 public static void validateLeafContents(YdtNode ydtNode, String name,
1825 String value) {
1826 validateNodeContents(ydtNode, name, null);
1827 assertEquals(ydtNode.getValue(), value);
1828 }
1829
1830 /**
1831 * Validates the contents of leaf-list node like name, namespace and
1832 * operation type.
1833 *
1834 * @param ydtNode node need to be validate
1835 * @param name name of the node
1836 * @param valueSet value of the leaf node
1837 */
1838 public static void validateLeafListContents(YdtNode ydtNode, String name,
1839 Set<String> valueSet) {
1840 validateNodeContents(ydtNode, name, null);
1841 compareValueSet(ydtNode.getValueSet(), valueSet);
1842 }
1843
1844 /**
1845 * Validates the contents of ydt application logical node.
1846 *
1847 * @param ydtAppNode node need to be validate
1848 */
1849 public static void validateAppLogicalNodeContents(
1850 YdtAppContext ydtAppNode) {
1851
1852 assertNull(ydtAppNode.getOperationType());
1853 assertNull(ydtAppNode.getParent());
1854 assertNull(ydtAppNode.getNextSibling());
1855 assertNull(ydtAppNode.getPreviousSibling());
1856 assertNotNull(ydtAppNode.getFirstChild());
1857 assertNotNull(ydtAppNode.getLastChild());
1858 }
1859
1860 /**
1861 * Validates the contents of ydt application module node.
1862 *
1863 * @param ydtAppNode node need to be validate
1864 * @param name name of the node
1865 * @param opType operation type of the app node
1866 */
1867 public static void validateAppModuleNodeContents(
1868 YdtAppContext ydtAppNode, String name,
1869 YdtAppNodeOperationType opType) {
1870
1871 assertEquals(ydtAppNode.getModuleContext().getName(), name);
1872 assertEquals(ydtAppNode.getOperationType(), opType);
1873 }
1874
1875 /**
1876 * Validates the contents of ydt application node like name, namespace
1877 * and operation type.
1878 *
1879 * @param ydtAppNode node need to be validate
1880 * @param name name of the schema node
1881 * @param ns namespace of the schema node
1882 * @param opType operation type of the app node
1883 */
1884 public static void validateAppNodeContents(
1885 YdtAppContext ydtAppNode, String name, String ns,
1886 YdtAppNodeOperationType opType) {
1887 assertEquals(ydtAppNode.getAugmentingSchemaNode().getName(), name);
sonu guptaeff184b2016-11-24 12:43:49 +05301888 assertEquals(ydtAppNode.getAugmentingSchemaNode().getNameSpace()
1889 .getModuleNamespace(), ns);
sonu gupta1bb37b82016-11-11 16:51:18 +05301890 assertEquals(ydtAppNode.getOperationType(), opType);
1891 }
1892
1893 /**
1894 * Walks in the given built ydt and validates it.
1895 */
1896 public static void walkINTree(YangRequestWorkBench ydtBuilder,
1897 String[] expected) {
1898 DefaultYdtWalker ydtWalker = new DefaultYdtWalker();
1899 resetLogger();
1900
1901 YdtTestUtils utils = new YdtTestUtils();
1902 // Assign root node as starting node to walk the whole tree.
1903 ydtWalker.walk(utils, ydtBuilder.getRootNode());
1904 // Logger list is used for walker testing.
1905 List<String> logger = getLogger();
1906
1907 for (int i = 0; i < expected.length; i++) {
1908 assertEquals(expected[i], logger.get(i));
1909 }
1910 }
sonu guptaeff184b2016-11-24 12:43:49 +05301911
1912 /**
1913 * Creates Ydt from YO using YTB.
1914 */
1915 static YangRequestWorkBench validateYangObject(
1916 YangRequestWorkBench ydtBuilder, String name, String namespace) {
1917
1918 YdtContext rootCtx = ydtBuilder.getRootNode();
1919
1920 YdtContext childCtx = rootCtx.getFirstChild();
1921
1922 DefaultYobBuilder builder = new DefaultYobBuilder();
1923
1924 Object yangObject = builder.getYangObject(
1925 (YdtExtendedContext) childCtx, YdtTestUtils
1926 .getSchemaRegistry());
1927
1928 List<Object> list = new LinkedList<>();
1929 list.add(yangObject);
1930 // Builds YANG tree in YTB.
1931 DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder();
1932 YangRequestWorkBench defaultYdtBuilder =
1933 (YangRequestWorkBench) treeBuilder.getYdtBuilderForYo(
1934 list, name, namespace, EDIT_CONFIG_REPLY, YdtTestUtils
1935 .getSchemaRegistry());
1936 return defaultYdtBuilder;
1937 }
sonu gupta1bb37b82016-11-11 16:51:18 +05301938}