X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fcluster%2Fdatastore%2Fmodel%2FTestModel.java;h=86c0f110bcf7861802c39fc268ed76f56d20f0d9;hp=c4fb9a11dd0a9b4bdbd9129da1ba0cd4cf759ae4;hb=refs%2Fchanges%2F49%2F26949%2F2;hpb=026eb3793faa8a3f072dcdc6a3746828d63e5f8b diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/TestModel.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/TestModel.java index c4fb9a11dd..86c0f110bc 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/TestModel.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/TestModel.java @@ -13,6 +13,14 @@ import java.io.InputStream; import java.util.Collections; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; +import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; +import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; +import org.opendaylight.yangtools.yang.data.api.schema.MapNode; +import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; +import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.parser.api.YangSyntaxErrorException; import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl; @@ -30,6 +38,7 @@ public class TestModel { public static final QName OUTER_LIST_QNAME = QName.create(TEST_QNAME, "outer-list"); + public static final QName OUTER_CONTAINER_QNAME = QName.create(TEST_QNAME, "outer-container"); public static final QName INNER_LIST_QNAME = QName.create(TEST_QNAME, "inner-list"); public static final QName OUTER_CHOICE_QNAME = QName.create(TEST_QNAME, "outer-choice"); public static final QName ID_QNAME = QName.create(TEST_QNAME, "id"); @@ -44,6 +53,7 @@ public class TestModel { node(OUTER_LIST_QNAME).build(); public static final YangInstanceIdentifier INNER_LIST_PATH = YangInstanceIdentifier.builder(TEST_PATH). node(OUTER_LIST_QNAME).node(INNER_LIST_QNAME).build(); + public static final YangInstanceIdentifier OUTER_CONTAINER_PATH = TEST_PATH.node(OUTER_CONTAINER_QNAME); public static final QName TWO_QNAME = QName.create(TEST_QNAME,"two"); public static final QName THREE_QNAME = QName.create(TEST_QNAME,"three"); @@ -60,4 +70,60 @@ public class TestModel { throw new ExceptionInInitializerError(e); } } + + public static DataContainerChild outerNode(int... ids) { + CollectionNodeBuilder outer = ImmutableNodes.mapNodeBuilder(OUTER_LIST_QNAME); + for(int id: ids) { + outer.addChild(ImmutableNodes.mapEntry(OUTER_LIST_QNAME, ID_QNAME, id)); + } + + return outer.build(); + } + + public static DataContainerChild outerNode(MapEntryNode... entries) { + CollectionNodeBuilder outer = ImmutableNodes.mapNodeBuilder(OUTER_LIST_QNAME); + for(MapEntryNode e: entries) { + outer.addChild(e); + } + + return outer.build(); + } + + public static DataContainerChild innerNode(String... names) { + CollectionNodeBuilder outer = ImmutableNodes.mapNodeBuilder(INNER_LIST_QNAME); + for(String name: names) { + outer.addChild(ImmutableNodes.mapEntry(INNER_LIST_QNAME, NAME_QNAME, name)); + } + + return outer.build(); + } + + public static MapEntryNode outerNodeEntry(int id, DataContainerChild inner) { + return ImmutableNodes.mapEntryBuilder(OUTER_LIST_QNAME, ID_QNAME, id).addChild(inner).build(); + } + + public static NormalizedNode testNodeWithOuter(int... ids) { + return testNodeWithOuter(outerNode(ids)); + } + + public static NormalizedNode testNodeWithOuter(DataContainerChild outer) { + return ImmutableContainerNodeBuilder.create().withNodeIdentifier( + new YangInstanceIdentifier.NodeIdentifier(TEST_QNAME)).withChild(outer).build(); + } + + public static NodeIdentifierWithPredicates outerEntryKey(int id) { + return new NodeIdentifierWithPredicates(OUTER_LIST_QNAME, ID_QNAME, id); + } + + public static YangInstanceIdentifier outerEntryPath(int id) { + return OUTER_LIST_PATH.node(outerEntryKey(id)); + } + + public static NodeIdentifierWithPredicates innerEntryKey(String name) { + return new NodeIdentifierWithPredicates(INNER_LIST_QNAME, NAME_QNAME, name); + } + + public static YangInstanceIdentifier innerEntryPath(int id, String name) { + return OUTER_LIST_PATH.node(outerEntryKey(id)).node(INNER_LIST_QNAME).node(innerEntryKey(name)); + } }