X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=parser%2Fyang-parser-rfc7950%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fstmt%2FStmtTestUtils.java;h=3a591ce650c905d2ad59182fd4cc1d2412068e92;hb=b139e2294d2fb67a1d93d5ed52bfd4f6d182c0b2;hp=6b0d4d3b30c2a6c1c8b83292f2b1f07836aaaaeb;hpb=45a4c4183b924cd36adf31210eef11be756ba4ba;p=yangtools.git diff --git a/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/StmtTestUtils.java b/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/StmtTestUtils.java index 6b0d4d3b30..3a591ce650 100644 --- a/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/StmtTestUtils.java +++ b/parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/StmtTestUtils.java @@ -13,21 +13,17 @@ import java.io.FileFilter; import java.io.IOException; import java.net.URISyntaxException; import java.net.URL; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.List; import java.util.Set; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.YangConstants; -import org.opendaylight.yangtools.yang.model.api.DataNodeContainer; -import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.ModuleImport; -import org.opendaylight.yangtools.yang.model.api.ModuleLike; import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import org.opendaylight.yangtools.yang.model.api.Submodule; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource; import org.opendaylight.yangtools.yang.model.repo.api.YinTextSchemaSource; @@ -68,48 +64,15 @@ public final class StmtTestUtils { } } - public static List findModules(final Collection modules, final String moduleName) { - final List result = new ArrayList<>(); - for (final Module module : modules) { - if (module.getName().equals(moduleName)) { - result.add(module); - } - } - return result; - } - public static YangStatementStreamSource sourceForResource(final String resourceName) { try { - return YangStatementStreamSource.create(YangTextSchemaSource.forFile(new File( + return YangStatementStreamSource.create(YangTextSchemaSource.forPath(Path.of( StmtTestUtils.class.getResource(resourceName).toURI()))); } catch (IOException | YangSyntaxErrorException | URISyntaxException e) { throw new IllegalArgumentException("Failed to create source", e); } } - public static void printReferences(final ModuleLike module, final boolean isSubmodule, final String indent) { - LOG.debug("{}{} {}", indent, isSubmodule ? "Submodule" : "Module", module.getName()); - for (final Submodule submodule : module.getSubmodules()) { - printReferences(submodule, true, indent + " "); - printChilds(submodule.getChildNodes(), indent + " "); - } - } - - public static void printChilds(final Collection childNodes, final String indent) { - - for (final DataSchemaNode child : childNodes) { - LOG.debug("{}{} {}", indent, "Child", child.getQName().getLocalName()); - if (child instanceof DataNodeContainer) { - printChilds(((DataNodeContainer) child).getChildNodes(), indent + " "); - } - } - } - - public static EffectiveModelContext parseYangSource(final String yangSourcePath) throws ReactorException, - URISyntaxException, IOException, YangSyntaxErrorException { - return parseYangSource(yangSourcePath, YangParserConfiguration.DEFAULT, null); - } - public static EffectiveModelContext parseYangSource(final String yangSourcePath, final Set supportedFeatures) throws ReactorException, URISyntaxException, IOException, YangSyntaxErrorException { return parseYangSource(yangSourcePath, YangParserConfiguration.DEFAULT, supportedFeatures); @@ -118,9 +81,8 @@ public final class StmtTestUtils { public static EffectiveModelContext parseYangSource(final String yangSourcePath, final YangParserConfiguration config, final Set supportedFeatures) throws ReactorException, URISyntaxException, IOException, YangSyntaxErrorException { - final URL source = StmtTestUtils.class.getResource(yangSourcePath); - final File sourceFile = new File(source.toURI()); - return parseYangSources(config, supportedFeatures, sourceFile); + return parseYangSources(config, supportedFeatures, + new File(StmtTestUtils.class.getResource(yangSourcePath).toURI())); } public static EffectiveModelContext parseYangSources(final StatementStreamSource... sources) @@ -154,22 +116,12 @@ public final class StmtTestUtils { final Collection sources = new ArrayList<>(files.length); for (File file : files) { - sources.add(YangStatementStreamSource.create(YangTextSchemaSource.forFile(file))); + sources.add(YangStatementStreamSource.create(YangTextSchemaSource.forPath(file.toPath()))); } return parseYangSources(config, supportedFeatures, sources); } - public static EffectiveModelContext parseYangSources(final Collection files) throws ReactorException, - IOException, YangSyntaxErrorException { - return parseYangSources(files, YangParserConfiguration.DEFAULT); - } - - public static EffectiveModelContext parseYangSources(final Collection files, - final YangParserConfiguration config) throws ReactorException, IOException, YangSyntaxErrorException { - return parseYangSources(config, null, files.toArray(new File[files.size()])); - } - public static EffectiveModelContext parseYangSources(final String yangSourcesDirectoryPath) throws ReactorException, URISyntaxException, IOException, YangSyntaxErrorException { return parseYangSources(yangSourcesDirectoryPath, YangParserConfiguration.DEFAULT); @@ -191,49 +143,6 @@ public final class StmtTestUtils { return parseYangSources(config, supportedFeatures, testSourcesDir.listFiles(YANG_FILE_FILTER)); } - public static EffectiveModelContext parseYangSources(final String yangFilesDirectoryPath, - final String yangLibsDirectoryPath) - throws URISyntaxException, ReactorException, IOException, YangSyntaxErrorException { - return parseYangSources(yangFilesDirectoryPath, yangLibsDirectoryPath, null); - } - - public static EffectiveModelContext parseYangSources(final String yangFilesDirectoryPath, - final String yangLibsDirectoryPath, final Set supportedFeatures) throws URISyntaxException, - ReactorException, IOException, YangSyntaxErrorException { - final File yangsDir = new File(StmtTestUtils.class.getResource(yangFilesDirectoryPath).toURI()); - final File libsDir = new File(StmtTestUtils.class.getResource(yangLibsDirectoryPath).toURI()); - - return parseYangSources(yangsDir.listFiles(YANG_FILE_FILTER), libsDir.listFiles(YANG_FILE_FILTER), - supportedFeatures); - } - - private static EffectiveModelContext parseYangSources(final File[] yangFiles, final File[] libFiles, - final Set supportedFeatures) throws ReactorException, IOException, YangSyntaxErrorException { - final StatementStreamSource[] yangSources = new StatementStreamSource[yangFiles.length]; - for (int i = 0; i < yangFiles.length; i++) { - yangSources[i] = YangStatementStreamSource.create(YangTextSchemaSource.forFile(yangFiles[i])); - } - - final StatementStreamSource[] libSources = new StatementStreamSource[libFiles.length]; - for (int i = 0; i < libFiles.length; i++) { - libSources[i] = YangStatementStreamSource.create(YangTextSchemaSource.forFile(libFiles[i])); - } - - return parseYangSources(yangSources, libSources, supportedFeatures); - } - - private static EffectiveModelContext parseYangSources(final StatementStreamSource[] yangSources, - final StatementStreamSource[] libSources, final Set supportedFeatures) throws ReactorException { - - final BuildAction reactor = RFC7950Reactors.defaultReactor().newBuild() - .addSources(yangSources).addLibSources(libSources); - if (supportedFeatures != null) { - reactor.setSupportedFeatures(supportedFeatures); - } - - return reactor.buildEffective(); - } - public static EffectiveModelContext parseYinSources(final String yinSourcesDirectoryPath) throws URISyntaxException, SAXException, IOException, ReactorException { return parseYinSources(yinSourcesDirectoryPath, YangParserConfiguration.DEFAULT);