Java Code Examples for org.opendaylight.yangtools.yang.model.api.Module#getAugmentations()

The following examples show how to use org.opendaylight.yangtools.yang.model.api.Module#getAugmentations() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ActionStatementTest.java    From yangtools with Eclipse Public License 1.0 6 votes vote down vote up
@Test
public void testActionStatementInDataContainers() throws Exception {
    final SchemaContext schemaContext = StmtTestUtils.parseYangSource("/rfc7950/action-stmt/foo.yang");
    assertNotNull(schemaContext);

    assertContainsActions(schemaContext, "root", "grp-action", "aug-action");
    assertContainsActions(schemaContext, "top-list", "top-list-action");
    assertContainsActions(schemaContext, "top", "top-action");

    final Collection<? extends GroupingDefinition> groupings = schemaContext.getGroupings();
    assertEquals(1, groupings.size());
    assertContainsActions(groupings.iterator().next(), "grp-action");

    final Collection<? extends Module> modules = schemaContext.getModules();
    assertEquals(1, modules.size());
    final Module foo = modules.iterator().next();
    final Collection<? extends AugmentationSchemaNode> augmentations = foo.getAugmentations();
    assertEquals(1, augmentations.size());
    assertContainsActions(augmentations.iterator().next(), "aug-action", "grp-action");
}
 
Example 2
Source File: Bug6897Test.java    From yangtools with Eclipse Public License 1.0 6 votes vote down vote up
@Test
public void notificationsInDataContainersTest() throws Exception {
    final SchemaContext schemaContext = StmtTestUtils
            .parseYangSource("/rfc7950/notifications-in-data-nodes/foo.yang");
    assertNotNull(schemaContext);

    assertContainsNotifications(schemaContext, "root", "grp-notification", "aug-notification");
    assertContainsNotifications(schemaContext, "top-list", "top-list-notification");
    assertContainsNotifications(schemaContext, "top", "top-notification");

    final Collection<? extends GroupingDefinition> groupings = schemaContext.getGroupings();
    assertEquals(1, groupings.size());
    assertContainsNotifications(groupings.iterator().next(), "grp-notification");

    final Collection<? extends Module> modules = schemaContext.getModules();
    assertEquals(1, modules.size());
    final Module foo = modules.iterator().next();
    final Collection<? extends AugmentationSchemaNode> augmentations = foo.getAugmentations();
    assertEquals(1, augmentations.size());
    assertContainsNotifications(augmentations.iterator().next(), "aug-notification", "grp-notification");
}
 
Example 3
Source File: DeclaredStatementsTest.java    From yangtools with Eclipse Public License 1.0 6 votes vote down vote up
@Test
public void testDeclaredAugment() throws ReactorException {
    final StatementStreamSource augmentStmtModule =
            sourceForResource("/declared-statements-test/augment-declared-test.yang");

    final SchemaContext schemaContext = StmtTestUtils.parseYangSources(augmentStmtModule);
    assertNotNull(schemaContext);

    final Module testModule = schemaContext.findModules("augment-declared-test").iterator().next();
    assertNotNull(testModule);

    final Collection<? extends AugmentationSchemaNode> augmentationSchemas = testModule.getAugmentations();
    assertNotNull(augmentationSchemas);
    assertEquals(1, augmentationSchemas.size());

    final AugmentationSchemaNode augmentationSchema = augmentationSchemas.iterator().next();
    final AugmentStatement augmentStatement = ((AugmentEffectiveStatement) augmentationSchema).getDeclared();

    final SchemaNodeIdentifier targetNode = augmentStatement.getTargetNode();
    assertNotNull(targetNode);

    final Collection<? extends DataDefinitionStatement> augmentStatementDataDefinitions =
            augmentStatement.getDataDefinitions();
    assertNotNull(augmentStatementDataDefinitions);
    assertEquals(1, augmentStatementDataDefinitions.size());
}
 
