/* * Copyright 2016-present Open Networking Laboratory * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.onosproject.yms.app.ydt; import org.junit.Rule; import org.junit.rules.ExpectedException; import org.onosproject.yms.app.yob.DefaultYobBuilder; import org.onosproject.yms.app.ysr.TestYangSchemaNodeProvider; import org.onosproject.yms.app.ysr.YangSchemaRegistry; import org.onosproject.yms.app.ytb.DefaultYangTreeBuilder; import org.onosproject.yms.ydt.YdtContext; import org.onosproject.yms.ydt.YdtContextOperationType; import org.onosproject.yms.ydt.YdtListener; import org.onosproject.yms.ydt.YdtType; import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Set; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.onosproject.yms.app.ydt.YdtTestConstants.A1; import static org.onosproject.yms.app.ydt.YdtTestConstants.A2; import static org.onosproject.yms.app.ydt.YdtTestConstants.A2L; import static org.onosproject.yms.app.ydt.YdtTestConstants.A3; import static org.onosproject.yms.app.ydt.YdtTestConstants.A4; import static org.onosproject.yms.app.ydt.YdtTestConstants.A5; import static org.onosproject.yms.app.ydt.YdtTestConstants.A5L; import static org.onosproject.yms.app.ydt.YdtTestConstants.A6; import static org.onosproject.yms.app.ydt.YdtTestConstants.A6L; import static org.onosproject.yms.app.ydt.YdtTestConstants.BACKSLASH; import static org.onosproject.yms.app.ydt.YdtTestConstants.BIT; import static org.onosproject.yms.app.ydt.YdtTestConstants.BITNS; import static org.onosproject.yms.app.ydt.YdtTestConstants.BOOL; import static org.onosproject.yms.app.ydt.YdtTestConstants.BOOLNS; import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT16; import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT32; import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT64; import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSINT8; import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT16; import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT32; import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT64; import static org.onosproject.yms.app.ydt.YdtTestConstants.CAPSUINT8; import static org.onosproject.yms.app.ydt.YdtTestConstants.COUSTOMNS; import static org.onosproject.yms.app.ydt.YdtTestConstants.ELNS; import static org.onosproject.yms.app.ydt.YdtTestConstants.EMPNS; import static org.onosproject.yms.app.ydt.YdtTestConstants.EMPTY; import static org.onosproject.yms.app.ydt.YdtTestConstants.EMPTYNS; import static org.onosproject.yms.app.ydt.YdtTestConstants.ENUM; import static org.onosproject.yms.app.ydt.YdtTestConstants.ENUMNS; import static org.onosproject.yms.app.ydt.YdtTestConstants.E_LEAF; import static org.onosproject.yms.app.ydt.YdtTestConstants.IETF; import static org.onosproject.yms.app.ydt.YdtTestConstants.IETFNS; import static org.onosproject.yms.app.ydt.YdtTestConstants.INT16NS; import static org.onosproject.yms.app.ydt.YdtTestConstants.INT32NS; import static org.onosproject.yms.app.ydt.YdtTestConstants.INT64NS; import static org.onosproject.yms.app.ydt.YdtTestConstants.INT8NS; import static org.onosproject.yms.app.ydt.YdtTestConstants.INV; import static org.onosproject.yms.app.ydt.YdtTestConstants.LIST; import static org.onosproject.yms.app.ydt.YdtTestConstants.LISTNS; import static org.onosproject.yms.app.ydt.YdtTestConstants.LWC; import static org.onosproject.yms.app.ydt.YdtTestConstants.MATERIALNS; import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT16; import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT32; import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT64; import static org.onosproject.yms.app.ydt.YdtTestConstants.MAXUINT8; import static org.onosproject.yms.app.ydt.YdtTestConstants.MERCHNS; import static org.onosproject.yms.app.ydt.YdtTestConstants.MINVALUE; import static org.onosproject.yms.app.ydt.YdtTestConstants.MRV; import static org.onosproject.yms.app.ydt.YdtTestConstants.NETNS; import static org.onosproject.yms.app.ydt.YdtTestConstants.NIWMF; import static org.onosproject.yms.app.ydt.YdtTestConstants.NWF; import static org.onosproject.yms.app.ydt.YdtTestConstants.PERIOD; import static org.onosproject.yms.app.ydt.YdtTestConstants.PIWMF; import static org.onosproject.yms.app.ydt.YdtTestConstants.PURCHASNS; import static org.onosproject.yms.app.ydt.YdtTestConstants.PWF; import static org.onosproject.yms.app.ydt.YdtTestConstants.SINT16; import static org.onosproject.yms.app.ydt.YdtTestConstants.SINT32; import static org.onosproject.yms.app.ydt.YdtTestConstants.SLINK; import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLINT64; import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLINT8; import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLUINT64; import static org.onosproject.yms.app.ydt.YdtTestConstants.SMALLUINT8; import static org.onosproject.yms.app.ydt.YdtTestConstants.STP; import static org.onosproject.yms.app.ydt.YdtTestConstants.SUINT16; import static org.onosproject.yms.app.ydt.YdtTestConstants.SUINT32; import static org.onosproject.yms.app.ydt.YdtTestConstants.TOPONS; import static org.onosproject.yms.app.ydt.YdtTestConstants.TRADNS; import static org.onosproject.yms.app.ydt.YdtTestConstants.TYPE; import static org.onosproject.yms.app.ydt.YdtTestConstants.WAREHNS; import static org.onosproject.yms.ydt.YdtContextOperationType.DELETE; import static org.onosproject.yms.ydt.YdtContextOperationType.MERGE; import static org.onosproject.yms.ydt.YmsOperationType.EDIT_CONFIG_REPLY; public class YdtTestUtils implements YdtListener { private static List<String> kValList = new ArrayList<>(); @Rule public ExpectedException thrown = ExpectedException.none(); private static YangSchemaRegistry schemaRegistry; private static TestYangSchemaNodeProvider schemaProvider = new TestYangSchemaNodeProvider(); // Logger list is used for walker testing. private static final List<String> LOGGER = new ArrayList<>(); /** * Returns the LOGGER with log for testing the YDT walker. * * @return list of logs */ public static List<String> getLogger() { return LOGGER; } /** * Clear the LOGGER array. */ public static void resetLogger() { LOGGER.clear(); } @Override public void enterYdtNode(YdtContext ydtContext) { LOGGER.add("Entry Node is " + ydtContext.getName() + PERIOD); } @Override public void exitYdtNode(YdtContext ydtContext) { LOGGER.add("Exit Node is " + ydtContext.getName() + PERIOD); } /** * Returns schema registry of YDT. * * @return schema registry */ public static YangSchemaRegistry getSchemaRegistry() { return schemaRegistry; } /** * Sets the ydt schema registry. * * @param registry schema registry */ public static void setSchemaRegistry(YangSchemaRegistry registry) { schemaRegistry = registry; } /** * Returns the ydt builder for food module. * * @return ydt builder */ public static YangRequestWorkBench foodArenaYdt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder("foodarena", "food", "ydt.food", MERGE); ydtBuilder.addChild("food", "ydt.food"); // ydtBuilder.addChild("snack", null, "ydt.food"); // ydtBuilder.addChild("latenight", null, "ydt.food"); ydtBuilder.addLeaf("chocolate", "ydt.food", "dark"); return ydtBuilder; } /** * Returns the ydt builder for empty leaf list module. * * @return ydt builder */ public static YangRequestWorkBench emptyLeafListYdt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder("empty", "EmptyLeafList", ELNS, MERGE); ydtBuilder.addChild("l1", ELNS); ydtBuilder.traverseToParent(); ydtBuilder.addChild("l2", ELNS); ydtBuilder.traverseToParent(); ydtBuilder.addChild("l3", ELNS); ydtBuilder.traverseToParent(); ydtBuilder.addChild("list1", ELNS); ydtBuilder.traverseToParent(); ydtBuilder.addChild("list2", ELNS); ydtBuilder.traverseToParent(); ydtBuilder.addChild("list3", ELNS); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder for yms-ietf-network module. * * @return ydt builder */ public static YangRequestWorkBench ietfNetwork1Ydt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder(IETF, IETF, IETFNS, MERGE); // Adding container ydtBuilder.addChild("networks", null); // Adding list inside container ydtBuilder.addChild("network", null); // Adding key element network Id ydtBuilder.addLeaf("network-id", null, "network1"); ydtBuilder.traverseToParent(); // Adding list inside list ydtBuilder.addChild("supporting-network", null); // Adding key element network-ref ydtBuilder.addLeaf("network-ref", null, "network2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); // Adding list inside list ydtBuilder.addChild("node", null); // Adding key element node-id ydtBuilder.addLeaf("node-id", null, "node1"); ydtBuilder.traverseToParent(); // Adding list inside list ydtBuilder.addChild("supporting-node", null); // Adding key element network-ref ydtBuilder.addLeaf("network-ref", null, "network3"); ydtBuilder.traverseToParent(); // Adding key element node-ref ydtBuilder.addLeaf("node-ref", null, "network4"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); // Adding container ydtBuilder.addChild("networks-state", null); // Adding list inside container ydtBuilder.addChild("network", null); // Adding key element network-ref ydtBuilder.addLeaf("network-ref", null, "network5"); ydtBuilder.traverseToParent(); // Adding leaf server-provided ydtBuilder.addLeaf("server-provided", null, "true"); return ydtBuilder; } /** * Returns the ydt builder for yms-ietf-network-topology module. * * @return ydt builder */ public static YangRequestWorkBench ietfNetworkTopologyYdt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder(IETF, IETF, IETFNS, MERGE); // Adding container ydtBuilder.addChild("networks", IETFNS, MERGE); // Adding list inside container ydtBuilder.addChild("network", IETFNS, MERGE); // Adding key element network Id ydtBuilder.addLeaf("network-id", null, "network1"); ydtBuilder.traverseToParent(); kValList.clear(); kValList.add("id1"); // adding the augmented node ydtBuilder.addMultiInstanceChild("link", TOPONS, kValList, MERGE); // container source ydtBuilder.addChild("source", TOPONS, MERGE); ydtBuilder.addLeaf("source-node", null, "source1"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("source-tp", null, "source2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); // container destination ydtBuilder.addChild("destination", TOPONS, MERGE); ydtBuilder.addLeaf("dest-node", null, "dest1"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("dest-tp", null, "dest2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); kValList.clear(); kValList.add("network1"); kValList.add("id2"); // adding the supporting-link list node ydtBuilder.addMultiInstanceChild(SLINK, TOPONS, kValList, MERGE); ydtBuilder.traverseToParent(); kValList.clear(); kValList.add("network2"); kValList.add("id3"); // adding the supporting-link list another instance ydtBuilder.addMultiInstanceChild(SLINK, TOPONS, kValList, MERGE); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); // Adding list inside list ydtBuilder.addChild("supporting-network", null); // Adding key element network-ref ydtBuilder.addLeaf("network-ref", null, "network2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); // Adding list inside list ydtBuilder.addChild("node", null); // Adding key element node-id ydtBuilder.addLeaf("node-id", null, "node1"); ydtBuilder.traverseToParent(); kValList.clear(); kValList.add("tp_id1"); //adding augmented termination-point list ydtBuilder.addMultiInstanceChild("t-point", TOPONS, kValList, MERGE); kValList.clear(); kValList.add("network-ref"); kValList.add("node-ref"); kValList.add("tp-ref"); //adding supporting-termination-point ydtBuilder.addMultiInstanceChild(STP, TOPONS, kValList, MERGE); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); // Adding list inside list ydtBuilder.addChild("supporting-node", null); // Adding key element network-ref ydtBuilder.addLeaf("network-ref", null, "network3"); ydtBuilder.traverseToParent(); // Adding key element node-ref ydtBuilder.addLeaf("node-ref", null, "network4"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("link-id", TOPONS, "id1"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); // Adding container ydtBuilder.addChild("networks-state", null); // Adding list inside container ydtBuilder.addChild("network", null); // Adding key element network-ref ydtBuilder.addLeaf("network-ref", null, "network5"); ydtBuilder.traverseToParent(); // Adding leaf server-provided ydtBuilder.addLeaf("server-provided", null, "true"); return ydtBuilder; } /** * Returns the ydt builder for augmented module. * * @return ydt builder */ public static YangRequestWorkBench augmentNetworkYdt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder(IETF, IETF, IETFNS, MERGE); // Adding container ydtBuilder.addChild("networks", IETFNS, MERGE); // Adding list inside container ydtBuilder.addChild("network", IETFNS, MERGE); // Adding key element network Id ydtBuilder.addLeaf("network-id", null, "network1"); ydtBuilder.traverseToParent(); kValList.clear(); kValList.add("id1"); // adding the augmented node ydtBuilder.addMultiInstanceChild("link", TOPONS, kValList, MERGE); // container source ydtBuilder.addChild("source", TOPONS, MERGE); ydtBuilder.addLeaf("source-node", null, "source1"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("source-tp", null, "source2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); // container destination ydtBuilder.addChild("destination", TOPONS, MERGE); ydtBuilder.addLeaf("dest-node", null, "dest1"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("dest-tp", null, "dest2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); kValList.clear(); kValList.add("network1"); kValList.add("id2"); // adding the supporting-link list node ydtBuilder.addMultiInstanceChild(SLINK, TOPONS, kValList, MERGE); ydtBuilder.traverseToParent(); kValList.clear(); kValList.add("network2"); kValList.add("id3"); // adding the supporting-link list another instance ydtBuilder.addMultiInstanceChild(SLINK, TOPONS, kValList, MERGE); ydtBuilder.traverseToParent(); kValList.clear(); kValList.add("1"); ydtBuilder.addMultiInstanceChild("augment1", A1, kValList, MERGE); ydtBuilder.traverseToParent(); kValList.clear(); kValList.add("1"); kValList.add("2"); ydtBuilder.addMultiInstanceChild("augment2", A2, kValList, MERGE); ydtBuilder.addChild("augment5", A5, DELETE); ydtBuilder.addMultiInstanceChild(A6L, A6, kValList, DELETE); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("value5", null, "5"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addMultiInstanceChild(A5L, A5, kValList, DELETE); ydtBuilder.traverseToParent(); ydtBuilder.addChild("augment3", A3, MERGE); ydtBuilder.addChild("augment4", A4, DELETE); ydtBuilder.addLeaf("value4", null, "4"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("augment5", A5, MERGE); ydtBuilder.addLeaf("leaf6", A6, "6"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("value5", null, "5"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("augment6", A6, DELETE); ydtBuilder.addLeaf("value6", null, "6"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("value3", null, "3"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("augment3leaf", A3, "3"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addMultiInstanceChild(A2L, A2, kValList, MERGE); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); // Adding list inside list ydtBuilder.addChild("supporting-network", null); // Adding key element network-ref ydtBuilder.addLeaf("network-ref", null, "network2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); // Adding list inside list ydtBuilder.addChild("node", null); // Adding key element node-id ydtBuilder.addLeaf("node-id", null, "node1"); ydtBuilder.traverseToParent(); kValList.clear(); kValList.add("tp_id1"); //adding augmented termination-point list ydtBuilder.addMultiInstanceChild("t-point", TOPONS, kValList, MERGE); kValList.clear(); kValList.add("network-ref"); kValList.add("node-ref"); kValList.add("tp-ref"); //adding supporting-termination-point ydtBuilder.addMultiInstanceChild(STP, TOPONS, kValList, MERGE); // Adding augmented container1 inside supporting-termination-point augmentTerminationPointYdt(ydtBuilder); return ydtBuilder; } /** * Adds augments inside supporting-termination-point in augmented module. * * @param ydtBuilder ydt builder which need to be updated */ private static void augmentTerminationPointYdt(YangRequestWorkBench ydtBuilder) { ydtBuilder.addChild("augment1", A1); ydtBuilder.addLeaf("value1", null, "1"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("augment1-leaf", A1, "1"); ydtBuilder.traverseToParent(); ydtBuilder.addChild("augment2", A2, MERGE); ydtBuilder.addChild("augment3", A3, MERGE); ydtBuilder.addLeaf("value3", null, "3"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("augment4leaf", A4, "4"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("value2", null, "2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); kValList.clear(); kValList.add("1"); kValList.add("2"); ydtBuilder.addMultiInstanceChild(A2L, A2, kValList, MERGE); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("augment2leaf", A2, "2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); // Adding list inside list ydtBuilder.addChild("supporting-node", null); // Adding key element network-ref ydtBuilder.addLeaf("network-ref", null, "network3"); ydtBuilder.traverseToParent(); // Adding key element node-ref ydtBuilder.addLeaf("node-ref", null, "network4"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("link-id", TOPONS, "id1"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); // Adding container ydtBuilder.addChild("networks-state", null); // Adding list inside container ydtBuilder.addChild("network", null); // Adding key element network-ref ydtBuilder.addLeaf("network-ref", null, "network5"); ydtBuilder.traverseToParent(); // Adding leaf server-provided ydtBuilder.addLeaf("server-provided", null, "true"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); augmentNetworkYdt(ydtBuilder); } /** * Adds augmented module augment-network under logical node ietf-network. * * @param ydtBuilder ydt builder which need to be updated */ private static void augmentNetworkYdt(YangRequestWorkBench ydtBuilder) { ydtBuilder.addChild("augmentNetwork", NETNS); //adding list with name node under module node ydtBuilder.addChild("node", null); //adding key leaf for node ydtBuilder.addLeaf("name", null, "node1"); ydtBuilder.traverseToParent(); // adding augmented container cont1s under list ydtBuilder.addChild("cont1s", null); // adding container cont1s under cont1s ydtBuilder.addChild("cont1s", null); //adding leaf under cont1s ydtBuilder.addLeaf("fine", null, "leaf"); //adding augmented list node bu augment-topology1 under container ydtBuilder.traverseToParent(); ydtBuilder.addChild("augment1", A1, DELETE); //adding key leaf for list node augment1 ydtBuilder.addLeaf("value1", null, "1"); } /** * Returns the ydt builder for rootlist module with listwithcontainer node * using addMultiInstanceChild interface for adding multi instance node. * * @return ydt builder */ public static YangRequestWorkBench listWithContainerYdt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder("list", "rootlist", "ydt.rootlist", MERGE); kValList.clear(); kValList.add("12"); kValList.add("12"); ydtBuilder.addMultiInstanceChild(LWC, null, kValList, MERGE); ydtBuilder.addLeaf(INV, null, "1"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf(INV, null, "2"); ydtBuilder.traverseToParent(); ydtBuilder.addChild("interface", null); ydtBuilder.addLeaf(INV, null, "12"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("invalid", null, "121"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder for rootlist module with listwithcontainer * node using addChild interface for adding multi instance node. * * @return ydt builder */ public static YangRequestWorkBench listWithContainer1Ydt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder("list", "rootlist", "ydt.rootlist", MERGE); ydtBuilder.addChild(LWC, null); ydtBuilder.addLeaf("invalid", null, "12"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("invalid1", null, "12"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf(INV, null, "1"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf(INV, null, "2"); ydtBuilder.traverseToParent(); ydtBuilder.addChild("interface", null); ydtBuilder.addLeaf(INV, null, "12"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("invalid", null, "121"); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder for rootlist module with multiple instances of * listwithcontainer node using addMultiInstanceChild interface for adding * multi instance node. * * @return ydt builder */ public static YangRequestWorkBench listWithContainer2Ydt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder("list", "rootlist", "ydt.rootlist", MERGE); kValList.clear(); kValList.add("1222"); kValList.add("1212"); ydtBuilder.addMultiInstanceChild(LWC, null, kValList, MERGE); kValList.clear(); kValList.add("12"); kValList.add("1"); ydtBuilder.addMultiInstanceChild(INV, null, kValList, MERGE); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf(INV, null, "122"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf(INV, null, "2222"); ydtBuilder.traverseToParent(); kValList.clear(); kValList.add("1222"); kValList.add("1212"); ydtBuilder.addMultiInstanceChild(INV, null, kValList, MERGE); ydtBuilder.traverseToParent(); ydtBuilder.addChild("interface", null); ydtBuilder.addLeaf(INV, null, "12"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder for rootlist module with listwithoutcontainer * node. * * @return ydt builder */ public static YangRequestWorkBench listWithoutContainerYdt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder("list", "rootlist", "ydt.rootlist", MERGE); ydtBuilder.addChild("listwithoutcontainer", null); ydtBuilder.addLeaf(INV, null, "12"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder for logisticsmanager module. * * @return ydt builder */ public static YangRequestWorkBench logisticsManagerYdt() { Set<String> valueSet = new HashSet(); valueSet.add("1"); valueSet.add("2"); valueSet.add("3"); valueSet.add("4"); valueSet.add("5"); YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder("logisticsmanager", "customssupervisor", null, MERGE); ydtBuilder.addLeaf("supervisor", COUSTOMNS, "abc"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("merchandisersupervisor", MERCHNS, MERGE); ydtBuilder.addLeaf("supervisor", MERCHNS, "abc"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("materialsupervisor", MATERIALNS, MERGE); ydtBuilder.addChild("supervisor", MATERIALNS); ydtBuilder.addLeaf("name", MATERIALNS, "abc"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("departmentId", MATERIALNS, "xyz"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("supervisor", MATERIALNS); ydtBuilder.addLeaf("name", MATERIALNS, "ab"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("departmentId", MATERIALNS, "xy"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("purchasingsupervisor", PURCHASNS, MERGE); ydtBuilder.addChild("supervisor", PURCHASNS); ydtBuilder.addLeaf("purchasing-specialist", PURCHASNS, "abc"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("support", "ydt.purchasing-supervisor", "xyz"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("warehousesupervisor", WAREHNS, MERGE); ydtBuilder.addLeaf("supervisor", WAREHNS, valueSet); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("tradingsupervisor", TRADNS, MERGE); ydtBuilder.addLeaf("supervisor", TRADNS, "abc"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("employeeid", EMPNS, MERGE); ydtBuilder.addLeaf("employeeid", EMPNS, valueSet); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder for bit module. * * @return ydt builder */ public static YangRequestWorkBench bitYdt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder("builtInType", "bit", "ydt.bit", MERGE); ydtBuilder.addChild("bitList", null); ydtBuilder.addLeaf("bit", null, "disable-nagle"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("bitList", null); ydtBuilder.addLeaf("bit", null, "auto-sense-speed"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("bitList", null); ydtBuilder.addLeaf("bit", null, "ten-Mb-only"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("bitList", null); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder for bool module. * * @return ydt builder */ public static YangRequestWorkBench booleanYdt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder("builtInType", "bool", "ydt.boolean", MERGE); ydtBuilder.addChild("booleanList", null); ydtBuilder.addLeaf("boolean", null, "true"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("booleanList", null); ydtBuilder.addLeaf("boolean", null, "false"); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder for emptydata module. * * @return ydt builder */ public static YangRequestWorkBench emptyTypeYdt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder( "builtInType", "emptydata", "ydt.emptydata", MERGE); ydtBuilder.addChild("emptyList", null); ydtBuilder.addLeaf("empty", null, ""); return ydtBuilder; } /** * Returns the ydt builder for enumtest module. * * @return ydt builder */ public static YangRequestWorkBench enumYdt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder( "builtInType", "enumtest", "ydt.enumtest", MERGE); ydtBuilder.addChild("enumList", null); ydtBuilder.addLeaf("enumleaf", null, "ten"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("enumList", null); ydtBuilder.addLeaf("enumleaf", null, "hundred"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("enumList", null); ydtBuilder.addLeaf("enumleaf", null, "thousand"); return ydtBuilder; } /** * Returns the ydt builder for augmentSequence module. * * @return ydt builder */ public static YangRequestWorkBench augmentSequenceYdt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder( "augment", "augmentSequence", "ydt.augmentSequence", MERGE); ydtBuilder.addChild("l1", null); ydtBuilder.addLeaf("leaf1", null, "1"); ydtBuilder.traverseToParent(); ydtBuilder.addChild("c1", "ydt.augmentSequence1"); ydtBuilder.addLeaf("leaf2", null, "2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild("c2", "ydt.augmentSequence2"); ydtBuilder.addLeaf("leaf2", null, "3"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder for crypto-base module. * * @return ydt builder */ public static YangRequestWorkBench identityRefYdt() { Set<String> valueSet = new HashSet(); valueSet.add("crypto-alg"); YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder( "identityref", "crypto-base", "ydt.crypto-base", MERGE); ydtBuilder.addLeaf("crypto", null, "crypto-alg"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("abc-zeunion", null, "crypto-alg"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("level2", null, "crypto-alg2"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("level3", null, "crypto-alg3"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("level4", null, "crypto-alg3"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("abc-type", null, valueSet); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder for builtin type integer8 module. * * @return ydt builder */ public static YangRequestWorkBench integer8Ydt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder( "builtInType", "integer8", "ydt.integer8", MERGE); ydtBuilder.addLeaf("negInt", null, "-128"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("posInt", null, "127"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("minUInt", null, "0"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("maxUInt", null, "255"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("midIntWithRange", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("minIntWithRange", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("maxIntWithRange", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("midUIntWithRange", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("minUIntWithRange", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("maxUIntWithRange", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "40"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "50"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "55"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("UnInteger", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "40"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "50"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "55"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("revInteger", null, "-128"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "1"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "20"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "127"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "0"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "1"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "20"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "255"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder for builtin type integer16 module. * * @return ydt builder */ public static YangRequestWorkBench integer16Ydt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder( "builtInType", "integer16", "ydt.integer16", MERGE); ydtBuilder.addLeaf("negInt", null, "-32768"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("posInt", null, "32767"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("minUInt", null, "0"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("maxUInt", null, "65535"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("midIntWithRange", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("minIntWithRange", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("maxIntWithRange", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("midUIntWithRange", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("minUIntWithRange", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("maxUIntWithRange", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "40"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "50"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "55"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("UnInteger", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "40"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "50"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "55"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("revInteger", null, "-32768"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "1"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "20"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "32767"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "0"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "1"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "20"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "65535"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder for builtin type integer32 module. * * @return ydt builder */ public static YangRequestWorkBench integer32Ydt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder( "builtInType", "integer32", "ydt.integer32", MERGE); ydtBuilder.addLeaf("negInt", null, "-2147483648"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("posInt", null, "2147483647"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("minUInt", null, "0"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("maxUInt", null, "4294967295"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("midIntWithRange", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("minIntWithRange", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("maxIntWithRange", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("midUIntWithRange", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("minUIntWithRange", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("maxUIntWithRange", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "40"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "50"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "55"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("UnInteger", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "40"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "50"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "55"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("revInteger", null, "-2147483648"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "1"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "20"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "2147483647"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "0"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "1"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "20"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "4294967295"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder for builtin type integer64 module. * * @return ydt builder */ public static YangRequestWorkBench integer64Ydt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder( "builtInType", "integer64", "ydt.integer64", MERGE); ydtBuilder.addLeaf("negInt", null, "-9223372036854775808"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("posInt", null, "9223372036854775807"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("minUInt", null, "0"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("maxUInt", null, "18446744073709551615"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("midIntWithRange", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("minIntWithRange", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("maxIntWithRange", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("midUIntWithRange", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("minUIntWithRange", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("maxUIntWithRange", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "40"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "50"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "55"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("integer", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("UnInteger", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "40"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "50"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "55"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("UnInteger", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("revInteger", null, "-9223372036854775808"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "1"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "20"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revInteger", null, "9223372036854775807"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "0"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "1"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "2"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "20"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null, YdtType.MULTI_INSTANCE_NODE); ydtBuilder.addLeaf("revUnInteger", null, "18446744073709551615"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder for builtin type decimal64 module. * * @return ydt builder */ public static YangRequestWorkBench decimal64Ydt() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder( "builtInType", "decimal64", "ydt.decimal64", MERGE); ydtBuilder.addLeaf("negInt", null, "-92233720368547758.08"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("posInt", null, "92233720368547758.07"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf(NIWMF, null, "-922337203685477580.8"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf(PIWMF, null, "922337203685477580.7"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf(NWF, null, "-9.223372036854775808"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf(PWF, null, "9.223372036854775807"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("midIntWithRange", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("minIntWithRange", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("maxIntWithRange", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("decimal", null, "11"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("decimal", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("decimal", null, "40"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("decimal", null, "50"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("decimal", null, "55"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("decimal", null, "100"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("revDecimal", null, "-92233720368547758.08"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("revDecimal", null, "2.505"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("revDecimal", null, "3.14"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("revDecimal", null, "10"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("revDecimal", null, "20"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("revDecimal", null, "92233720368547757"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.addChild(MRV, null); ydtBuilder.addLeaf("revDecimal", null, "92233720368547758.07"); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the ydt builder with requested logical root name and module name. * * @param rootName logical rootNode name * @param moduleName application(module) name * @param nameSpace namespace of module * @param opType operation type * @return ydt builder */ public static YangRequestWorkBench getYdtBuilder(String rootName, String moduleName, String nameSpace, YdtContextOperationType opType) { setSchemaRegistry(schemaProvider.getDefaultYangSchemaRegistry()); YangRequestWorkBench ydtBuilder; schemaProvider.processSchemaRegistry(null); ydtBuilder = new YangRequestWorkBench( rootName, null, null, schemaProvider .getDefaultYangSchemaRegistry(), true); ydtBuilder.addChild(moduleName, nameSpace, opType); return ydtBuilder; } /** * Compares the two value sets. */ public static void compareValueSet(Set<String> valueSet, Set<String> userInputValueSet) { // Check the value against user input. assertTrue("Expected 'valueSet' and 'userInputValueSet' to be equal.", valueSet.containsAll(userInputValueSet)); } /** * Returns the ydt builder for Hello_ONOS module. * * @return ydt builder */ public static YangRequestWorkBench helloOnos() { YangRequestWorkBench ydtBuilder; ydtBuilder = getYdtBuilder( "Hello-ONOS", "Hello_ONOS", "ydt:hello_onos", MERGE); ydtBuilder.addChild("hello-world", null); ydtBuilder.addChild("input", null); ydtBuilder.addLeaf("name", null, "onos"); ydtBuilder.traverseToParent(); ydtBuilder.addLeaf("surName", null, "yang"); ydtBuilder.traverseToParent(); kValList.clear(); kValList.add("ON"); kValList.add("LAB"); ydtBuilder.addMultiInstanceChild("stringList", null, kValList, MERGE); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); ydtBuilder.traverseToParent(); return ydtBuilder; } /** * Returns the error message for requested node. * * @param value value in string format * @param dataType requested data type * @return error string */ static String getErrorString(String value, String dataType) { StringBuilder msg = new StringBuilder(); switch (dataType) { case SINT16: case SINT32: case SMALLINT8: case SMALLINT64: case SMALLUINT8: case SMALLUINT64: case SUINT16: case SUINT32: case CAPSINT8: case CAPSINT16: case CAPSINT32: case CAPSINT64: case CAPSUINT8: case CAPSUINT16: case CAPSUINT32: case CAPSUINT64: case BIT: case BOOL: case ENUM: msg.append("YANG file error : Input value ").append(BACKSLASH) .append(value).append(BACKSLASH) .append(" is not a valid ").append(dataType); break; case EMPTY: msg.append("YANG file error : Input value ").append(BACKSLASH) .append(value).append(BACKSLASH).append( " is not allowed for a data type EMPTY"); break; case MINVALUE: msg.append("YANG file error : ").append(value) .append(" is lesser than minimum value ") .append(MINVALUE).append(PERIOD); break; case MAXUINT8: case MAXUINT16: case MAXUINT32: case MAXUINT64: msg.append("YANG file error : ").append(value) .append(" is greater than maximum value ") .append(dataType).append(PERIOD); break; default: return null; } return msg.toString(); } /** * Validates the error message which is obtained by checking the given * value against its data type restrictions. * * @param name leaf name * @param nameSpace leaf namespace * @param val leaf value * @param type data type suffix string for exception message * @param childName child name */ public static void validateErrMsg(String name, String nameSpace, String val, String type, String childName) { YangRequestWorkBench ydtBuilder = getTestYdtBuilder(nameSpace); boolean isExpOccurred = false; /* * If childName exist then leaf need to be added under the * child node with the given childName */ if (childName != null) { ydtBuilder.addChild(childName, nameSpace); } /* * This try catch is explicitly written to use as utility in other * test cases. */ try { ydtBuilder.addLeaf(name, nameSpace, val); } catch (IllegalArgumentException e) { isExpOccurred = true; assertEquals(e.getMessage(), getErrorString(val, type)); } assertEquals(E_LEAF + name, isExpOccurred, true); } /** * Returns ydt builder for requested namespace. * * @param namespace namespace of the requested yang data tree * @return ydt builder */ public static YangRequestWorkBench getTestYdtBuilder(String namespace) { switch (namespace) { case INT8NS: return getYdtBuilder(TYPE, "integer8", INT8NS, MERGE); case INT16NS: return getYdtBuilder(TYPE, "integer16", INT16NS, MERGE); case INT32NS: return getYdtBuilder(TYPE, "integer32", INT32NS, MERGE); case INT64NS: return getYdtBuilder(TYPE, "integer64", INT64NS, MERGE); case BITNS: return getYdtBuilder(TYPE, "bit", BITNS, MERGE); case BOOLNS: return getYdtBuilder(TYPE, "bool", BOOLNS, MERGE); case EMPTYNS: return getYdtBuilder(TYPE, "emptydata", EMPTYNS, MERGE); case ENUMNS: return getYdtBuilder(TYPE, "enumtest", ENUMNS, MERGE); case LISTNS: return getYdtBuilder(LIST, "rootlist", LISTNS, MERGE); default: return null; } } /** * Validates the contents of node like name, namespace and operation type. * * @param ydtNode node need to be validate * @param name name of the node * @param opType operation type of the node */ public static void validateNodeContents(YdtNode ydtNode, String name, YdtContextOperationType opType) { assertEquals(ydtNode.getName(), name); assertEquals(ydtNode.getYdtContextOperationType(), opType); } /** * Validates the contents of leaf node like name, namespace and operation * type. * * @param ydtNode node need to be validate * @param name name of the node * @param value value of the leaf node */ public static void validateLeafContents(YdtNode ydtNode, String name, String value) { validateNodeContents(ydtNode, name, null); assertEquals(ydtNode.getValue(), value); } /** * Validates the contents of leaf-list node like name, namespace and * operation type. * * @param ydtNode node need to be validate * @param name name of the node * @param valueSet value of the leaf node */ public static void validateLeafListContents(YdtNode ydtNode, String name, Set<String> valueSet) { validateNodeContents(ydtNode, name, null); compareValueSet(ydtNode.getValueSet(), valueSet); } /** * Validates the contents of ydt application logical node. * * @param ydtAppNode node need to be validate */ public static void validateAppLogicalNodeContents( YdtAppContext ydtAppNode) { assertNull(ydtAppNode.getOperationType()); assertNull(ydtAppNode.getParent()); assertNull(ydtAppNode.getNextSibling()); assertNull(ydtAppNode.getPreviousSibling()); assertNotNull(ydtAppNode.getFirstChild()); assertNotNull(ydtAppNode.getLastChild()); } /** * Validates the contents of ydt application module node. * * @param ydtAppNode node need to be validate * @param name name of the node * @param opType operation type of the app node */ public static void validateAppModuleNodeContents( YdtAppContext ydtAppNode, String name, YdtAppNodeOperationType opType) { assertEquals(ydtAppNode.getModuleContext().getName(), name); assertEquals(ydtAppNode.getOperationType(), opType); } /** * Validates the contents of ydt application node like name, namespace * and operation type. * * @param ydtAppNode node need to be validate * @param name name of the schema node * @param ns namespace of the schema node * @param opType operation type of the app node */ public static void validateAppNodeContents( YdtAppContext ydtAppNode, String name, String ns, YdtAppNodeOperationType opType) { assertEquals(ydtAppNode.getAugmentingSchemaNode().getName(), name); assertEquals(ydtAppNode.getAugmentingSchemaNode().getNameSpace() .getModuleNamespace(), ns); assertEquals(ydtAppNode.getOperationType(), opType); } /** * Walks in the given built ydt and validates it. */ public static void walkINTree(YangRequestWorkBench ydtBuilder, String[] expected) { DefaultYdtWalker ydtWalker = new DefaultYdtWalker(); resetLogger(); YdtTestUtils utils = new YdtTestUtils(); // Assign root node as starting node to walk the whole tree. ydtWalker.walk(utils, ydtBuilder.getRootNode()); // Logger list is used for walker testing. List<String> logger = getLogger(); for (int i = 0; i < expected.length; i++) { assertEquals(expected[i], logger.get(i)); } } /** * Creates Ydt from YO using YTB. */ static YangRequestWorkBench validateYangObject( YangRequestWorkBench ydtBuilder, String name, String namespace) { YdtContext rootCtx = ydtBuilder.getRootNode(); YdtContext childCtx = rootCtx.getFirstChild(); DefaultYobBuilder builder = new DefaultYobBuilder(); Object yangObject = builder.getYangObject( (YdtExtendedContext) childCtx, YdtTestUtils .getSchemaRegistry()); List<Object> list = new LinkedList<>(); list.add(yangObject); // Builds YANG tree in YTB. DefaultYangTreeBuilder treeBuilder = new DefaultYangTreeBuilder(); YangRequestWorkBench defaultYdtBuilder = (YangRequestWorkBench) treeBuilder.getYdtBuilderForYo( list, name, namespace, EDIT_CONFIG_REPLY, YdtTestUtils .getSchemaRegistry()); return defaultYdtBuilder; } }