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