import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
+import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResource;
+
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Collection;
import org.opendaylight.yangtools.yang.model.api.Module;
import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
+import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangStatementSourceImpl;
import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveSchemaContext;
public class EffectiveModulesAndSubmodulesTest {
- private static final YangStatementSourceImpl ROOT_MODULE = new YangStatementSourceImpl(
- "/stmt-test/submodules/root-module.yang",false);
- private static final YangStatementSourceImpl IMPORTED_MODULE = new YangStatementSourceImpl(
- "/stmt-test/submodules/imported-module.yang",false);
- private static final YangStatementSourceImpl SUBMODULE_1 = new YangStatementSourceImpl(
- "/stmt-test/submodules/submodule-1.yang",false);
- private static final YangStatementSourceImpl SUBMODULE_2 = new YangStatementSourceImpl(
- "/stmt-test/submodules/submodule-2.yang",false);
- private static final YangStatementSourceImpl SUBMODULE_TO_SUBMODULE_1 = new YangStatementSourceImpl(
- "/stmt-test/submodules/submodule-to-submodule-1.yang",false);
+ private static final StatementStreamSource ROOT_MODULE = sourceForResource(
+ "/stmt-test/submodules/root-module.yang");
+ private static final StatementStreamSource IMPORTED_MODULE = sourceForResource(
+ "/stmt-test/submodules/imported-module.yang");
+ private static final StatementStreamSource SUBMODULE_1 = sourceForResource(
+ "/stmt-test/submodules/submodule-1.yang");
+ private static final StatementStreamSource SUBMODULE_2 = sourceForResource(
+ "/stmt-test/submodules/submodule-2.yang");
+ private static final StatementStreamSource SUBMODULE_TO_SUBMODULE_1 = sourceForResource(
+ "/stmt-test/submodules/submodule-to-submodule-1.yang");
@Test
public void modulesAndSubmodulesSimpleReferencesTest()
throws SourceException, ReactorException, URISyntaxException {
- CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR
+ final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR
.newBuild();
- StmtTestUtils.addSources(reactor, ROOT_MODULE, IMPORTED_MODULE,
+ reactor.addSources(ROOT_MODULE, IMPORTED_MODULE,
SUBMODULE_1, SUBMODULE_2, SUBMODULE_TO_SUBMODULE_1);
- EffectiveSchemaContext result = reactor.buildEffective();
+ final EffectiveSchemaContext result = reactor.buildEffective();
assertNotNull(result);
- Set<Module> modules = result.getModules();
+ final Set<Module> modules = result.getModules();
assertNotNull(modules);
assertEquals(2, modules.size());
Module root = null;
Module imported = null;
- for (Module module : modules) {
+ for (final Module module : modules) {
switch (module.getName()) {
case "root-module":
root = module;
assertNotNull(root);
assertNotNull(imported);
- Collection<DataSchemaNode> rootChildNodes = root.getChildNodes();
- Collection<DataSchemaNode> importedChildNodes = imported
+ final Collection<DataSchemaNode> rootChildNodes = root.getChildNodes();
+ final Collection<DataSchemaNode> importedChildNodes = imported
.getChildNodes();
assertNotNull(rootChildNodes);
assertEquals(3, rootChildNodes.size());
assertEquals(1, importedChildNodes.size());
- Set<Module> rootSubmodules = root.getSubmodules();
- Set<Module> importedSubmodules = imported.getSubmodules();
+ final Set<Module> rootSubmodules = root.getSubmodules();
+ final Set<Module> importedSubmodules = imported.getSubmodules();
assertNotNull(rootSubmodules);
assertNotNull(importedSubmodules);
Module sub1 = null;
Module sub2 = null;
- for (Module rootSubmodule : rootSubmodules) {
+ for (final Module rootSubmodule : rootSubmodules) {
switch (rootSubmodule.getName()) {
case "submodule-1":
sub1 = rootSubmodule;
assertEquals(QNameModule.create(new URI("root-module"),
SimpleDateFormatUtil.DEFAULT_DATE_REV), sub2.getQNameModule());
- Collection<DataSchemaNode> sub1ChildNodes = sub1.getChildNodes();
- Collection<DataSchemaNode> sub2ChildNodes = sub2.getChildNodes();
+ final Collection<DataSchemaNode> sub1ChildNodes = sub1.getChildNodes();
+ final Collection<DataSchemaNode> sub2ChildNodes = sub2.getChildNodes();
assertNotNull(sub1ChildNodes);
assertNotNull(sub2ChildNodes);
- assertEquals(2, sub1ChildNodes.size());
+ assertEquals(1, sub1ChildNodes.size());
assertEquals(1, sub2ChildNodes.size());
- Set<Module> sub1Submodules = sub1.getSubmodules();
- Set<Module> sub2Submodules = sub2.getSubmodules();
+ final Set<Module> sub1Submodules = sub1.getSubmodules();
+ final Set<Module> sub2Submodules = sub2.getSubmodules();
assertNotNull(sub1Submodules);
assertNotNull(sub2Submodules);
assertEquals(0, sub2Submodules.size());
Module sub1Submodule = null;
- for (Module submodule : sub1Submodules) {
+ for (final Module submodule : sub1Submodules) {
switch (submodule.getName()) {
case "submodule-to-submodule-1":
sub1Submodule = submodule;
SimpleDateFormatUtil.DEFAULT_DATE_REV),
sub1Submodule.getQNameModule());
- Collection<DataSchemaNode> sub1SubmoduleChildNodes = sub1Submodule
+ final Collection<DataSchemaNode> sub1SubmoduleChildNodes = sub1Submodule
.getChildNodes();
assertNotNull(sub1SubmoduleChildNodes);
assertEquals(1, sub1SubmoduleChildNodes.size());
- Set<Module> sub1SubmoduleSubmodules = sub1Submodule.getSubmodules();
+ final Set<Module> sub1SubmoduleSubmodules = sub1Submodule.getSubmodules();
assertNotNull(sub1SubmoduleSubmodules);
assertEquals(0, sub1SubmoduleSubmodules.size());
private static void getDataChildByNameSubTest(final EffectiveSchemaContext result,
final Module root) {
- DataSchemaNode containerInRoot = result.getDataChildByName(QName
+ final DataSchemaNode containerInRoot = result.getDataChildByName(QName
.create(root.getQNameModule(), "container-in-root-module"));
assertNotNull(containerInRoot);
assertEquals("desc", containerInRoot.getDescription());
private static void findModulesSubTest(final EffectiveSchemaContext result, final Module root,
final Module imported) throws URISyntaxException {
- Module foundRoot = result.findModuleByName("root-module",
+ final Module foundRoot = result.findModuleByName("root-module",
SimpleDateFormatUtil.DEFAULT_DATE_REV);
- Set<Module> foundRoots = result.findModuleByNamespace(new URI(
+ final Set<Module> foundRoots = result.findModuleByNamespace(new URI(
"root-module"));
- Module foundRoot3 = result.findModuleByNamespaceAndRevision(new URI(
+ final Module foundRoot3 = result.findModuleByNamespaceAndRevision(new URI(
"root-module"), SimpleDateFormatUtil.DEFAULT_DATE_REV);
assertNotNull(foundRoot);
assertNotNull(foundRoots);
assertEquals(1, foundRoots.size());
- Module foundRoot2 = foundRoots.iterator().next();
+ final Module foundRoot2 = foundRoots.iterator().next();
assertNotNull(foundRoot2);
assertNotNull(foundRoot3);
assertEquals(root, foundRoot2);
assertEquals(root, foundRoot3);
- Module foundImported = result.findModuleByName("imported-module",
+ final Module foundImported = result.findModuleByName("imported-module",
SimpleDateFormatUtil.DEFAULT_DATE_REV);
- Set<Module> foundImporteds = result.findModuleByNamespace(new URI(
+ final Set<Module> foundImporteds = result.findModuleByNamespace(new URI(
"imported-module"));
- Module foundImported3 = result.findModuleByNamespaceAndRevision(
+ final Module foundImported3 = result.findModuleByNamespaceAndRevision(
new URI("imported-module"),
SimpleDateFormatUtil.DEFAULT_DATE_REV);
assertNotNull(foundImported);
assertNotNull(foundImporteds);
assertEquals(1, foundImporteds.size());
- Module foundImported2 = foundImporteds.iterator().next();
+ final Module foundImported2 = foundImporteds.iterator().next();
assertNotNull(foundImported2);
assertNotNull(foundImported3);