Где найти примеры для разбора файлов YANG с помощью opendaylight

Я добавил следующую зависимость в свой pom.xml

<dependencies>
        <dependency>
            <groupId>org.opendaylight.yangtools</groupId>
            <artifactId>yang-parser-impl</artifactId>
            <version>2.1.8</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.opendaylight.yangtools</groupId>
            <artifactId>yang-parser-api</artifactId>
            <version>2.1.8</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.opendaylight.yangtools</groupId>
            <artifactId>yang-model-api</artifactId>
            <version>2.1.8</version>
            <type>jar</type>
        </dependency>
    </dependencies>

Затем я попытался найти документацию о том, как анализировать файлы .yang/.yi для построения схемы.

Я нашел следующий пример здесь:

https://docs.opendaylight.org/en/stable-boron/developer-guide/yang-tools.html

StatementStreamSource yangModuleSource == new YangStatementSourceImpl("/example.yang", false);
StatementStreamSource yangModuleSource2 == new YangStatementSourceImpl("/example2.yang", false);

CrossSourceStatementReactor.BuildAction reactor == YangInferencePipeline.RFC6020_REACTOR.newBuild();
reactor.addSources(yangModuleSource, yangModuleSource2);

SchemaContext schemaContext == reactor.buildEffective();

Однако я не могу найти класс YangStatementSourceImpl или YinStatementSourceImpl в этих банках.

Итак, мой вопрос:

  1. Где я могу найти эти классы, YangStatementSourceImpl или YinStatementSourceImpl?
  2. Как версии opendaylight, такие как барон, кислород... соответствуют модулю maven здесь: https://mvnrepository.com/artifact/org.opendaylight.yangtools ?

br,

//Майк


person mikael petterson    schedule 07.03.2019    source источник


Ответы (1)


  1. Эти классы устарели; их замены YangStatementStreamSource и YinStatementStreamSource. Чтобы инициализировать первый поток в примере, вы должны теперь написать

    YangTextSchemaSource yangTextSchemaSource = YangTextSchemaSource.forFile(new File("/example.yang"));
    StatementStreamSource yangModuleSource = YangStatementStreamSource.create(yangTextSchemaSource);
    
  2. Артефакты YANG Tools публиковались в Maven Central только после Fluorine; вы найдете соответствующие версии в платформы таблица версий. Версия 2.1.8, которую вы сейчас используете, предназначена для Neon, который в настоящее время выпускается.

person Stephen Kitt    schedule 08.03.2019
comment
Спасибо! Где теперь я могу найти примеры кода? Аналогично этому: docs.opendaylight.org/en/ stable-fluorine/developer-guide/ под заголовком Работа с моделью YANG - person mikael petterson; 08.03.2019