e8cf728b459b5352ed41b9f7f8222cfeb5d2336f
[yangtools.git] / benchmarks / src / main / java / org / opendaylight / yangtools / yang / data / impl / tree / BenchmarkModel.java
1 package org.opendaylight.yangtools.yang.data.impl.tree;
2
3 import java.io.InputStream;
4 import java.util.Collections;
5 import java.util.Set;
6 import org.opendaylight.yangtools.yang.common.QName;
7 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
8 import org.opendaylight.yangtools.yang.model.api.Module;
9 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
10 import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl;
11
12 /**
13  * @author Lukas Sedlak <lsedlak@cisco.com>
14  */
15 public class BenchmarkModel {
16
17     public static final QName TEST_QNAME = QName.create("urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:store:test", "2014-03-13",
18         "test");
19     public static final QName OUTER_LIST_QNAME = QName.create(TEST_QNAME, "outer-list");
20     public static final QName INNER_LIST_QNAME = QName.create(TEST_QNAME, "inner-list");
21     public static final QName OUTER_CHOICE_QNAME = QName.create(TEST_QNAME, "outer-choice");
22     public static final QName ID_QNAME = QName.create(TEST_QNAME, "id");
23     public static final QName NAME_QNAME = QName.create(TEST_QNAME, "name");
24     public static final QName VALUE_QNAME = QName.create(TEST_QNAME, "value");
25     private static final String DATASTORE_TEST_YANG = "/odl-datastore-test.yang";
26
27     public static final YangInstanceIdentifier TEST_PATH = YangInstanceIdentifier.of(TEST_QNAME);
28     public static final YangInstanceIdentifier OUTER_LIST_PATH = YangInstanceIdentifier.builder(TEST_PATH).node(OUTER_LIST_QNAME).build();
29
30     public static final InputStream getDatastoreBenchmarkInputStream() {
31         return getInputStream(DATASTORE_TEST_YANG);
32     }
33
34     private static InputStream getInputStream(final String resourceName) {
35         return BenchmarkModel.class.getResourceAsStream(resourceName);
36     }
37
38     public static SchemaContext createTestContext() {
39         YangParserImpl parser = new YangParserImpl();
40         Set<Module> modules = parser.parseYangModelsFromStreams(Collections.singletonList(
41             getDatastoreBenchmarkInputStream()));
42         return parser.resolveSchemaContext(modules);
43     }
44 }