Example 4
Source File: YinFileAugmentStmtTest.java    From yangtools with Eclipse Public License 1.0 6 votes vote down vote up
@Test
public void testAugment() {
    final Module testModule = TestUtils.findModule(context, "main-impl").get();
    assertNotNull(testModule);

    final Collection<? extends AugmentationSchemaNode> augmentations = testModule.getAugmentations();
    assertEquals(1, augmentations.size());

    final Iterator<? extends AugmentationSchemaNode> augmentIterator = augmentations.iterator();
    final AugmentationSchemaNode augment = augmentIterator.next();
    assertNotNull(augment);
    assertThat(augment.getTargetPath().toString(), containsString(
        "(urn:opendaylight:params:xml:ns:yang:controller:config?revision=2013-04-05)modules, module, "
                + "configuration"));

    assertEquals(1, augment.getChildNodes().size());
    final DataSchemaNode caseNode = augment.findDataChildByName(
        QName.create(testModule.getQNameModule(), "main-impl")).get();
    assertThat(caseNode, isA(CaseSchemaNode.class));
}
 
Example 5
Source File: YinFileUsesStmtTest.java    From yangtools with Eclipse Public License 1.0 6 votes vote down vote up
@Test
public void testUses() {
    final Module testModule = TestUtils.findModule(context, "main-impl").get();

    final Collection<? extends AugmentationSchemaNode> augmentations = testModule.getAugmentations();
    assertEquals(1, augmentations.size());

    final Iterator<? extends AugmentationSchemaNode> augmentIterator = augmentations.iterator();
    final AugmentationSchemaNode augment = augmentIterator.next();

    final ContainerSchemaNode container = (ContainerSchemaNode) augment.findDataChildByName(
        QName.create(testModule.getQNameModule(), "main-impl"),
        QName.create(testModule.getQNameModule(), "notification-service")).get();

    assertEquals(1, container.getUses().size());
    final UsesNode usesNode = container.getUses().iterator().next();
    assertNotNull(usesNode);
    assertEquals("(urn:opendaylight:params:xml:ns:yang:controller:config?revision=2013-04-05)service-ref",
        usesNode.getSourceGrouping().getQName().toString());
    assertEquals(1, usesNode.getRefines().size());
}
 
Example 6
Source File: ControllerStmtParserTest.java    From yangtools with Eclipse Public License 1.0 5 votes vote down vote up
private static void salDomBrokerImplModuleTest(final SchemaContext context) {
    final Module module = context.findModule("opendaylight-sal-dom-broker-impl", Revision.of("2013-10-28")).get();

    boolean checked = false;
    for (final AugmentationSchemaNode augmentationSchema : module.getAugmentations()) {
        final DataSchemaNode dataNode = augmentationSchema
                .getDataChildByName(QName.create(module.getQNameModule(), "dom-broker-impl"));
        if (dataNode instanceof CaseSchemaNode) {
            final CaseSchemaNode caseNode = (CaseSchemaNode) dataNode;
            final DataSchemaNode dataNode2 = caseNode
                    .getDataChildByName(QName.create(module.getQNameModule(), "async-data-broker"));
            if (dataNode2 instanceof ContainerSchemaNode) {
                final ContainerSchemaNode containerNode = (ContainerSchemaNode) dataNode2;
                final DataSchemaNode leaf = containerNode
                        .getDataChildByName(QName.create(module.getQNameModule(), "type"));
                final Collection<? extends UnknownSchemaNode> unknownSchemaNodes = leaf.getUnknownSchemaNodes();
                assertEquals(1, unknownSchemaNodes.size());

                final UnknownSchemaNode unknownSchemaNode = unknownSchemaNodes.iterator().next();
                assertEquals("dom-async-data-broker", unknownSchemaNode.getQName().getLocalName());
                assertEquals(unknownSchemaNode.getQName(), unknownSchemaNode.getPath().getLastComponent());

                checked = true;
            }
        }
    }
    assertTrue(checked);
}
 
