Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Implementation Issues in a Context of CPS

The abilities of CPS regarding YANG model and associated data parsing is heavily dependent on
features provided by ODL YangTools library.

In current implementation following yangtools components are involved:

  • YANG Parser (Reactor) - builds a SchemaContext object, which holds a static model definitions
  • Data Parser (JSON) - converts incoming data into structured tree object using SchemaContext instance as a dictionary

Yang Parser

YANG parser already supports the mount-point definition. Minimal changes are required on CPS side in order to support
mount-point to accept it as a valid statement:

Code Block
languagejava
titleYangTextSchemaSourceSetBuilder
import org.opendaylight.yangtools.rfc8528.parser.MountPointStatementSupport;// ...
 private static SchemaContext generateSchemaContext(final Map<String, String> yangResourceNameToContent) {
        final CrossSourceStatementReactor.BuildAction reactor = RFC7950Reactors.vanillaReactorBuilder()
            .addStatementSupport(ModelProcessingPhase.FULL_DECLARATION, MountPointStatementSupport.getInstance())
            .build().newBuild();
//...
        return reactor.buildEffective();
//...
}


Taken from MountPointTest @ git.opendaylight.org




  • Separating model configuration update data from actual data