X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fyang-model-parser-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fparser%2Fimpl%2FTestUtils.java;h=fed8cde9655c8dc2232cd068501b523ae69777fa;hp=3d9df349e4ec5a390518b67fdaadb5640b51dd86;hb=f0b551cfbf794966124da7475935c27c3e7311c0;hpb=24d031d133362f3b42eb2bc04173ad0199d39a51 diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TestUtils.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TestUtils.java index 3d9df349e4..fed8cde965 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TestUtils.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TestUtils.java @@ -18,12 +18,14 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Date; +import java.util.HashSet; import java.util.List; import java.util.Set; import org.opendaylight.controller.yang.common.QName; import org.opendaylight.controller.yang.model.api.Module; import org.opendaylight.controller.yang.model.api.ModuleImport; +import org.opendaylight.controller.yang.model.api.SchemaContext; import org.opendaylight.controller.yang.model.api.SchemaPath; import org.opendaylight.controller.yang.model.api.TypeDefinition; import org.opendaylight.controller.yang.model.parser.api.YangModelParser; @@ -48,28 +50,45 @@ final class TestUtils { return parser.parseYangModels(testFiles); } - public static Set loadModules(String... pathToYangFile) throws IOException { - YangModelParser parser = new YangParserImpl(); - List input = new ArrayList(); - for(String path : pathToYangFile) { - input.add(TestUtils.class.getResourceAsStream(path)); - } - Set modules = parser.parseYangModelsFromStreams(input); + public static Set loadModules(List input) throws IOException { + final YangModelParser parser = new YangParserImpl(); + final Set modules = new HashSet( + parser.parseYangModelsFromStreams(input)); for(InputStream stream : input) { stream.close(); } return modules; } - public static Module loadModule(String pathToYangFile) throws IOException { - YangModelParser parser = new YangParserImpl(); - InputStream stream = TestUtils.class.getResourceAsStream(pathToYangFile); - List input = Collections.singletonList(stream); - Set modules = parser.parseYangModelsFromStreams(input); + public static Module loadModule(final InputStream stream) throws + IOException { + final YangModelParser parser = new YangParserImpl(); + final List input = Collections.singletonList(stream); + final Set modules = new HashSet( + parser.parseYangModelsFromStreams(input)); + stream.close(); + return modules.iterator().next(); + } + + public static Module loadModuleWithContext(final InputStream stream, final SchemaContext context) throws IOException { + final YangModelParser parser = new YangParserImpl(); + final List input = Collections.singletonList(stream); + final Set modules = new HashSet(parser.parseYangModelsFromStreams(input, context)); stream.close(); return modules.iterator().next(); } + public static Set loadModulesWithContext(final List input, final SchemaContext context) throws IOException { + final YangModelParser parser = new YangParserImpl(); + final Set modules = new HashSet(parser.parseYangModelsFromStreams(input, context)); + for(InputStream is : input) { + if(is != null) { + is.close(); + } + } + return modules; + } + public static Module findModule(Set modules, String moduleName) { Module result = null; for (Module module : modules) {