X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fcluster%2Fdatastore%2Fmodel%2FSchemaContextHelper.java;h=85e989381556d7cf7ef1cc7d3b0ade49aa8300ce;hb=refs%2Fchanges%2F93%2F26793%2F1;hp=33957388463fd6225feb57ce1135364ee90d2551;hpb=fe4049d34de103016d11f3a9050853c6380646d3;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/SchemaContextHelper.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/SchemaContextHelper.java index 3395738846..85e9893815 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/SchemaContextHelper.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/SchemaContextHelper.java @@ -8,30 +8,52 @@ package org.opendaylight.controller.md.cluster.datastore.model; -import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl; - +import com.google.common.io.Resources; +import java.io.File; +import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Set; +import org.opendaylight.yangtools.yang.model.api.Module; +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; public 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 static InputStream getInputStream(final String yangFileName) { return TestModel.class.getResourceAsStream(yangFileName); } public static SchemaContext full(){ + return select(ODL_DATASTORE_TEST_YANG, PEOPLE_YANG, CARS_YANG); + } + + public static SchemaContext select(String... schemaFiles){ YangParserImpl parser = new YangParserImpl(); List streams = new ArrayList<>(); - streams.add(getInputStream("/odl-datastore-test.yang")); - streams.add(getInputStream("/people.yang")); - streams.add(getInputStream("/cars.yang")); + + for(String schemaFile : schemaFiles){ + streams.add(getInputStream(schemaFile)); + } Set modules = parser.parseYangModelsFromStreams(streams); return parser.resolveSchemaContext(modules); + } + public static SchemaContext entityOwners() { + YangParserImpl parser = new YangParserImpl(); + try { + File file = new File("src/main/yang/entity-owners.yang"); + return parser.parseSources(Arrays.asList(Resources.asByteSource(file.toURI().toURL()))); + } catch (IOException | YangSyntaxErrorException e) { + throw new ExceptionInInitializerError(e); + } } }