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.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;
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<? extends DataSchemaNode> 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<QName> supportedFeatures)
throws ReactorException, URISyntaxException, IOException, YangSyntaxErrorException {
return parseYangSource(yangSourcePath, YangParserConfiguration.DEFAULT, supportedFeatures);
public static EffectiveModelContext parseYangSource(final String yangSourcePath,
final YangParserConfiguration config, final Set<QName> 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)
final Collection<YangStatementStreamSource> 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<File> files,
final YangParserConfiguration config) throws ReactorException, IOException, YangSyntaxErrorException {
- return parseYangSources(config, null, files.toArray(new File[files.size()]));
+ return parseYangSources(config, null, files.toArray(new File[0]));
}
public static EffectiveModelContext parseYangSources(final String yangSourcesDirectoryPath)