+ try {
+ sources = Collections.singletonList(
+ Resources.asByteSource(TestModel.class.getResource(DATASTORE_TEST_YANG)).openStream());
+ } catch (IOException e1) {
+ throw new ExceptionInInitializerError(e1);
+ }
+
+ try {
+ return YangParserTestUtils.parseYangStreams(sources);
+ } catch (ReactorException e) {
+ throw new RuntimeException("Unable to build schema context from " + sources, e);
+ }
+ }
+
+ public static DataContainerChild<?, ?> outerNode(final int... ids) {
+ CollectionNodeBuilder<MapEntryNode, MapNode> 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(final MapEntryNode... entries) {
+ CollectionNodeBuilder<MapEntryNode, MapNode> outer = ImmutableNodes.mapNodeBuilder(OUTER_LIST_QNAME);
+ for (MapEntryNode e: entries) {
+ outer.addChild(e);
+ }
+
+ return outer.build();
+ }
+
+ public static DataContainerChild<?, ?> innerNode(final String... names) {
+ CollectionNodeBuilder<MapEntryNode, MapNode> 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(final int id, final DataContainerChild<?, ?> inner) {
+ return ImmutableNodes.mapEntryBuilder(OUTER_LIST_QNAME, ID_QNAME, id).addChild(inner).build();
+ }
+
+ public static NormalizedNode<?, ?> testNodeWithOuter(final int... ids) {
+ return testNodeWithOuter(outerNode(ids));
+ }
+
+ public static NormalizedNode<?, ?> testNodeWithOuter(final DataContainerChild<?, ?> outer) {
+ return ImmutableContainerNodeBuilder.create().withNodeIdentifier(
+ new YangInstanceIdentifier.NodeIdentifier(TEST_QNAME)).withChild(outer).build();
+ }
+
+ public static NodeIdentifierWithPredicates outerEntryKey(final int id) {
+ return new NodeIdentifierWithPredicates(OUTER_LIST_QNAME, ID_QNAME, id);
+ }
+
+ public static YangInstanceIdentifier outerEntryPath(final int id) {
+ return OUTER_LIST_PATH.node(outerEntryKey(id));
+ }
+
+ public static NodeIdentifierWithPredicates innerEntryKey(final String name) {
+ return new NodeIdentifierWithPredicates(INNER_LIST_QNAME, NAME_QNAME, name);
+ }
+
+ public static YangInstanceIdentifier innerEntryPath(final int id, final String name) {
+ return OUTER_LIST_PATH.node(outerEntryKey(id)).node(INNER_LIST_QNAME).node(innerEntryKey(name));
+ }