YANGTOOLS-706: Refactor YangInferencePipeline 31/65331/11
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 8 Nov 2017 17:27:40 +0000 (18:27 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 9 Nov 2017 09:36:44 +0000 (10:36 +0100)
YangInferencePipeline needs to be more modular to allow splitting
the parser up without sacrificing individual component's ability
to test.

Create yang.parser.impl.DefaultReactors to hold utilities needed
to access a combined RFC6020/RFC7950/RFC8040 reactor and migrate
users.

Change-Id: I32dac393765fa3f13cb6e181b45fb056897950e4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
50 files changed:
yang/yang-model-validator/src/main/java/org/opendaylight/yangtools/yang/validator/SystemTestUtils.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultReactors.java [new file with mode: 0644]
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/package-info.java [new file with mode: 0644]
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaContextFactory.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YangInferencePipeline.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ConstraintDefinitionsTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6874Test.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/AugmentArgumentParsingTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/AugmentProcessTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/AugmentSimplestTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6150Test.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7480Test.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug8307Test.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/ChoiceStmtTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/DeviationStmtTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveBuildTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveIdentityTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveModuleTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveModulesAndSubmodulesTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveSchemaContextTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveStatementTypeTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveUsesRefineAndConstraintsTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/ExtensionStmtTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/GroupingAndUsesStmtTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IdentityStmtTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IfFeatureResolutionTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/ImportResolutionBasicTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/ImportRevisionsTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IncludeResolutionTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IncludeRevisionsTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IncludedStmtsTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/KeyTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/ListKeysTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/ListTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/MoreRevisionsTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/MustAndWhenStmtTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/NotificationStmtTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/RpcStmtTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/StmtTestUtils.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/TestUtils.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/TypedefSubStmtsTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/TypesResolutionTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangDataExtensionTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangFileStmtTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserWithContextTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangTypes2StmtTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangTypesStmtTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/yin/YinFileStmtTest.java
yang/yang-test-util/src/main/java/org/opendaylight/yangtools/yang/test/util/YangParserTestUtils.java

index d1da05ae437f29820d06e3e3bc0dea0349dc040d..70fd261c850bba181aac0247dcba362ccec4f1a3 100644 (file)
@@ -28,11 +28,11 @@ import org.opendaylight.yangtools.yang.common.YangConstants;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.parser.api.YangSyntaxErrorException;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YangStatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 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.reactor.CrossSourceStatementReactor.BuildAction;
 
 final class SystemTestUtils {
 
@@ -87,9 +87,8 @@ final class SystemTestUtils {
             final List<StatementStreamSource> libSources, final Set<QName> supportedFeatures) throws ReactorException {
         Preconditions.checkArgument(testSources != null && !testSources.isEmpty(), "No yang sources");
 
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addLibSources(libSources);
-        reactor.addSources(testSources);
+        final BuildAction reactor = DefaultReactors.defaultReactor().newBuild()
+                .addLibSources(libSources).addSources(testSources);
 
         if (supportedFeatures != null) {
             reactor.setSupportedFeatures(supportedFeatures);
diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultReactors.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultReactors.java
new file mode 100644 (file)
index 0000000..086ce9c
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017 Pantheon Technologies, s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.yangtools.yang.parser.impl;
+
+import com.google.common.annotations.Beta;
+import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
+import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor.Builder;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
+
+/**
+ * Utility class for instantiating default-configured {@link CrossSourceStatementReactor}s.
+ *
+ * @author Robert Varga
+ */
+@Beta
+public final class DefaultReactors {
+    private static final CrossSourceStatementReactor DEFAULT_REACTOR = createDefaultReactorBuilder().build();
+
+    private DefaultReactors() {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
+     * Get a shared default-configured reactor instance. This instance is configured to handle both RFC6020 and RFC7950,
+     * as well as RFC8040's yang-data extension.
+     *
+     * @return a shared default-configured reactor instance.
+     */
+    public static CrossSourceStatementReactor defaultReactor() {
+        return DEFAULT_REACTOR;
+    }
+
+    /**
+     * Return a baseline CrossSourceStatementReactor {@link Builder}. The builder is initialized to the equivalent
+     * of the reactor returned via {@link #defaultReactor()}, but can be further customized before use.
+     *
+     * @return A populated CrossSourceStatementReactor builder.
+     */
+    public static Builder createDefaultReactorBuilder() {
+        // FIXME: customize with extensions
+        return YangInferencePipeline.newReactorBuilder();
+    }
+}
diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/package-info.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/package-info.java
new file mode 100644 (file)
index 0000000..7e4a928
--- /dev/null
@@ -0,0 +1,12 @@
+/*
+ * Copyright (c) 2017 Pantheon Technologies, s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+/**
+ * This package holds the 'parser implementation', which really is just glue code holding together the statement
+ * reactor, base RFC6020/RFC7950 support bundles and supported semantic extensions.
+ */
+package org.opendaylight.yangtools.yang.parser.impl;
\ No newline at end of file
index e31305a79341a8be353d45c11ccb4014da517bbc..8c1b3244977b14b0e38c1909fc7e25360e9750fa 100644 (file)
@@ -31,8 +31,6 @@ import java.util.Set;
 import javax.annotation.Nonnull;
 import org.antlr.v4.runtime.ParserRuleContext;
 import org.opendaylight.yangtools.antlrv4.code.gen.YangStatementParser.StatementContext;
-import org.opendaylight.yangtools.util.concurrent.ExceptionMapper;
-import org.opendaylight.yangtools.util.concurrent.ReflectiveExceptionMapper;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.repo.api.SchemaContextFactory;
@@ -40,18 +38,16 @@ import org.opendaylight.yangtools.yang.model.repo.api.SchemaResolutionException;
 import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceFilter;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.StatementParserMode;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.impl.util.YangModelDependencyInfo;
 import org.opendaylight.yangtools.yang.parser.rfc6020.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.stmt.rfc6020.YangInferencePipeline;
+import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor.BuildAction;
 import org.opendaylight.yangtools.yang.parser.util.ASTSchemaSource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 final class SharedSchemaContextFactory implements SchemaContextFactory {
-    private static final ExceptionMapper<SchemaResolutionException> MAPPER = ReflectiveExceptionMapper
-            .create("resolve sources", SchemaResolutionException.class);
     private static final Logger LOG = LoggerFactory.getLogger(SharedSchemaContextFactory.class);
 
     private final Cache<Collection<SourceIdentifier>, SchemaContext> cache = CacheBuilder.newBuilder().weakValues()
@@ -211,8 +207,7 @@ final class SharedSchemaContextFactory implements SchemaContextFactory {
                         res.getResolvedSources(), res.getUnsatisfiedImports());
             }
 
-            final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(
-                statementParserMode);
+            final BuildAction reactor = DefaultReactors.defaultReactor().newBuild(statementParserMode);
             if (supportedFeatures.isPresent()) {
                 reactor.setSupportedFeatures(supportedFeatures.get());
             }
index a45090486beac98f856bd2dc4a0bee5201389720..5a9cec9e57386ca35a024cb8a3e3164fc7a04425 100644 (file)
@@ -62,6 +62,7 @@ import org.opendaylight.yangtools.yang.parser.stmt.anyxmlschema.AnyxmlSchemaLoca
 import org.opendaylight.yangtools.yang.parser.stmt.anyxmlschema.AnyxmlSchemaLocationSupport;
 import org.opendaylight.yangtools.yang.parser.stmt.openconfig.OpenconfigVersionSupport;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
+import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor.Builder;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc7950.ActionStatementImpl;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc7950.AnydataStatementImpl;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc7950.AugmentStatementRfc7950Support;
@@ -262,22 +263,23 @@ public final class YangInferencePipeline {
             .put(ValidationBundleType.SUPPORTED_DATA_NODES, YangValidationBundles.SUPPORTED_DATA_NODES)
             .build();
 
-    public static final CrossSourceStatementReactor RFC6020_REACTOR = CrossSourceStatementReactor.builder()
-            .setBundle(ModelProcessingPhase.INIT, INIT_BUNDLE)
-            .setBundle(ModelProcessingPhase.SOURCE_PRE_LINKAGE, PRE_LINKAGE_BUNDLE)
-            .setBundle(ModelProcessingPhase.SOURCE_LINKAGE, LINKAGE_BUNDLE)
-            .setBundle(ModelProcessingPhase.STATEMENT_DEFINITION, STMT_DEF_BUNDLE)
-            .setBundle(ModelProcessingPhase.FULL_DECLARATION, FULL_DECL_BUNDLE)
-            .setBundle(ModelProcessingPhase.EFFECTIVE_MODEL, FULL_DECL_BUNDLE)
-            .setValidationBundle(ValidationBundleType.SUPPORTED_REFINE_SUBSTATEMENTS,
+    public static Builder newReactorBuilder() {
+        return CrossSourceStatementReactor.builder()
+                .setBundle(ModelProcessingPhase.INIT, INIT_BUNDLE)
+                .setBundle(ModelProcessingPhase.SOURCE_PRE_LINKAGE, PRE_LINKAGE_BUNDLE)
+                .setBundle(ModelProcessingPhase.SOURCE_LINKAGE, LINKAGE_BUNDLE)
+                .setBundle(ModelProcessingPhase.STATEMENT_DEFINITION, STMT_DEF_BUNDLE)
+                .setBundle(ModelProcessingPhase.FULL_DECLARATION, FULL_DECL_BUNDLE)
+                .setBundle(ModelProcessingPhase.EFFECTIVE_MODEL, FULL_DECL_BUNDLE)
+                .setValidationBundle(ValidationBundleType.SUPPORTED_REFINE_SUBSTATEMENTS,
                     YangValidationBundles.SUPPORTED_REFINE_SUBSTATEMENTS)
-            .setValidationBundle(ValidationBundleType.SUPPORTED_AUGMENT_TARGETS,
+                .setValidationBundle(ValidationBundleType.SUPPORTED_AUGMENT_TARGETS,
                     YangValidationBundles.SUPPORTED_AUGMENT_TARGETS)
-            .setValidationBundle(ValidationBundleType.SUPPORTED_CASE_SHORTHANDS,
+                .setValidationBundle(ValidationBundleType.SUPPORTED_CASE_SHORTHANDS,
                     YangValidationBundles.SUPPORTED_CASE_SHORTHANDS)
-            .setValidationBundle(ValidationBundleType.SUPPORTED_DATA_NODES,
-                    YangValidationBundles.SUPPORTED_DATA_NODES)
-             .build();
+                .setValidationBundle(ValidationBundleType.SUPPORTED_DATA_NODES,
+                    YangValidationBundles.SUPPORTED_DATA_NODES);
+    }
 
     private YangInferencePipeline() {
         throw new UnsupportedOperationException("Utility class");
index f1c088f904649f042a6a69fb065067af489d69e2..fb5281ef44a43b4e3a4c25f3bc9a9c8540c975b6 100644 (file)
@@ -5,7 +5,6 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 
 import static org.junit.Assert.assertEquals;
@@ -28,16 +27,16 @@ import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.parser.api.YangSyntaxErrorException;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YangStatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class ConstraintDefinitionsTest {
 
     @Test
     public void testConstraintDefinitions() throws ParseException, ReactorException, URISyntaxException, IOException,
             YangSyntaxErrorException {
-        final SchemaContext schemaContext = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        final SchemaContext schemaContext = DefaultReactors.defaultReactor().newBuild()
                 .addSource(YangStatementStreamSource.create(
                     YangTextSchemaSource.forResource("/constraint-definitions-test/foo.yang")))
                 .buildEffective();
index 80113ae8f7cf3364c12151cc41438cafff4cfcdd..ee8fe24a1d6ed4b5345bbda1ef5b0c00f7d8ee86 100644 (file)
@@ -23,10 +23,10 @@ import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.IncludeStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 import org.opendaylight.yangtools.yang.stmt.StmtTestUtils;
 
 public class Bug6874Test {
@@ -84,7 +84,7 @@ public class Bug6874Test {
 
     @Test
     public void descriptionAndReferenceTest11() throws ReactorException {
-        YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        DefaultReactors.defaultReactor().newBuild()
             .addSources(ROOT_MODULE, CHILD_MODULE, CHILD_MODULE_1, IMPORTED_MODULE)
             .build().getRootStatements().forEach(declaredStmt -> {
                 if (declaredStmt instanceof ModuleStatement) {
index 03c098e0c8799e1931fb9b5bc1e96fd233dd98b6..60995aefc6ea37d460588c83c2a4e98936c7bf42 100644 (file)
@@ -15,12 +15,12 @@ import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResour
 
 import org.junit.Ignore;
 import org.junit.Test;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 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.BuildAction;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class AugmentArgumentParsingTest {
 
@@ -43,19 +43,15 @@ public class AugmentArgumentParsingTest {
 
     @Test
     public void validAugAbsTest() throws ReactorException {
-
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(IMPORTED, VALID_ARGS);
-
-        final EffectiveModelContext result = reactor.build();
+        final EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(IMPORTED, VALID_ARGS)
+                .build();
         assertNotNull(result);
     }
 
     @Test
     public void invalidAugRel1Test() {
-
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(INVALID_REL1);
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild().addSources(INVALID_REL1);
 
         try {
             reactor.build();
@@ -67,9 +63,7 @@ public class AugmentArgumentParsingTest {
 
     @Test
     public void invalidAugRel2Test() {
-
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(INVALID_REL2);
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild().addSources(INVALID_REL2);
 
         try {
             reactor.build();
@@ -81,9 +75,7 @@ public class AugmentArgumentParsingTest {
 
     @Test
     public void invalidAugAbs() {
-
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(INVALID_ABS);
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild().addSources(INVALID_ABS);
 
         try {
             reactor.build();
@@ -95,9 +87,7 @@ public class AugmentArgumentParsingTest {
 
     @Test
     public void invalidAugAbsPrefixedNoImp() {
-
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(INVALID_ABS_PREFIXED_NO_IMP);
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild().addSources(INVALID_ABS_PREFIXED_NO_IMP);
 
         try {
             reactor.build();
@@ -110,21 +100,14 @@ public class AugmentArgumentParsingTest {
     @Test(expected = IllegalArgumentException.class)
     @Ignore
     public void invalidAugEmptyTest() throws ReactorException {
-
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(INVALID_EMPTY);
-
-        reactor.build();
+        DefaultReactors.defaultReactor().newBuild().addSources(INVALID_EMPTY).build();
         fail("reactor.process should fail due to empty path");
     }
 
     @Test(expected = IllegalArgumentException.class)
     @Ignore
     public void invalidAugXPathTest() throws ReactorException {
-
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(INVALID_XPATH);
-        reactor.build();
+        DefaultReactors.defaultReactor().newBuild().addSources(INVALID_XPATH).build();
         fail("reactor.process should fail due to invalid XPath");
     }
 
index 8d7f688e96eb7bc6fe14d86f763627d31a6b25b2..a75a500479c4603518b28ada6c6c69901338cbb5 100644 (file)
@@ -27,10 +27,10 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class AugmentProcessTest {
 
@@ -86,7 +86,7 @@ public class AugmentProcessTest {
 
     @Test
     public void multipleAugmentsAndMultipleModulesTest() throws ReactorException {
-        SchemaContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
                 .addSources(MULTIPLE_AUGMENT_ROOT, MULTIPLE_AUGMENT_IMPORTED, MULTIPLE_AUGMENT_SUBMODULE)
                 .buildEffective();
         assertNotNull(result);
@@ -94,7 +94,7 @@ public class AugmentProcessTest {
 
     @Test
     public void multipleAugmentTest() throws ReactorException {
-        SchemaContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
                 .addSource(MULTIPLE_AUGMENT)
                 .buildEffective();
         assertNotNull(result);
@@ -102,7 +102,7 @@ public class AugmentProcessTest {
 
     @Test(expected = SomeModifiersUnresolvedException.class)
     public void multipleAugmentIncorrectPathTest() throws  ReactorException {
-        SchemaContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
                 .addSource(MULTIPLE_AUGMENT_INCORRECT)
                 .buildEffective();
         assertNull(result);
@@ -110,7 +110,7 @@ public class AugmentProcessTest {
 
     @Test(expected = SomeModifiersUnresolvedException.class)
     public void multipleAugmentIncorrectPathAndGrpTest() throws  ReactorException {
-        SchemaContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
                 .addSource(MULTIPLE_AUGMENT_INCORRECT2)
                 .buildEffective();
         assertNull(result);
@@ -118,7 +118,7 @@ public class AugmentProcessTest {
 
     @Test
     public void readAndParseYangFileTest() throws ReactorException {
-        final SchemaContext root = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        final SchemaContext root = DefaultReactors.defaultReactor().newBuild()
                 .addSources(AUGMENTED, ROOT)
                 .buildEffective();
         assertNotNull(root);
index b6f8d39a09661110e3b117c502d56c6dd1c86974..9625715697d3fe6eba37c36f34b15f928b4c79e1 100644 (file)
@@ -12,11 +12,11 @@ import static org.junit.Assert.assertNotNull;
 import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResource;
 
 import org.junit.Test;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 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.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class AugmentSimplestTest {
 
@@ -26,7 +26,7 @@ public class AugmentSimplestTest {
 
     @Test
     public void readAndParseYangFileTest() throws SourceException, ReactorException {
-        EffectiveModelContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
                 .addSources(AUGMENTED, ROOT)
                 .build();
         assertNotNull(result);
index fa286903d4d0ccac2d72587a42461d5a9259c997..7ec87a6251c7953f03085a72edcd6013ac342d38 100644 (file)
@@ -12,10 +12,9 @@ import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResour
 
 import org.junit.Test;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
-import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor.BuildAction;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class Bug6150Test {
 
@@ -25,25 +24,25 @@ public class Bug6150Test {
 
     @Test
     public void effectiveAugmentFirstTest() throws ReactorException {
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(TARGET, AUGMENT_FIRST);
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(TARGET, AUGMENT_FIRST)
+                .buildEffective();
         assertNotNull(result);
     }
 
     @Test
     public void effectiveAugmentSecondTest() throws ReactorException {
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(TARGET, AUGMENT_SECOND);
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(TARGET, AUGMENT_SECOND)
+                .buildEffective();
         assertNotNull(result);
     }
 
     @Test
     public void effectiveAugmentBothTest() throws ReactorException {
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(TARGET, AUGMENT_FIRST, AUGMENT_SECOND);
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(TARGET, AUGMENT_FIRST, AUGMENT_SECOND)
+                .buildEffective();
         assertNotNull(result);
     }
 }
index 99f0632c764f92f5004811a7ac2ae3c903237aa0..02eadfb6ca0b5309dee55193a288522e07c032af 100644 (file)
@@ -18,9 +18,8 @@ import org.junit.Test;
 import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException;
-import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class Bug7480Test {
     @Test
@@ -62,14 +61,15 @@ public class Bug7480Test {
     public void testHandlingOfMainSourceConflictingWithLibSource() throws Exception {
         // parent module as main source and as lib source at the same time
         // parser should remove it from the required lib sources and thus avoid module namespace collision
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSource(StmtTestUtils.sourceForResource(
-                "/bugs/bug7480/main-source-lib-source-conflict-test/parent-module.yang"));
-        reactor.addLibSources(StmtTestUtils.sourceForResource(
-                "/bugs/bug7480/main-source-lib-source-conflict-test/child-module.yang"),
-                StmtTestUtils.sourceForResource(
-                        "/bugs/bug7480/main-source-lib-source-conflict-test/parent-module.yang"));
-        final SchemaContext schemaContext = reactor.buildEffective();
+        final SchemaContext schemaContext =  DefaultReactors.defaultReactor().newBuild()
+                .addSource(StmtTestUtils.sourceForResource(
+                        "/bugs/bug7480/main-source-lib-source-conflict-test/parent-module.yang"))
+                .addLibSources(
+                    StmtTestUtils.sourceForResource(
+                        "/bugs/bug7480/main-source-lib-source-conflict-test/child-module.yang"),
+                    StmtTestUtils.sourceForResource(
+                        "/bugs/bug7480/main-source-lib-source-conflict-test/parent-module.yang"))
+                .buildEffective();
         assertNotNull(schemaContext);
     }
 
@@ -77,14 +77,15 @@ public class Bug7480Test {
     public void testHandlingOfMainSourceConflictingWithLibSource2() throws Exception {
         // submodule as main source and as lib source at the same time
         // parser should remove it from the required lib sources and thus avoid submodule name collision
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSource(StmtTestUtils.sourceForResource(
-                "/bugs/bug7480/main-source-lib-source-conflict-test/child-module.yang"));
-        reactor.addLibSources(StmtTestUtils.sourceForResource(
-                "/bugs/bug7480/main-source-lib-source-conflict-test/parent-module.yang"),
-                StmtTestUtils.sourceForResource(
-                        "/bugs/bug7480/main-source-lib-source-conflict-test/child-module.yang"));
-        final SchemaContext schemaContext = reactor.buildEffective();
+        final SchemaContext schemaContext = DefaultReactors.defaultReactor().newBuild()
+                .addSource(StmtTestUtils.sourceForResource(
+                        "/bugs/bug7480/main-source-lib-source-conflict-test/child-module.yang"))
+                .addLibSources(
+                    StmtTestUtils.sourceForResource(
+                            "/bugs/bug7480/main-source-lib-source-conflict-test/parent-module.yang"),
+                    StmtTestUtils.sourceForResource(
+                            "/bugs/bug7480/main-source-lib-source-conflict-test/child-module.yang"))
+                .buildEffective();
         assertNotNull(schemaContext);
     }
 }
index 57105fdaff70191c3734c863663ab44d047fae8c..a3ce81bbc0b6394b5d0232c5d20612f4f5f03df6 100644 (file)
@@ -5,7 +5,6 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.yangtools.yang.stmt;
 
 import static org.junit.Assert.assertNotNull;
@@ -27,11 +26,11 @@ import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 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.reactor.CrossSourceStatementReactor.BuildAction;
 
 public class Bug8307Test {
 
@@ -76,11 +75,10 @@ public class Bug8307Test {
         final Map<QNameModule, Set<QNameModule>> modulesWithSupportedDeviations = ImmutableMap.of(
                 foo, ImmutableSet.of(bar, baz), bar, ImmutableSet.of(baz));
 
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(FOO_MODULE, BAR_MODULE, BAZ_MODULE, FOOBAR_MODULE);
-        reactor.setModulesWithSupportedDeviations(modulesWithSupportedDeviations);
-
-        final SchemaContext schemaContext = reactor.buildEffective();
+        final SchemaContext schemaContext = DefaultReactors.defaultReactor().newBuild()
+                .addSources(FOO_MODULE, BAR_MODULE, BAZ_MODULE, FOOBAR_MODULE)
+                .setModulesWithSupportedDeviations(modulesWithSupportedDeviations)
+                .buildEffective();
         assertNotNull(schemaContext);
 
         assertNull(SchemaContextUtil.findDataSchemaNode(schemaContext, SchemaPath.create(true, myFooContA)));
@@ -92,10 +90,9 @@ public class Bug8307Test {
 
     @Test
     public void testDeviationsSupportedInAllModules() throws Exception {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(FOO_MODULE, BAR_MODULE, BAZ_MODULE, FOOBAR_MODULE);
-
-        final SchemaContext schemaContext = reactor.buildEffective();
+        final SchemaContext schemaContext = DefaultReactors.defaultReactor().newBuild()
+                .addSources(FOO_MODULE, BAR_MODULE, BAZ_MODULE, FOOBAR_MODULE)
+                .buildEffective();
         assertNotNull(schemaContext);
 
         assertNull(SchemaContextUtil.findDataSchemaNode(schemaContext, SchemaPath.create(true, myFooContA)));
@@ -107,11 +104,10 @@ public class Bug8307Test {
 
     @Test
     public void testDeviationsSupportedInNoModule() throws Exception {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(FOO_MODULE, BAR_MODULE, BAZ_MODULE, FOOBAR_MODULE);
-        reactor.setModulesWithSupportedDeviations(ImmutableMap.of());
-
-        final SchemaContext schemaContext = reactor.buildEffective();
+        final SchemaContext schemaContext = DefaultReactors.defaultReactor().newBuild()
+                .addSources(FOO_MODULE, BAR_MODULE, BAZ_MODULE, FOOBAR_MODULE)
+                .setModulesWithSupportedDeviations(ImmutableMap.of())
+                .buildEffective();
         assertNotNull(schemaContext);
 
         assertNotNull(SchemaContextUtil.findDataSchemaNode(schemaContext, SchemaPath.create(true, myFooContA)));
@@ -123,8 +119,7 @@ public class Bug8307Test {
 
     @Test
     public void shouldFailOnAttemptToDeviateTheSameModule() {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(FOO_INVALID_MODULE);
+        final BuildAction reactor = DefaultReactors.defaultReactor().newBuild().addSources(FOO_INVALID_MODULE);
 
         try {
             reactor.buildEffective();
@@ -139,8 +134,8 @@ public class Bug8307Test {
 
     @Test
     public void shouldFailOnAttemptToDeviateTheSameModule2() {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(BAR_INVALID_MODULE, BAZ_INVALID_MODULE);
+        final BuildAction reactor = DefaultReactors.defaultReactor().newBuild()
+                .addSources(BAR_INVALID_MODULE, BAZ_INVALID_MODULE);
 
         try {
             reactor.buildEffective();
index aa6564d9adb3ad0d24fa278d80b0786f22c4b3b9..e078df078c601a4ee54a1c09c810bc3127647128 100644 (file)
@@ -5,7 +5,6 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.yangtools.yang.stmt;
 
 import static org.junit.Assert.assertEquals;
@@ -19,10 +18,9 @@ import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 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;
 
 public class ChoiceStmtTest {
 
@@ -33,10 +31,9 @@ public class ChoiceStmtTest {
 
     @Test
     public void choiceAndCaseTest() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(CHOICE_MODULE, IMPORTED_MODULE1, IMPORTED_MODULE2, INCLUDED_MODULE);
-
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(CHOICE_MODULE, IMPORTED_MODULE1, IMPORTED_MODULE2, INCLUDED_MODULE)
+                .buildEffective();
         assertNotNull(result);
 
         final Module testModule = result.findModules("foo").iterator().next();
index bb857bd77dd8816c80db23afdef412d7250098f3..8faca7d8df1de1b41d60b0fdf0584a2b022d1ce6 100644 (file)
@@ -5,7 +5,6 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.yangtools.yang.stmt;
 
 import static org.junit.Assert.assertEquals;
@@ -26,10 +25,9 @@ import org.opendaylight.yangtools.yang.model.api.Deviation;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.type.Uint32TypeDefinition;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 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;
 
 public class DeviationStmtTest {
 
@@ -40,10 +38,9 @@ public class DeviationStmtTest {
 
     @Test
     public void testDeviationAndDeviate() throws ReactorException, ParseException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(FOO_MODULE, FOO_IMP_MODULE, BAR_MODULE, BAR_IMP_MODULE);
-
-        final SchemaContext schemaContext = reactor.buildEffective();
+        final SchemaContext schemaContext = DefaultReactors.defaultReactor().newBuild()
+                .addSources(FOO_MODULE, FOO_IMP_MODULE, BAR_MODULE, BAR_IMP_MODULE)
+                .buildEffective();
         assertNotNull(schemaContext);
 
         Module testModule = schemaContext.findModule("foo", Revision.of("2016-06-23")).get();
index 59247e0ad3272c6b5cc55ca7142216ea47d7ef6e..750c316644b308e079cf79c62c37b7d49ebb725c 100644 (file)
@@ -5,7 +5,6 @@
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
  */
-
 package org.opendaylight.yangtools.yang.stmt;
 
 import static org.junit.Assert.assertEquals;
@@ -28,9 +27,9 @@ import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class EffectiveBuildTest {
 
@@ -42,7 +41,7 @@ public class EffectiveBuildTest {
 
     @Test
     public void effectiveBuildTest() throws ReactorException {
-        SchemaContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild().addSources(SIMPLE_MODULE)
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild().addSources(SIMPLE_MODULE)
                 .buildEffective();
 
         assertNotNull(result);
@@ -89,12 +88,11 @@ public class EffectiveBuildTest {
         assertEquals(SchemaPath.create(true, q1, q2, q3), subSubCon.getPath());
         assertEquals(SchemaPath.create(true, q4, q5, q6), subSubCon2.getPath());
         assertEquals(SchemaPath.create(true, q7, q5, q6), grpSubSubCon2.getPath());
-
     }
 
     @Test
     public void extensionsTest() throws ReactorException {
-        SchemaContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild().addSource(YANG_EXT).buildEffective();
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild().addSource(YANG_EXT).buildEffective();
         assertNotNull(result);
 
         Set<GroupingDefinition> groupings = result.getGroupings();
@@ -114,7 +112,7 @@ public class EffectiveBuildTest {
 
     @Test
     public void mockTest() throws ReactorException, FileNotFoundException, URISyntaxException {
-        SchemaContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild().addSource(YANG_EXT).buildEffective();
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild().addSource(YANG_EXT).buildEffective();
         assertNotNull(result);
     }
 }
index 057fec2ce3e5aac0f04bbe560ca7ae10272e4b26..4386222cc33e68ac686fe24f82e312e8ffa63715 100644 (file)
@@ -21,12 +21,12 @@ import org.junit.Test;
 import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException;
 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;
 
 public class EffectiveIdentityTest {
 
@@ -37,12 +37,10 @@ public class EffectiveIdentityTest {
             "/stmt-test/identity/cyclic-identity-test.yang");
 
     @Test(expected = SomeModifiersUnresolvedException.class)
-    public void cyclicefineTest() throws SourceException, ReactorException,
-            URISyntaxException {
+    public void cyclicefineTest() throws SourceException, ReactorException, URISyntaxException {
 
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR
-                .newBuild();
-        reactor.addSources(CYCLIC_IDENTITY_TEST);
+        CrossSourceStatementReactor.BuildAction reactor = DefaultReactors.defaultReactor().newBuild()
+                .addSources(CYCLIC_IDENTITY_TEST);
         try {
             reactor.buildEffective();
         } catch (SomeModifiersUnresolvedException e) {
@@ -54,10 +52,9 @@ public class EffectiveIdentityTest {
     @Test
     public void identityTest() throws SourceException, ReactorException,
             URISyntaxException {
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(IDENTITY_TEST);
-        SchemaContext result = reactor.buildEffective();
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(IDENTITY_TEST)
+                .buildEffective();
 
         assertNotNull(result);
 
index 7a5a4482b626e5a343ff1a654d52a137d315266e..e53fc486ec166308f97c41bfefa47b74f9e46bee 100644 (file)
@@ -35,11 +35,10 @@ import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.Status;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 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;
 
 public class EffectiveModuleTest {
 
@@ -62,9 +61,9 @@ public class EffectiveModuleTest {
 
     @Test
     public void effectiveBuildTest() throws SourceException, ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(ROOT_MODULE, IMPORTED_MODULE, SUBMODULE);
-        SchemaContext result = reactor.buildEffective();
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(ROOT_MODULE, IMPORTED_MODULE, SUBMODULE)
+                .buildEffective();
 
         assertNotNull(result);
 
index 0197038fdcf1d8c9273e66f601002f4363f6e0fc..845c11b6752c6cf89f3ffcefdd3d9548c4c00221 100644 (file)
@@ -23,10 +23,9 @@ import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 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;
 
 public class EffectiveModulesAndSubmodulesTest {
 
@@ -45,11 +44,9 @@ public class EffectiveModulesAndSubmodulesTest {
 
     @Test
     public void modulesAndSubmodulesSimpleReferencesTest() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR
-                .newBuild();
-        reactor.addSources(ROOT_MODULE, IMPORTED_MODULE,
-                SUBMODULE_1, SUBMODULE_2, SUBMODULE_TO_SUBMODULE_1);
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(ROOT_MODULE, IMPORTED_MODULE, SUBMODULE_1, SUBMODULE_2, SUBMODULE_TO_SUBMODULE_1)
+                .buildEffective();
 
         assertNotNull(result);
 
index 6fd4f9d8a78c41f8206f4c4f878a743eb457f3a0..ac8c72f9ba4d4bdb59c614ff9e15eee25526cab8 100644 (file)
@@ -36,28 +36,24 @@ import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.model.parser.api.YangSyntaxErrorException;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 import org.opendaylight.yangtools.yang.model.util.SimpleSchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.rfc6020.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.stmt.reactor.EffectiveSchemaContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class EffectiveSchemaContextTest {
 
     @Test
     public void testEffectiveSchemaContext() throws ReactorException, ParseException, URISyntaxException, IOException,
             YangSyntaxErrorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-
-        final YangStatementStreamSource source1 = YangStatementStreamSource.create(YangTextSchemaSource.forResource(
-            "/effective-schema-context-test/foo.yang"));
-        final YangStatementStreamSource source2 = YangStatementStreamSource.create(YangTextSchemaSource.forResource(
-            "/effective-schema-context-test/bar.yang"));
-        final YangStatementStreamSource source3 = YangStatementStreamSource.create(YangTextSchemaSource.forResource(
-            "/effective-schema-context-test/baz.yang"));
-
-        reactor.addSources(source1, source2, source3);
-        final SchemaContext schemaContext = reactor.buildEffective();
+        final EffectiveSchemaContext schemaContext = DefaultReactors.defaultReactor().newBuild()
+                .addSource(YangStatementStreamSource.create(YangTextSchemaSource.forResource(
+                        "/effective-schema-context-test/foo.yang")))
+                .addSource(YangStatementStreamSource.create(YangTextSchemaSource.forResource(
+                        "/effective-schema-context-test/bar.yang")))
+                .addSource(YangStatementStreamSource.create(YangTextSchemaSource.forResource(
+                        "/effective-schema-context-test/baz.yang")))
+                .buildEffective();
         assertNotNull(schemaContext);
 
         final Set<DataSchemaNode> dataDefinitions = schemaContext.getDataDefinitions();
@@ -100,8 +96,8 @@ public class EffectiveSchemaContextTest {
 
         Module fooModule = schemaContext.findModule("foo", Revision.of("2016-09-21")).get();
         assertEquals(3, schemaContext.getModules().size());
-        assertEquals(3, ((EffectiveSchemaContext) schemaContext).getRootDeclaredStatements().size());
-        assertEquals(3,((EffectiveSchemaContext) schemaContext).getRootEffectiveStatements().size());
+        assertEquals(3, schemaContext.getRootDeclaredStatements().size());
+        assertEquals(3, schemaContext.getRootEffectiveStatements().size());
 
         final Set<Module> modules = schemaContext.getModules();
         final SchemaContext copiedSchemaContext =  SimpleSchemaContext.forModules(modules);
index e7238016ffe293a8ef25e2f518fa3e4dd1dfc8b5..241d3827c2cad862334510061fd819e9828b67b8 100644 (file)
@@ -40,10 +40,8 @@ import org.opendaylight.yangtools.yang.model.api.type.LeafrefTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint;
 import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-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.effective.LeafEffectiveStatementImpl;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.BitsSpecificationEffectiveStatementImpl;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.Decimal64SpecificationEffectiveStatementImpl;
@@ -54,8 +52,6 @@ import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.Patter
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.UnionSpecificationEffectiveStatementImpl;
 
 public class EffectiveStatementTypeTest {
-
-    private static final StatementStreamSource IMPORTED_MODULE = sourceForResource("/type-tests/types.yang");
     private static SchemaContext effectiveSchemaContext;
     private static Module types;
 
@@ -63,9 +59,9 @@ public class EffectiveStatementTypeTest {
 
     @BeforeClass
     public static void setup() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSource(IMPORTED_MODULE);
-        effectiveSchemaContext = reactor.buildEffective();
+        effectiveSchemaContext = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/type-tests/types.yang"))
+                .buildEffective();
         types = effectiveSchemaContext.findModules("types").iterator().next();
         assertNotNull(types);
     }
index 1d564cc6360a3528adbe0361daf17997dea73c02..d65bc5a60f92529d0c6697911610279855dd501b 100644 (file)
@@ -28,23 +28,16 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-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;
 
 public class EffectiveUsesRefineAndConstraintsTest {
 
-    private static final StatementStreamSource REFINE_TEST = sourceForResource("/stmt-test/uses/refine-test.yang");
-
     @Test
     public void refineTest() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-
-        reactor.addSources(REFINE_TEST);
-
-        SchemaContext result = reactor.buildEffective();
-
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/stmt-test/uses/refine-test.yang"))
+                .buildEffective();
         assertNotNull(result);
 
         Set<Module> modules = result.getModules();
index 2db7a1df3ff7fbf487528ac71423862132cc0ddc..6eaa3a78af0192e9eb8dbc4b09e97e922fa65d2e 100644 (file)
@@ -21,25 +21,15 @@ import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-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;
 
 public class ExtensionStmtTest {
-
-    private static final StatementStreamSource EXT_DEF_MODULE = sourceForResource("/model/bar.yang");
-    private static final StatementStreamSource EXT_DEF_MODULE2 = sourceForResource(
-        "/semantic-statement-parser/ext-typedef.yang");
-    private static final StatementStreamSource EXT_USE_MODULE = sourceForResource(
-        "/semantic-statement-parser/ext-use.yang");
-
     @Test
     public void testExtensionDefinition() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(EXT_DEF_MODULE);
-
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/model/bar.yang"))
+                .buildEffective();
         assertNotNull(result);
 
         final Module testModule = result.findModules("bar").iterator().next();
@@ -56,10 +46,10 @@ public class ExtensionStmtTest {
 
     @Test
     public void testExtensionUsage() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(EXT_DEF_MODULE2, EXT_USE_MODULE);
-
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/semantic-statement-parser/ext-typedef.yang"))
+                .addSource(sourceForResource("/semantic-statement-parser/ext-use.yang"))
+                .buildEffective();
         assertNotNull(result);
 
         final Module testModule1 = result.findModules("ext-typedef").iterator().next();
index b4fa7843fb2242d93934b9af7d131d426bca30d3..f53f0c929c7d941dc31c4535eb712202628b62b7 100644 (file)
@@ -33,10 +33,9 @@ import org.opendaylight.yangtools.yang.model.api.SchemaNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.UsesNode;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 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;
 
 public class GroupingAndUsesStmtTest {
 
@@ -47,10 +46,9 @@ public class GroupingAndUsesStmtTest {
 
     @Test
     public void groupingTest() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(MODULE, GROUPING_MODULE);
-
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(MODULE, GROUPING_MODULE)
+                .buildEffective();
         assertNotNull(result);
 
         final Module testModule = result.findModules("baz").iterator().next();
@@ -94,10 +92,9 @@ public class GroupingAndUsesStmtTest {
 
     @Test
     public void usesAndRefinesTest() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(MODULE, SUBMODULE, GROUPING_MODULE, USES_MODULE);
-
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(MODULE, SUBMODULE, GROUPING_MODULE, USES_MODULE)
+                .buildEffective();
         assertNotNull(result);
 
         final Module testModule = result.findModules("foo").iterator().next();
index 96364cf809f46c6e841d6031356e047426af25bf..dacebb5c39ca4d8320b3e9e3021d7ea1241096db 100644 (file)
@@ -21,17 +21,15 @@ import org.junit.Test;
 import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException;
 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;
 
 public class IdentityStmtTest {
 
-    private static final StatementStreamSource ILLEGAL_IDENTITY_MODULE =
-            sourceForResource("/identity/identitytest.yang");
-
+    private static final StatementStreamSource ILLEGAL_IDENTITY_MODULE = sourceForResource(
+        "/identity/identitytest.yang");
     private static final StatementStreamSource ILLEGAL_IDENTITY_MODULE2 = sourceForResource(
         "/identity/prefixidentitytest.yang");
     private static final StatementStreamSource LEGAL_IDENTITY_MODULE = sourceForResource(
@@ -47,46 +45,35 @@ public class IdentityStmtTest {
 
     @Test(expected = SomeModifiersUnresolvedException.class)
     public void selfReferencingIdentityTest() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(ILLEGAL_IDENTITY_MODULE);
-
-        SchemaContext result = reactor.buildEffective();
-        assertNotNull(result);
+        DefaultReactors.defaultReactor().newBuild().addSource(ILLEGAL_IDENTITY_MODULE).buildEffective();
     }
 
     @Test(expected = SomeModifiersUnresolvedException.class)
     public void selfReferencingIdentityWithPrefixTest() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(ILLEGAL_IDENTITY_MODULE2);
-
-        SchemaContext result = reactor.buildEffective();
-        assertNotNull(result);
+        DefaultReactors.defaultReactor().newBuild().addSource(ILLEGAL_IDENTITY_MODULE2).buildEffective();
     }
 
     @Test
     public void importedIdentityTest() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(LEGAL_IDENTITY_MODULE, LEGAL_IDENTITY_MODULE2);
-
-        SchemaContext result = reactor.buildEffective();
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(LEGAL_IDENTITY_MODULE, LEGAL_IDENTITY_MODULE2)
+                .buildEffective();
         assertNotNull(result);
     }
 
     @Test(expected = SomeModifiersUnresolvedException.class)
     public void selfReferencingIdentityThroughChaining() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(ILLEGAL_IDENTITY_MODULE3);
-
-        SchemaContext result = reactor.buildEffective();
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(ILLEGAL_IDENTITY_MODULE3)
+                .buildEffective();
         assertNotNull(result);
     }
 
     @Test
     public void chainedIdentityTest() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(LEGAL_IDENTITY_MODULE3);
-
-        SchemaContext result = reactor.buildEffective();
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(LEGAL_IDENTITY_MODULE3)
+                .buildEffective();
         assertNotNull(result);
 
         Module testModule = result.findModules("legal-chained-identity-test").iterator().next();
@@ -115,10 +102,9 @@ public class IdentityStmtTest {
 
     @Test
     public void duplicateIdentityTest() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(DUPLICATE_IDENTITY_MODULE);
-
-        SchemaContext result = reactor.buildEffective();
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(DUPLICATE_IDENTITY_MODULE)
+                .buildEffective();
         assertNotNull(result);
 
         Module testModule = result.findModules("duplicate-identity-test").iterator().next();
index 1080b512db65b0a4b2a6bcff3617fa6adb2cdada..f7f2e9d29d6ed182c77788ba0c06a27d8f7dfbad 100644 (file)
@@ -22,10 +22,9 @@ import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 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;
 
 public class IfFeatureResolutionTest {
 
@@ -40,11 +39,10 @@ public class IfFeatureResolutionTest {
                 QName.create("foo-namespace", "test-feature-3"),
                 QName.create("bar-namespace", "imp-feature"));
 
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(FOO_MODULE, BAR_MODULE);
-        reactor.setSupportedFeatures(supportedFeatures);
-
-        final SchemaContext schemaContext = reactor.buildEffective();
+        final SchemaContext schemaContext = DefaultReactors.defaultReactor().newBuild()
+                .addSources(FOO_MODULE, BAR_MODULE)
+                .setSupportedFeatures(supportedFeatures)
+                .buildEffective();
         assertNotNull(schemaContext);
 
         final Module testModule = schemaContext.findModule("foo").get();
@@ -145,10 +143,9 @@ public class IfFeatureResolutionTest {
 
     @Test
     public void testAllFeaturesSupported() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(FOO_MODULE, BAR_MODULE);
-
-        final SchemaContext schemaContext = reactor.buildEffective();
+        final SchemaContext schemaContext = DefaultReactors.defaultReactor().newBuild()
+                .addSources(FOO_MODULE, BAR_MODULE)
+                .buildEffective();
         assertNotNull(schemaContext);
 
         final Module testModule = schemaContext.findModules("foo").iterator().next();
@@ -272,11 +269,10 @@ public class IfFeatureResolutionTest {
 
     @Test
     public void testNoFeaturesSupported() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(FOO_MODULE, BAR_MODULE);
-        reactor.setSupportedFeatures(ImmutableSet.of());
-
-        final SchemaContext schemaContext = reactor.buildEffective();
+        final SchemaContext schemaContext = DefaultReactors.defaultReactor().newBuild()
+                .addSources(FOO_MODULE, BAR_MODULE)
+                .setSupportedFeatures(ImmutableSet.of())
+                .buildEffective();
         assertNotNull(schemaContext);
 
         final Module testModule = schemaContext.findModules("foo").iterator().next();
index 2e832f03eda066b968a1f871ca3c9c36c7a4db88..5a925d3d306fca30a3a4bbe63250e6916a2d29cb 100644 (file)
@@ -16,13 +16,13 @@ import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResour
 
 import org.junit.Test;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor.BuildAction;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class ImportResolutionBasicTest {
 
@@ -46,7 +46,7 @@ public class ImportResolutionBasicTest {
 
     @Test
     public void inImportOrderTest() throws ReactorException {
-        EffectiveModelContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
                 .addSources(ROOT_WITHOUT_IMPORT, IMPORT_ROOT, IMPORT_DERIVED)
                 .build();
         assertNotNull(result);
@@ -54,7 +54,7 @@ public class ImportResolutionBasicTest {
 
     @Test
     public void inInverseOfImportOrderTest() throws ReactorException {
-        EffectiveModelContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
                 .addSources(IMPORT_DERIVED, IMPORT_ROOT, ROOT_WITHOUT_IMPORT)
                 .build();
         assertNotNull(result);
@@ -62,7 +62,7 @@ public class ImportResolutionBasicTest {
 
     @Test
     public void missingImportedSourceTest() {
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild()
                 .addSources(IMPORT_DERIVED, ROOT_WITHOUT_IMPORT);
         try {
             reactor.build();
@@ -76,7 +76,7 @@ public class ImportResolutionBasicTest {
 
     @Test
     public void circularImportsTest() {
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild()
                 .addSources(CYCLE_YIN, CYCLE_YANG);
         try {
             reactor.build();
@@ -89,7 +89,7 @@ public class ImportResolutionBasicTest {
 
     @Test
     public void selfImportTest() {
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild()
                 .addSources(IMPORT_SELF, IMPORT_ROOT, ROOT_WITHOUT_IMPORT);
         try {
             reactor.build();
@@ -102,7 +102,7 @@ public class ImportResolutionBasicTest {
 
     @Test
     public void bug2649Test() throws ReactorException {
-        SchemaContext buildEffective = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        SchemaContext buildEffective = DefaultReactors.defaultReactor().newBuild()
                 .addSources(FOO, IMPORT)
                 .buildEffective();
         assertNotNull(buildEffective);
index eb72166938bebed784c6c22a2c76801eee6a3409..ab4de65ad015a8a8164c276f206d47b1ca7b553e 100644 (file)
@@ -12,12 +12,11 @@ import static org.junit.Assert.assertNotNull;
 import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResource;
 
 import org.junit.Test;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException;
 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.reactor.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class ImportRevisionsTest {
 
@@ -44,47 +43,40 @@ public class ImportRevisionsTest {
 
     @Test
     public void equalRevisionDatesTest() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(ROOT_WITH_EQUAL_DATE, IMPORTED_WITH_EQUAL_DATE);
-
-        EffectiveModelContext result = reactor.build();
+        EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(ROOT_WITH_EQUAL_DATE, IMPORTED_WITH_EQUAL_DATE)
+                .build();
         assertNotNull(result);
     }
 
     @Test(expected = SomeModifiersUnresolvedException.class)
     public void unequalRevisionDatesTest() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(ROOT_WITH_UNEQUAL_DATE, IMPORTED_WITH_UNEQUAL_DATE);
-
-        EffectiveModelContext result = reactor.build();
-        assertNotNull(result);
-
+        DefaultReactors.defaultReactor().newBuild()
+                .addSources(ROOT_WITH_UNEQUAL_DATE, IMPORTED_WITH_UNEQUAL_DATE)
+                .build();
     }
 
     @Test(expected = SomeModifiersUnresolvedException.class)
     public void revisionDatesInRootOnlyTest() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(ROOT_WITH_DATE, IMPORTED_WITHOUT_DATE);
-
-        EffectiveModelContext result = reactor.build();
+        EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(ROOT_WITH_DATE, IMPORTED_WITHOUT_DATE)
+                .build();
         assertNotNull(result);
     }
 
     @Test
     public void revisionDatesInImportedOnlyTest() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(ROOT_WITHOUT_DATE, IMPORTED_WITH_DATE);
-
-        EffectiveModelContext result = reactor.build();
+        EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(ROOT_WITHOUT_DATE, IMPORTED_WITH_DATE)
+                .build();
         assertNotNull(result);
     }
 
     @Test
     public void noRevisionInRootAndImportedTest() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(ROOT_WITH_NO_DATE, IMPORTED_WITH_NO_DATE);
-
-        EffectiveModelContext result = reactor.build();
+        EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(ROOT_WITH_NO_DATE, IMPORTED_WITH_NO_DATE)
+                .build();
         assertNotNull(result);
     }
 }
index da0155965b2b832149ddd9644ea22153ad66e094..6b8ca46038398007a9b6144cf99504e5a89d7991 100644 (file)
@@ -16,6 +16,7 @@ import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResour
 
 import java.util.logging.Logger;
 import org.junit.Test;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException;
@@ -23,7 +24,6 @@ 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.BuildAction;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class IncludeResolutionTest {
 
@@ -45,16 +45,15 @@ public class IncludeResolutionTest {
 
     @Test
     public void includeTest() throws SourceException, ReactorException {
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(ROOT, SUBMODULE1, SUBMODULE2);
-        EffectiveModelContext result = reactor.build();
+        EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(ROOT, SUBMODULE1, SUBMODULE2)
+                .build();
         assertNotNull(result);
     }
 
     @Test
     public void missingIncludedSourceTest() throws SourceException {
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(ERROR_MODULE);
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild().addSource(ERROR_MODULE);
         try {
             reactor.build();
             fail("reactor.process should fail due to missing included source");
@@ -68,8 +67,7 @@ public class IncludeResolutionTest {
 
     @Test
     public void missingIncludedSourceTest2() throws SourceException {
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(ERROR_SUBMODULE);
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild().addSource(ERROR_SUBMODULE);
         try {
             reactor.build();
             fail("reactor.process should fail due to missing included source");
@@ -83,8 +81,7 @@ public class IncludeResolutionTest {
 
     @Test
     public void missingIncludedSourceTest3() throws SourceException, ReactorException {
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(MISSING_PARENT_MODULE);
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild().addSource(MISSING_PARENT_MODULE);
         try {
             reactor.build();
             fail("reactor.process should fail due to missing belongsTo source");
index 231792e9f358e66ddb409934473d14ba4bfa9f25..9a482200e952951c16297abc75efd7b34837696f 100644 (file)
@@ -15,13 +15,13 @@ import static org.junit.Assert.fail;
 import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResource;
 
 import org.junit.Test;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException;
 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.reactor.CrossSourceStatementReactor.BuildAction;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class IncludeRevisionsTest {
 
@@ -38,20 +38,15 @@ public class IncludeRevisionsTest {
 
     @Test
     public void revsEqualTest() throws ReactorException {
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(EQUAL_REV, EQUAL_ROOT);
-
-        EffectiveModelContext result = reactor.build();
+        EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(EQUAL_REV, EQUAL_ROOT)
+                .build();
         assertNotNull(result);
     }
 
     @Test
     public void revsUnequalTest() throws ReactorException {
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(UNEQUAL_REV, UNEQUAL_ROOT);
-
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild().addSources(UNEQUAL_REV, UNEQUAL_ROOT);
         try {
             reactor.build();
             fail("reactor.process should fail due to unequal revisions in include and submodule");
@@ -63,20 +58,15 @@ public class IncludeRevisionsTest {
 
     @Test
     public void revIncludeOnly() throws ReactorException {
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(SUBMOD_ONLY_REV, SUBMOD_ONLY_ROOT);
-
-        EffectiveModelContext result = reactor.build();
+        EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(SUBMOD_ONLY_REV, SUBMOD_ONLY_ROOT)
+                .build();
         assertNotNull(result);
     }
 
     @Test
     public void revInModuleOnly() throws ReactorException {
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(MOD_ONLY_REV, MOD_ONLY_ROOT);
-
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild().addSources(MOD_ONLY_REV, MOD_ONLY_ROOT);
         try {
             reactor.build();
             fail("reactor.process should fail due to missing revision in included submodule");
@@ -88,11 +78,9 @@ public class IncludeRevisionsTest {
 
     @Test
     public void revNowhereTest() throws ReactorException {
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(NOWHERE_REV, NOWHERE_ROOT);
-
-        EffectiveModelContext result = reactor.build();
+        EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(NOWHERE_REV, NOWHERE_ROOT)
+                .build();
         assertNotNull(result);
     }
 }
index 15e44a6c2cd2e2012de3bfbe846699107c41f055..553fb8ce3bf89b6374f8bf4f10e972658024ae77 100644 (file)
@@ -17,7 +17,7 @@ import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResour
 
 import java.util.Iterator;
 import java.util.Set;
-import org.junit.Before;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
@@ -26,25 +26,18 @@ import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-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;
 
 public class IncludedStmtsTest {
-
-    private static final StatementStreamSource ROOT_MODULE = sourceForResource(
-        "/included-statements-test/root-module.yang");
-    private static final StatementStreamSource CHILD_MODULE = sourceForResource(
-            "/included-statements-test/child-module.yang");
-
-    private SchemaContext result;
-
-    @Before
-    public void setup() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(ROOT_MODULE, CHILD_MODULE);
-        result = reactor.buildEffective();
+    private static SchemaContext result;
+
+    @BeforeClass
+    public static void setup() throws ReactorException {
+        result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/included-statements-test/root-module.yang"))
+                .addSource(sourceForResource("/included-statements-test/child-module.yang"))
+                .buildEffective();
     }
 
     @Test
index c75ff64ddc160a6c60040aefaa5fbe2b2d536b2a..609880ab153604661db927924a4139f0e72d049e 100644 (file)
@@ -14,12 +14,12 @@ import static org.junit.Assert.fail;
 import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResource;
 
 import org.junit.Test;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 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.BuildAction;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class KeyTest {
 
@@ -30,20 +30,15 @@ public class KeyTest {
 
     @Test
     public void keySimpleTest() throws ReactorException {
-
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(KEY_SIMPLE_AND_COMP);
-
-        EffectiveModelContext result = reactor.build();
+        EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(KEY_SIMPLE_AND_COMP)
+                .build();
         assertNotNull(result);
     }
 
     @Test
     public void keyCompositeInvalid() {
-
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(KEY_COMP_DUPLICATE);
-
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild().addSource(KEY_COMP_DUPLICATE);
         try {
             reactor.build();
             fail("reactor.process should fail due to duplicate name in key");
index cff47bd2de416f32f697418aa4c2bcd85aa133de..fc02066a5c23140256b40f253eaa8d05a31cdd4b 100644 (file)
@@ -14,33 +14,24 @@ import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResour
 
 import org.junit.Test;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-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.reactor.CrossSourceStatementReactor.BuildAction;
 
 public class ListKeysTest {
 
     @Test
     public void correctListKeysTest() throws ReactorException {
-
-        final StatementStreamSource yangFile = sourceForResource("/list-keys-test/correct-list-keys-test.yang");
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(yangFile);
-
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/list-keys-test/correct-list-keys-test.yang"))
+                .buildEffective();
         assertNotNull(result);
     }
 
     @Test
     public void incorrectListKeysTest1() {
-
-        final StatementStreamSource yangFile = sourceForResource("/list-keys-test/incorrect-list-keys-test.yang");
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(yangFile);
-
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/list-keys-test/incorrect-list-keys-test.yang"));
         try {
             reactor.buildEffective();
             fail("effective build should fail due to list instead of leaf referenced in list key");
@@ -51,12 +42,8 @@ public class ListKeysTest {
 
     @Test
     public void incorrectListKeysTest2() {
-
-        final StatementStreamSource yangFile = sourceForResource("/list-keys-test/incorrect-list-keys-test2.yang");
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(yangFile);
-
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/list-keys-test/incorrect-list-keys-test2.yang"));
         try {
             reactor.buildEffective();
             fail("effective build should fail due to missing leaf referenced in list key");
@@ -67,12 +54,8 @@ public class ListKeysTest {
 
     @Test
     public void incorrectListKeysTest3() {
-
-        final StatementStreamSource yangFile = sourceForResource("/list-keys-test/incorrect-list-keys-test3.yang");
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(yangFile);
-
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/list-keys-test/incorrect-list-keys-test3.yang"));
         try {
             reactor.buildEffective();
             fail("effective build should fail due to list instead of leaf in grouping referenced in list key");
@@ -83,12 +66,8 @@ public class ListKeysTest {
 
     @Test
     public void incorrectListKeysTest4()  {
-
-        final StatementStreamSource yangFile = sourceForResource("/list-keys-test/incorrect-list-keys-test4.yang");
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(yangFile);
-
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/list-keys-test/incorrect-list-keys-test4.yang"));
         try {
             reactor.buildEffective();
             fail("effective build should fail due to list instead of leaf in grouping augmented to list referenced "
index ca6e0a4d0c2b78e8f343e509a13eed9f2f1d9cae..7988b5c03447bb7c5ce4afa50c71f13a372559c7 100644 (file)
@@ -23,21 +23,16 @@ import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-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;
 
 public class ListTest {
 
-    private static final StatementStreamSource LIST_MODULE = sourceForResource("/list-test/list-test.yang");
-
     @Test
     public void listAndLeavesTest() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(LIST_MODULE);
-
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/list-test/list-test.yang"))
+                .buildEffective();
         assertNotNull(result);
 
         final Module testModule = result.findModules("list-test").iterator().next();
index c5e807a729ee5f694d5b214af1a137c01b541992..bf431bf21896c7d648ae4eb1dedde2c446a504c1 100644 (file)
@@ -31,9 +31,9 @@ import org.opendaylight.yangtools.yang.model.api.SchemaNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class MoreRevisionsTest {
 
@@ -69,7 +69,7 @@ public class MoreRevisionsTest {
 
     @Test
     public void readAndParseYangFileTest() throws ReactorException {
-        SchemaContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild().addSource(REVFILE).buildEffective();
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild().addSource(REVFILE).buildEffective();
         assertNotNull(result);
         final Module moduleByName = result.getModules().iterator().next();
         assertEquals("2015-06-07", moduleByName.getQNameModule().getRevision().get().toString());
@@ -77,7 +77,7 @@ public class MoreRevisionsTest {
 
     @Test
     public void twoRevisionsTest() throws ReactorException {
-        SchemaContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
                 .addSources(TED_20130712, TED_20131021, IETF_TYPES)
                 .buildEffective();
         assertNotNull(result);
@@ -85,7 +85,7 @@ public class MoreRevisionsTest {
 
     @Test
     public void twoRevisionsTest2() throws ReactorException {
-        SchemaContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
                 .addSources(NETWORK_TOPOLOGY_20130712, NETWORK_TOPOLOGY_20131021, IETF_TYPES)
                 .buildEffective();
         assertNotNull(result);
@@ -97,7 +97,7 @@ public class MoreRevisionsTest {
 
     @Test
     public void moreRevisionsListKeyTest() throws ReactorException {
-        SchemaContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
                 .addSources(TED_20130712, TED_20131021, ISIS_20130712, ISIS_20131021, L3_20130712, L3_20131021)
                 .addSources(IETF_TYPES,NETWORK_TOPOLOGY_20130712, NETWORK_TOPOLOGY_20131021)
                 .buildEffective();
index b33289d6e909b6d75e0ff92e1ce94cef09768c4e..4fecbad377f656ae8a12e9cc15c0b31024670d98 100644 (file)
@@ -25,22 +25,15 @@ import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.MustDefinition;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-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;
 
 public class MustAndWhenStmtTest {
-
-    private static final StatementStreamSource MUST_MODULE = sourceForResource("/must-when-stmt-test/must-test.yang");
-    private static final StatementStreamSource WHEN_MODULE = sourceForResource("/must-when-stmt-test/when-test.yang");
-
     @Test
     public void mustStmtTest() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(MUST_MODULE);
-
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/must-when-stmt-test/must-test.yang"))
+                .buildEffective();
         assertNotNull(result);
 
         final Module testModule = result.findModules("must-test").iterator().next();
@@ -74,10 +67,9 @@ public class MustAndWhenStmtTest {
 
     @Test
     public void whenStmtTest() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(WHEN_MODULE);
-
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/must-when-stmt-test/when-test.yang"))
+                .buildEffective();
         assertNotNull(result);
 
         final Module testModule = result.findModules("when-test").iterator().next();
index 21245d0f1ee708f972ed1abd44b95ab11f723f70..c987e68b3b81d0cef168e54edb6950b679866fbd 100644 (file)
@@ -20,22 +20,16 @@ import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-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;
 
 public class NotificationStmtTest {
 
-    private static final StatementStreamSource NOTIFICATION_MODULE = sourceForResource("/model/baz.yang");
-    private static final StatementStreamSource IMPORTED_MODULE = sourceForResource("/model/bar.yang");
-
     @Test
     public void notificationTest() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(NOTIFICATION_MODULE, IMPORTED_MODULE);
-
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(sourceForResource("/model/baz.yang"), sourceForResource("/model/bar.yang"))
+                .buildEffective();
         assertNotNull(result);
 
         final Module testModule = result.findModules("baz").iterator().next();
index d3528c045f743e805b8465cbaae79683efe1e9ee..e52afedf11f674b4df180287909f0c863ed2ab51 100644 (file)
@@ -26,23 +26,18 @@ import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementSource;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-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;
 
 public class RpcStmtTest {
 
-    private static final StatementStreamSource RPC_MODULE = sourceForResource("/model/baz.yang");
-    private static final StatementStreamSource IMPORTED_MODULE = sourceForResource("/model/bar.yang");
-    private static final StatementStreamSource FOO_MODULE = sourceForResource("/rpc-stmt-test/foo.yang");
-
     @Test
     public void rpcTest() throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(RPC_MODULE, IMPORTED_MODULE, FOO_MODULE);
-
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/model/baz.yang"))
+                .addSource(sourceForResource("/model/bar.yang"))
+                .addSource(sourceForResource("/rpc-stmt-test/foo.yang"))
+                .buildEffective();
         assertNotNull(result);
 
         final Module testModule = result.findModules("baz").iterator().next();
index 3c9163bc09ae2e19fc91b9147244e43affff2e87..da991e22de8c10f64e50e69c84e28396248357e3 100644 (file)
@@ -31,13 +31,13 @@ import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.StatementParserMode;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 import org.opendaylight.yangtools.yang.model.repo.api.YinTextSchemaSource;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YangStatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YinStatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YinTextToDomTransformer;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 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.reactor.CrossSourceStatementReactor.BuildAction;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.xml.sax.SAXException;
@@ -132,9 +132,8 @@ public class StmtTestUtils {
     public static SchemaContext parseYangSources(final StatementParserMode statementParserMode,
             final Set<QName> supportedFeatures, final Collection<? extends StatementStreamSource> sources)
             throws ReactorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(
-            statementParserMode);
-        reactor.addSources(sources);
+        final BuildAction reactor = DefaultReactors.defaultReactor().newBuild(statementParserMode)
+                .addSources(sources);
         if (supportedFeatures != null) {
             reactor.setSupportedFeatures(supportedFeatures);
         }
@@ -225,9 +224,8 @@ public class StmtTestUtils {
     private static SchemaContext parseYangSources(final StatementStreamSource[] yangSources,
             final StatementStreamSource[] libSources, final Set<QName> supportedFeatures) throws ReactorException {
 
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(yangSources);
-        reactor.addLibSources(libSources);
+        final BuildAction reactor = DefaultReactors.defaultReactor().newBuild()
+                .addSources(yangSources).addLibSources(libSources);
         if (supportedFeatures != null) {
             reactor.setSupportedFeatures(supportedFeatures);
         }
@@ -253,12 +251,7 @@ public class StmtTestUtils {
 
     public static SchemaContext parseYinSources(final StatementParserMode statementParserMode,
             final StatementStreamSource... sources) throws ReactorException {
-
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR
-                .newBuild(statementParserMode);
-        reactor.addSources(sources);
-
-        return reactor.buildEffective();
+        return DefaultReactors.defaultReactor().newBuild(statementParserMode).addSources(sources).buildEffective();
     }
 
     public static Module findImportedModule(final SchemaContext context, final Module rootModule,
index 176764ee829c9c0724f4e1efecde9471e8533c54..c22ef08044accf5d539f8cc80cc2d83235afcfe6 100644 (file)
@@ -35,14 +35,13 @@ import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.parser.api.YangSyntaxErrorException;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 import org.opendaylight.yangtools.yang.model.repo.api.YinTextSchemaSource;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YangStatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YinStatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YinTextToDomTransformer;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 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.reactor.CrossSourceStatementReactor.BuildAction;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.xml.sax.SAXException;
@@ -55,7 +54,7 @@ public final class TestUtils {
 
     public static SchemaContext loadModules(final URI resourceDirectory)
             throws ReactorException, IOException, YangSyntaxErrorException {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
+        final BuildAction reactor = DefaultReactors.defaultReactor().newBuild();
         File[] files = new File(resourceDirectory).listFiles();
 
         for (File file : files) {
@@ -71,7 +70,7 @@ public final class TestUtils {
 
     public static SchemaContext loadModuleResources(final Class<?> refClass, final String... resourceNames)
             throws IOException, ReactorException, YangSyntaxErrorException {
-        final BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
+        final BuildAction reactor = DefaultReactors.defaultReactor().newBuild();
 
         for (String resourceName : resourceNames) {
             reactor.addSource(YangStatementStreamSource.create(YangTextSchemaSource.forResource(refClass,
@@ -83,7 +82,7 @@ public final class TestUtils {
 
     public static SchemaContext loadYinModules(final URI resourceDirectory) throws ReactorException, SAXException,
             IOException {
-        final BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
+        final BuildAction reactor = DefaultReactors.defaultReactor().newBuild();
 
         for (File file : new File(resourceDirectory).listFiles()) {
             reactor.addSource(YinStatementStreamSource.create(YinTextToDomTransformer.transformSource(
@@ -95,7 +94,7 @@ public final class TestUtils {
 
     public static Module loadYinModule(final YinTextSchemaSource source) throws ReactorException, SAXException,
             IOException {
-        final SchemaContext ctx = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        final SchemaContext ctx = DefaultReactors.defaultReactor().newBuild()
                 .addSource(YinStatementStreamSource.create(YinTextToDomTransformer.transformSource(source)))
                 .buildEffective();
         return ctx.getModules().iterator().next();
@@ -199,12 +198,7 @@ public final class TestUtils {
     }
 
     public static SchemaContext parseYangSources(final StatementStreamSource... sources) throws ReactorException {
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR
-                .newBuild();
-        reactor.addSources(sources);
-
-        return reactor.buildEffective();
+        return DefaultReactors.defaultReactor().newBuild().addSources(sources).buildEffective();
     }
 
     public static SchemaContext parseYangSources(final File... files)
index b5959a2ba0d363f99926a40ad1085b791fc57bc6..2ea8798b774804147278cca5de79d4839aa588f1 100644 (file)
@@ -17,22 +17,16 @@ import java.util.Set;
 import org.junit.Test;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-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;
 
 public class TypedefSubStmtsTest {
 
-    private static final StatementStreamSource FOOBAR = sourceForResource(
-        "/typedef-substmts-test/typedef-substmts-test.yang");
-
     @Test
     public void typedefSubStmtsTest() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(FOOBAR);
-
-        SchemaContext result = reactor.buildEffective();
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/typedef-substmts-test/typedef-substmts-test.yang"))
+                .buildEffective();
         assertNotNull(result);
 
         Set<TypeDefinition<?>> typedefs = result.getTypeDefinitions();
index 8d7fbef8a42dd260504236b02a38cb7c6c61b229..05c01fe7df4fd24c0a05cc9af6457730ae2dcdbb 100644 (file)
@@ -40,12 +40,12 @@ import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint;
 import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
 import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException;
 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.reactor.CrossSourceStatementReactor.BuildAction;
 
 public class TypesResolutionTest {
     private SchemaContext context;
@@ -351,36 +351,26 @@ public class TypesResolutionTest {
 
     @Test
     public void testUnionWithExt() throws ReactorException {
-
-        final StatementStreamSource yangFile1 = sourceForResource("/types/union-with-ext/extdef.yang");
-        final StatementStreamSource yangFile2 = sourceForResource("/types/union-with-ext/unionbug.yang");
-        final StatementStreamSource yangFile3 = sourceForResource("/ietf/ietf-inet-types@2010-09-24.yang");
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(yangFile1, yangFile2, yangFile3);
-
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/types/union-with-ext/extdef.yang"))
+                .addSource(sourceForResource("/types/union-with-ext/unionbug.yang"))
+                .addSource(sourceForResource("/ietf/ietf-inet-types@2010-09-24.yang"))
+                .buildEffective();
         assertNotNull(result);
     }
 
     @Test
     public void testUnionWithBits() throws ReactorException {
-
-        final StatementStreamSource yangFile = sourceForResource("/types/union-with-bits/union-bits-model.yang");
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(yangFile);
-
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/types/union-with-bits/union-bits-model.yang"))
+                .buildEffective();
         assertNotNull(result);
     }
 
     @Test
     public void testUnionInList() {
-        final StatementStreamSource yangFile = sourceForResource("/types/union-in-list/unioninlisttest.yang");
-
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(yangFile);
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/types/union-in-list/unioninlisttest.yang"));
 
         try {
             final SchemaContext result = reactor.buildEffective();
index 9592d4cd63a7de79cb96d412ac6ad4a79628837b..8d7c19da3b666f806823a6ca1835ee3c7e48dfcd 100644 (file)
@@ -28,12 +28,11 @@ import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.InvalidSubstatementException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.MissingSubstatementException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 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;
 
 public class YangDataExtensionTest {
 
@@ -119,11 +118,10 @@ public class YangDataExtensionTest {
 
     @Test
     public void testIfFeatureStatementBeingIgnoredInYangDataBody() throws Exception {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.setSupportedFeatures(ImmutableSet.of());
-        reactor.addSources(FOOBAR_MODULE, IETF_RESTCONF_MODULE);
-
-        final SchemaContext schemaContext = reactor.buildEffective();
+        final SchemaContext schemaContext = DefaultReactors.defaultReactor().newBuild()
+                .setSupportedFeatures(ImmutableSet.of())
+                .addSources(FOOBAR_MODULE, IETF_RESTCONF_MODULE)
+                .buildEffective();
         assertNotNull(schemaContext);
 
         final Module foobar = schemaContext.findModule("foobar", REVISION).get();
index 82d9967e3b0425f8817823229708cb552858e7ae..7b07a3b995098735caf980c03c64c85ca750291f 100644 (file)
@@ -12,12 +12,10 @@ import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResour
 
 import org.junit.Test;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 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.reactor.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 
 public class YangFileStmtTest {
     //basic statements to parse and write
@@ -44,29 +42,26 @@ public class YangFileStmtTest {
     private static final StatementStreamSource SUBFOO2 = sourceForResource("/model/subfoo.yang");
 
     @Test
-    public void readAndParseYangFileTestModel() throws SourceException, ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-
-        reactor.addSources(BAZ,FOO,BAR,SUBFOO);
-        EffectiveModelContext result = reactor.build();
+    public void readAndParseYangFileTestModel() throws ReactorException {
+        EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(BAZ, FOO, BAR, SUBFOO)
+                .build();
         assertNotNull(result);
     }
 
     @Test
-    public void readAndParseYangFileTestModel2() throws SourceException, ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-
-        reactor.addSources(BAZ2,FOO2,BAR2,SUBFOO2);
-        EffectiveModelContext result = reactor.build();
+    public void readAndParseYangFileTestModel2() throws ReactorException {
+        EffectiveModelContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(BAZ2, FOO2, BAR2, SUBFOO2)
+                .build();
         assertNotNull(result);
     }
 
     @Test
-    public void readAndParseYangFileTest() throws SourceException, ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(YANGFILE, SIMPLENODES, IMPORTEDYANGFILE, FOOBAR);
-        reactor.addSources(EXTFILE, EXTUSE);
-        SchemaContext result = reactor.buildEffective();
+    public void readAndParseYangFileTest() throws ReactorException {
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(YANGFILE, SIMPLENODES, IMPORTEDYANGFILE, FOOBAR, EXTFILE, EXTUSE)
+                .buildEffective();
         assertNotNull(result);
     }
 }
\ No newline at end of file
index b49ae82969622672d17e39ec21f5f24618d8a6c9..cac44d56546103444a9e1041ff3df07cf3314411 100644 (file)
@@ -64,12 +64,12 @@ import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.Uint32TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
 import org.opendaylight.yangtools.yang.model.util.type.BaseTypes;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException;
 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.reactor.CrossSourceStatementReactor.BuildAction;
 
 public class YangParserTest {
     private static final QNameModule FOO = QNameModule.create(URI.create("urn:opendaylight.foo"),
@@ -725,15 +725,10 @@ public class YangParserTest {
 
     @Test
     public void unknownStatementBetweenRevisionsTest() throws ReactorException {
-
-        final StatementStreamSource yangModule = sourceForResource("/yang-grammar-test/revisions-extension.yang");
-        final StatementStreamSource yangSubmodule = sourceForResource(
-                "/yang-grammar-test/submodule-header-extension.yang");
-
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(yangModule, yangSubmodule);
-
-        final SchemaContext result = reactor.buildEffective();
+        final SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/yang-grammar-test/revisions-extension.yang"))
+                .addSource(sourceForResource("/yang-grammar-test/submodule-header-extension.yang"))
+                .buildEffective();
         assertNotNull(result);
     }
 
@@ -747,8 +742,8 @@ public class YangParserTest {
         final StatementStreamSource yangFile3 = sourceForResource(
                 "/yang-grammar-test/stmtsep-in-statements-sub.yang");
 
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(yangFile1, yangFile2, yangFile3);
+        final BuildAction reactor = DefaultReactors.defaultReactor().newBuild()
+                .addSources(yangFile1, yangFile2, yangFile3);
         // TODO: change test or create new module in order to respect new statement parser validations
         try {
             final SchemaContext result = reactor.buildEffective();
index 74f43e19abe88bf128bb256c8a5d2dce3fb5b649..71cdf653009be1d05c0cf26b57c337ba4ccc82b2 100644 (file)
@@ -44,9 +44,9 @@ import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.UsesNode;
 import org.opendaylight.yangtools.yang.model.api.type.Uint16TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.Uint8TypeDefinition;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
+import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 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;
 
 public class YangParserWithContextTest {
     private static final URI T1_NS = URI.create("urn:simple.demo.test1");
@@ -69,17 +69,12 @@ public class YangParserWithContextTest {
             sourceForResource("/ietf/network-topology@2013-10-21.yang") };
 
     @Test
-    public void testTypeFromContext() throws Exception {
-
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-
-        final StatementStreamSource types = sourceForResource("/types/custom-types-test@2012-04-04.yang");
-        final StatementStreamSource test1 = sourceForResource("/context-test/test1.yang");
-
-        reactor.addSources(IETF);
-        reactor.addSources(types, test1);
-
-        final SchemaContext context = reactor.buildEffective();
+    public void testTypeFromContext() throws ReactorException {
+        final SchemaContext context = DefaultReactors.defaultReactor().newBuild()
+                .addSources(IETF)
+                .addSource(sourceForResource("/types/custom-types-test@2012-04-04.yang"))
+                .addSource(sourceForResource("/context-test/test1.yang"))
+                .buildEffective();
 
         final Module module = context.findModule("test1", Revision.of("2013-06-18")).get();
         final LeafSchemaNode leaf = (LeafSchemaNode) module.getDataChildByName(QName.create(module.getQNameModule(),
@@ -108,12 +103,10 @@ public class YangParserWithContextTest {
     }
 
     @Test
-    public void testUsesFromContext() throws Exception {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-
-        final StatementStreamSource test2 = sourceForResource("/context-test/test2.yang");
-        reactor.addSources(BAZ, FOO, BAR, SUBFOO, test2);
-        final SchemaContext context = reactor.buildEffective();
+    public void testUsesFromContext() throws ReactorException {
+        final SchemaContext context = DefaultReactors.defaultReactor().newBuild()
+                .addSources(BAZ, FOO, BAR, SUBFOO, sourceForResource("/context-test/test2.yang"))
+                .buildEffective();
 
         final Module testModule = context.findModule("test2", Revision.of("2013-06-18")).get();
         final Module contextModule = context.findModules(URI.create("urn:opendaylight.baz")).iterator().next();
@@ -214,13 +207,10 @@ public class YangParserWithContextTest {
     }
 
     @Test
-    public void testUsesRefineFromContext() throws Exception {
-
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-
-        final StatementStreamSource test2 = sourceForResource("/context-test/test2.yang");
-        reactor.addSources(BAZ, FOO, BAR, SUBFOO, test2);
-        final SchemaContext context = reactor.buildEffective();
+    public void testUsesRefineFromContext() throws ReactorException {
+        final SchemaContext context = DefaultReactors.defaultReactor().newBuild()
+                .addSources(BAZ, FOO, BAR, SUBFOO, sourceForResource("/context-test/test2.yang"))
+                .buildEffective();
 
         final Module module = context.findModule("test2", Revision.of("2013-06-18")).get();
         final ContainerSchemaNode peer = (ContainerSchemaNode) module.getDataChildByName(QName.create(
@@ -287,16 +277,12 @@ public class YangParserWithContextTest {
     }
 
     @Test
-    public void testIdentity() throws Exception {
-
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-
-        final StatementStreamSource types = sourceForResource("/types/custom-types-test@2012-04-04.yang");
-        final StatementStreamSource test3 = sourceForResource("/context-test/test3.yang");
-
-        reactor.addSources(IETF);
-        reactor.addSources(types, test3);
-        final SchemaContext context = reactor.buildEffective();
+    public void testIdentity() throws ReactorException {
+        final SchemaContext context = DefaultReactors.defaultReactor().newBuild()
+                .addSources(IETF)
+                .addSource(sourceForResource("/types/custom-types-test@2012-04-04.yang"))
+                .addSource(sourceForResource("/context-test/test3.yang"))
+                .buildEffective();
 
         final Module module = context.findModule("test3", Revision.of("2013-06-18")).get();
         final Set<IdentitySchemaNode> identities = module.getIdentities();
@@ -316,17 +302,12 @@ public class YangParserWithContextTest {
     }
 
     @Test
-    public void testUnknownNodes() throws Exception {
-
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-
-        final StatementStreamSource types = sourceForResource("/types/custom-types-test@2012-04-04.yang");
-        final StatementStreamSource test3 = sourceForResource("/context-test/test3.yang");
-
-        reactor.addSources(IETF);
-        reactor.addSources(types, test3);
-
-        final SchemaContext context = reactor.buildEffective();
+    public void testUnknownNodes() throws ReactorException {
+        final SchemaContext context = DefaultReactors.defaultReactor().newBuild()
+                .addSources(IETF)
+                .addSource(sourceForResource("/types/custom-types-test@2012-04-04.yang"))
+                .addSource(sourceForResource("/context-test/test3.yang"))
+                .buildEffective();
 
         final Module module = context.findModule("test3", Revision.of("2013-06-18")).get();
         final ContainerSchemaNode network = (ContainerSchemaNode) module.getDataChildByName(QName.create(
@@ -344,7 +325,7 @@ public class YangParserWithContextTest {
     }
 
     @Test
-    public void testAugment() throws Exception {
+    public void testAugment() throws ReactorException {
         final StatementStreamSource resource = sourceForResource("/context-augment-test/test4.yang");
         final StatementStreamSource test1 = sourceForResource("/context-augment-test/test1.yang");
         final StatementStreamSource test2 = sourceForResource("/context-augment-test/test2.yang");
@@ -380,15 +361,11 @@ public class YangParserWithContextTest {
     }
 
     @Test
-    public void testDeviation() throws Exception {
-
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-
-        final StatementStreamSource bar = sourceForResource("/model/bar.yang");
-        final StatementStreamSource deviationTest = sourceForResource("/context-test/deviation-test.yang");
-
-        reactor.addSources(bar, deviationTest);
-        final SchemaContext context = reactor.buildEffective();
+    public void testDeviation() throws ReactorException {
+        final SchemaContext context = DefaultReactors.defaultReactor().newBuild()
+                .addSource(sourceForResource("/model/bar.yang"))
+                .addSource(sourceForResource("/context-test/deviation-test.yang"))
+                .buildEffective();
 
         final Module testModule = context.findModule("deviation-test", Revision.of("2013-02-27")).get();
         final Set<Deviation> deviations = testModule.getDeviations();
index 0c6f2cc06f4634b3c312c89a8e92a894148f54b5..27a53ed45fe61c842adc2f2127187dc02cf78725 100644 (file)
@@ -20,10 +20,9 @@ import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition;
 import org.opendaylight.yangtools.yang.model.util.type.BaseTypes;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 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;
 
 public class YangTypes2StmtTest {
 
@@ -50,9 +49,9 @@ public class YangTypes2StmtTest {
 
     @Test
     public void readAndParseYangFileTest() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(TYPEFILE1, TYPEFILE2, TYPEFILE3, TYPEFILE4);
-        SchemaContext result = reactor.buildEffective();
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(TYPEFILE1, TYPEFILE2, TYPEFILE3, TYPEFILE4)
+                .buildEffective();
         assertNotNull(result);
 
         final LeafSchemaNode lfDecimalNode = (LeafSchemaNode) result.getDataChildByName(LF_DECIMAL);
index 3be8f4feed00e18aee7e0ed96b35cdc46faf9a64..a0160f1e45336184f4a311071ab4e1b9a3ca536d 100644 (file)
@@ -12,10 +12,9 @@ import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResour
 
 import org.junit.Test;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 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;
 
 public class YangTypesStmtTest {
 
@@ -33,10 +32,9 @@ public class YangTypesStmtTest {
 
     @Test
     public void readAndParseYangFileTest() throws ReactorException {
-        CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild();
-        reactor.addSources(TYPEFILE1, TYPEFILE2, TYPEFILE3);
-        reactor.addSources(FILE1, FILE2, FILE3, FILE4);
-        SchemaContext result = reactor.buildEffective();
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
+                .addSources(TYPEFILE1, TYPEFILE2, TYPEFILE3, FILE1, FILE2, FILE3, FILE4)
+                .buildEffective();
         assertNotNull(result);
     }
 }
index 3b27675a0658fbd26f3cdabb7d7d17850bd55d84..426ce69396ee9e0e02bbf51dd63e3464a86137de 100644 (file)
@@ -18,6 +18,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.repo.api.YinTextSchemaSource;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YinStatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YinTextToDomTransformer;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
@@ -25,7 +26,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedEx
 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.BuildAction;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
 import org.opendaylight.yangtools.yang.stmt.TestUtils;
 import org.xml.sax.SAXException;
 
@@ -54,8 +54,8 @@ public class YinFileStmtTest {
     }
 
     @Test
-    public void readAndParseYinFileTestModel() throws SourceException, ReactorException {
-        SchemaContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+    public void readAndParseYinFileTestModel() throws ReactorException {
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
                 .addSources(YIN_FILE, EXT_FILE, EXT_USE_FILE)
                 .buildEffective();
         assertNotNull(result);
@@ -64,7 +64,7 @@ public class YinFileStmtTest {
     // parsing yin file whose import statement references a module which does not exist
     @Test(expected = SomeModifiersUnresolvedException.class)
     public void readAndParseInvalidYinFileTest() throws ReactorException {
-        SchemaContext result = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        SchemaContext result = DefaultReactors.defaultReactor().newBuild()
                 .addSource(INVALID_YIN_FILE)
                 .buildEffective();
         assertNotNull(result);
@@ -72,7 +72,7 @@ public class YinFileStmtTest {
 
     // parsing yin file with duplicate key name in a list statement
     public void readAndParseInvalidYinFileTest2() {
-        BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild()
+        BuildAction reactor = DefaultReactors.defaultReactor().newBuild()
                 .addSource(INVALID_YIN_FILE_2);
 
         try {
index cde11a3e3db3a84efc0fc8c7718e02e294c50b02..9fe693fcaf7e9dbbb7c81762469323eeabe7110e 100644 (file)
@@ -26,12 +26,12 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.parser.api.YangSyntaxErrorException;
 import org.opendaylight.yangtools.yang.model.repo.api.StatementParserMode;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
+import org.opendaylight.yangtools.yang.parser.impl.DefaultReactors;
 import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YangStatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.rfc6020.repo.YinStatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 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.reactor.CrossSourceStatementReactor.BuildAction;
 
 /**
  * Utility class which provides convenience methods for producing effective schema context based on the supplied
@@ -411,8 +411,7 @@ public final class YangParserTestUtils {
      */
     public static SchemaContext parseSources(final Set<QName> supportedFeatures,
             final StatementParserMode statementParserMode, final Collection<? extends StatementStreamSource> sources) {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(
-                statementParserMode);
+        final BuildAction reactor = DefaultReactors.defaultReactor().newBuild(statementParserMode);
         if (supportedFeatures != null) {
             reactor.setSupportedFeatures(supportedFeatures);
         }