X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fyang%2FYangTextSchemaSourceSetBuilder.java;h=0235b004f4455cadc54a192a36d5642bb9a8a7a0;hb=efc557762eac3b75c770159a9ceb9d967d5f7a3c;hp=ca907148dd3c5f86052cd6c3bee4c027c714f43f;hpb=e3cdc8a0591553da6d022337fa69c8dd507510f6;p=cps.git diff --git a/cps-service/src/main/java/org/onap/cps/yang/YangTextSchemaSourceSetBuilder.java b/cps-service/src/main/java/org/onap/cps/yang/YangTextSchemaSourceSetBuilder.java index ca907148d..0235b004f 100644 --- a/cps-service/src/main/java/org/onap/cps/yang/YangTextSchemaSourceSetBuilder.java +++ b/cps-service/src/main/java/org/onap/cps/yang/YangTextSchemaSourceSetBuilder.java @@ -43,10 +43,11 @@ import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource; -import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.RFC7950Reactors; -import org.opendaylight.yangtools.yang.parser.rfc7950.repo.YangStatementStreamSource; -import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; -import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor; +import org.opendaylight.yangtools.yang.parser.api.YangParser; +import org.opendaylight.yangtools.yang.parser.api.YangParserException; +import org.opendaylight.yangtools.yang.parser.api.YangParserFactory; +import org.opendaylight.yangtools.yang.parser.impl.DefaultYangParserFactory; +import org.opendaylight.yangtools.yang.xpath.impl.di.DefaultXPathParserFactory; @NoArgsConstructor public final class YangTextSchemaSourceSetBuilder { @@ -56,6 +57,9 @@ public final class YangTextSchemaSourceSetBuilder { private final ImmutableMap.Builder yangModelMap = new ImmutableMap.Builder<>(); + private static final YangParserFactory YANG_PARSER_FACTORY = + new DefaultYangParserFactory(new DefaultXPathParserFactory()); + /** * Add Yang resource context. * @@ -136,11 +140,11 @@ public final class YangTextSchemaSourceSetBuilder { * @return the schema context */ private static SchemaContext generateSchemaContext(final Map yangResourceNameToContent) { - final CrossSourceStatementReactor.BuildAction reactor = RFC7950Reactors.defaultReactor().newBuild(); + final YangParser yangParser = YANG_PARSER_FACTORY.createParser(); for (final YangTextSchemaSource yangTextSchemaSource : forResources(yangResourceNameToContent)) { final String resourceName = yangTextSchemaSource.getIdentifier().getName(); try { - reactor.addSource(YangStatementStreamSource.create(yangTextSchemaSource)); + yangParser.addSource(yangTextSchemaSource); } catch (final Exception exception) { throw new ModelValidationException("Yang resource processing exception.", String.format("Could not process resource %s:%n%s", resourceName, exception.getMessage()), @@ -148,13 +152,13 @@ public final class YangTextSchemaSourceSetBuilder { } } try { - return reactor.buildEffective(); - } catch (final ReactorException reactorException) { + return yangParser.buildEffectiveModel(); + } catch (final YangParserException yangParserException) { final List resourceNames = yangResourceNameToContent.keySet().stream().collect(Collectors.toList()); Collections.sort(resourceNames); throw new ModelValidationException("Invalid schema set.", String.format("Effective schema context build failed for resources %s.", resourceNames), - reactorException); + yangParserException); } }