package org.opendaylight.controller.md.cluster.datastore.model;
-import org.opendaylight.yangtools.yang.model.api.Module;
+import java.io.File;
+import java.io.InputStream;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl;
+import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
+public final class SchemaContextHelper {
+
+ public static final String ODL_DATASTORE_TEST_YANG = "/odl-datastore-test.yang";
+ public static final String PEOPLE_YANG = "/people.yang";
+ public static final String CARS_YANG = "/cars.yang";
-public class SchemaContextHelper {
+ private SchemaContextHelper() {
+
+ }
public static InputStream getInputStream(final String yangFileName) {
- return TestModel.class.getResourceAsStream(yangFileName);
+ return SchemaContextHelper.class.getResourceAsStream(yangFileName);
}
- public static SchemaContext full(){
- YangParserImpl parser = new YangParserImpl();
- List<InputStream> streams = new ArrayList<>();
- streams.add(getInputStream("/odl-datastore-test.yang"));
- streams.add(getInputStream("/people.yang"));
- streams.add(getInputStream("/cars.yang"));
+ public static SchemaContext full() {
+ return select(ODL_DATASTORE_TEST_YANG, PEOPLE_YANG, CARS_YANG);
+ }
+
+ public static SchemaContext select(final String... schemaFiles) {
+ return YangParserTestUtils.parseYangResources(SchemaContextHelper.class, schemaFiles);
+ }
- Set<Module> modules = parser.parseYangModelsFromStreams(streams);
- return parser.resolveSchemaContext(modules);
+ public static SchemaContext distributedShardedDOMDataTreeSchemaContext() {
+ // we need prefix-shard-configuration and odl-datastore-test models
+ // for DistributedShardedDOMDataTree tests
+ return YangParserTestUtils.parseYangResources(SchemaContextHelper.class, ODL_DATASTORE_TEST_YANG,
+ "/META-INF/yang/prefix-shard-configuration@2017-01-10.yang");
+ }
+ public static SchemaContext entityOwners() {
+ return YangParserTestUtils.parseYangFiles(new File("src/main/yang/entity-owners.yang"));
}
}