Example 7
Source File: EffectiveModuleTest.java    From yangtools with Eclipse Public License 1.0 4 votes vote down vote up
@Test
public void effectiveBuildTest() throws SourceException, ReactorException {
    SchemaContext result = RFC7950Reactors.defaultReactor().newBuild()
            .addSources(ROOT_MODULE, IMPORTED_MODULE, SUBMODULE)
            .buildEffective();

    assertNotNull(result);

    Module rootModule = result.findModules("root").iterator().next();
    assertNotNull(rootModule);

    assertEquals("root-pref", rootModule.getPrefix());
    assertEquals(YangVersion.VERSION_1, rootModule.getYangVersion());
    assertEquals(Optional.of("cisco"), rootModule.getOrganization());
    assertEquals(Optional.of("cisco email"), rootModule.getContact());

    final ContainerSchemaNode contSchemaNode = (ContainerSchemaNode) rootModule.getDataChildByName(CONT);
    assertNotNull(contSchemaNode);

    final Collection<? extends AugmentationSchemaNode> augmentations = rootModule.getAugmentations();
    assertEquals(1, augmentations.size());
    assertEquals(Absolute.of(CONT), augmentations.iterator().next().getTargetPath());

    final Collection<? extends ModuleImport> imports = rootModule.getImports();
    assertEquals(1, imports.size());
    final ModuleImport importStmt = imports.iterator().next();
    assertNotNull(importStmt);
    assertEquals("imported", importStmt.getModuleName());
    assertEquals(Optional.of(REVISION), importStmt.getRevision());
    assertEquals("imp-pref", importStmt.getPrefix());

    final Collection<? extends Module> submodules = rootModule.getSubmodules();
    assertEquals(1, submodules.size());
    assertEquals("submod", submodules.iterator().next().getName());

    final Collection<? extends NotificationDefinition> notifications = rootModule.getNotifications();
    assertEquals(1, notifications.size());
    assertEquals("notif1", notifications.iterator().next().getQName().getLocalName());

    final Collection<? extends RpcDefinition> rpcs = rootModule.getRpcs();
    assertEquals(1, rpcs.size());
    assertEquals("rpc1", rpcs.iterator().next().getQName().getLocalName());

    final Collection<? extends Deviation> deviations = rootModule.getDeviations();
    assertEquals(1, deviations.size());
    final Deviation deviationStmt = deviations.iterator().next();
    assertNotNull(deviationStmt);
    final QNameModule importedModuleQName = QNameModule.create(URI.create("imported"), REVISION);
    final QName importedContQName = QName.create(importedModuleQName, "cont");
    assertEquals(Absolute.of(importedContQName), deviationStmt.getTargetPath());
    assertEquals(DeviateKind.ADD, deviationStmt.getDeviates().iterator().next().getDeviateType());
    assertEquals(Optional.of("deviate reference"), deviationStmt.getReference());

    final Collection<? extends IdentitySchemaNode> identities = rootModule.getIdentities();
    assertEquals(1, identities.size());
    assertEquals("identity1", identities.iterator().next().getQName().getLocalName());

    final Collection<? extends FeatureDefinition> features = rootModule.getFeatures();
    assertEquals(1, features.size());
    final FeatureDefinition featureStmt = features.iterator().next();
    assertNotNull(featureStmt);
    assertEquals(FEATURE1, featureStmt.getQName());
    assertEquals(FEATURE1_SCHEMA_PATH, featureStmt.getPath());
    assertEquals(Optional.of("feature1 description"), featureStmt.getDescription());
    assertEquals(Optional.of("feature1 reference"), featureStmt.getReference());
    assertEquals(Status.CURRENT, featureStmt.getStatus());

    final Collection<? extends ExtensionDefinition> extensionSchemaNodes = rootModule.getExtensionSchemaNodes();
    assertEquals(1, extensionSchemaNodes.size());
    assertEquals("ext1", extensionSchemaNodes.iterator().next().getQName().getLocalName());
}