From a56f747b898f4b9556a69b835861a5d522df35b5 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 22 Dec 2016 16:27:26 +0100 Subject: [PATCH] BUG-7159: eliminate use of CrossStatementSourceReactor yang-test-util provides a convenient way to parse YANG files into a SchemaContext, without relying on the internal layout of the yang parser. Convert tests to use these utilities, which simplifies test setup and allows the yang parser layout to evolve without breaking the world. Change-Id: Icbd0556b990ea9d5ff93c34330049a9683e04970 Signed-off-by: Robert Varga --- .../config/yang-jmx-generator-plugin/pom.xml | 5 +++ .../config/yang-jmx-generator/pom.xml | 3 +- .../yangjmxgenerator/AbstractYangTest.java | 18 ++++---- .../ModuleMXBeanEntryNameConflictTest.java | 11 ++--- .../UnknownExtensionTest.java | 18 +++----- .../md-sal/benchmark-data-store/pom.xml | 11 +++-- ...MemoryBrokerWriteTransactionBenchmark.java | 2 +- ...oryDatastoreWriteTransactionBenchmark.java | 2 +- .../dom/store/benchmark/BenchmarkModel.java | 8 ++-- ...toreWithSameThreadedExecutorBenchmark.java | 2 +- ...oryDataStoreWriteTransactionBenchmark.java | 2 +- .../md-sal/sal-binding-broker/pom.xml | 5 --- .../md-sal/sal-binding-dom-it/pom.xml | 3 +- .../dom/DOMRpcServiceTestBugfix560.java | 10 ++--- .../md-sal/sal-cluster-admin-impl/pom.xml | 4 ++ .../md-sal/sal-clustering-commons/pom.xml | 8 ++-- .../cluster/datastore/util/TestModel.java | 16 +++---- .../md-sal/sal-distributed-datastore/pom.xml | 4 ++ .../datastore/model/CompositeModel.java | 11 ++--- .../datastore/model/SchemaContextHelper.java | 37 ++++------------ .../md/cluster/datastore/model/TestModel.java | 44 +++++++++---------- opendaylight/md-sal/sal-dom-broker/pom.xml | 8 ++-- .../md/sal/dom/store/impl/TestModel.java | 8 +--- opendaylight/md-sal/sal-dom-xsql/pom.xml | 4 ++ .../org/opendaylight/xsql/test/XSQLTest.java | 15 +++---- .../md-sal/sal-inmemory-datastore/pom.xml | 10 ++--- .../md/sal/dom/store/impl/TestModel.java | 8 +--- .../md-sal/sal-remoterpc-connector/pom.xml | 9 ++-- .../remote/rpc/AbstractRpcTest.java | 22 +++------- 29 files changed, 126 insertions(+), 182 deletions(-) diff --git a/opendaylight/config/yang-jmx-generator-plugin/pom.xml b/opendaylight/config/yang-jmx-generator-plugin/pom.xml index 1cd9971d47..9eb171d20f 100644 --- a/opendaylight/config/yang-jmx-generator-plugin/pom.xml +++ b/opendaylight/config/yang-jmx-generator-plugin/pom.xml @@ -78,6 +78,11 @@ test + + org.opendaylight.yangtools + yang-test-util + + diff --git a/opendaylight/config/yang-jmx-generator/pom.xml b/opendaylight/config/yang-jmx-generator/pom.xml index e1b905f9a2..dd1812c839 100644 --- a/opendaylight/config/yang-jmx-generator/pom.xml +++ b/opendaylight/config/yang-jmx-generator/pom.xml @@ -45,8 +45,7 @@ org.opendaylight.yangtools - yang-parser-impl - test + yang-test-util diff --git a/opendaylight/config/yang-jmx-generator/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/AbstractYangTest.java b/opendaylight/config/yang-jmx-generator/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/AbstractYangTest.java index fa99dea14d..eb5f70d7c2 100644 --- a/opendaylight/config/yang-jmx-generator/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/AbstractYangTest.java +++ b/opendaylight/config/yang-jmx-generator/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/AbstractYangTest.java @@ -27,8 +27,7 @@ import org.opendaylight.yangtools.yang.common.QName; 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.stmt.reactor.CrossSourceStatementReactor; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline; +import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; public abstract class AbstractYangTest { protected SchemaContext context; @@ -57,8 +56,7 @@ public abstract class AbstractYangTest { yangISs.addAll(getConfigApiYangInputStreams()); - final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - context = reactor.buildEffective(yangISs); + context = YangParserTestUtils.parseYangStreams(yangISs); // close ISs for (InputStream is : yangISs) { is.close(); @@ -81,11 +79,10 @@ public abstract class AbstractYangTest { } public static List getConfigApiYangInputStreams() { - return getStreams("/META-INF/yang/config.yang", - "/META-INF/yang/rpc-context.yang"); + return getStreams("/META-INF/yang/config.yang", "/META-INF/yang/rpc-context.yang"); } - public Map mapIdentitiesByQNames(Module module) { + public Map mapIdentitiesByQNames(final Module module) { Map result = new HashMap<>(); for (IdentitySchemaNode identitySchemaNode : module.getIdentities()) { QName qName = identitySchemaNode.getQName(); @@ -98,7 +95,7 @@ public abstract class AbstractYangTest { return result; } - protected static List getStreams(String... paths) { + protected static List getStreams(final String... paths) { List result = new ArrayList<>(); for (String path : paths) { InputStream is = AbstractYangTest.class.getResourceAsStream(path); @@ -108,12 +105,13 @@ public abstract class AbstractYangTest { return result; } - protected Map loadThreadsServiceInterfaceEntries(String packageName) { + protected Map loadThreadsServiceInterfaceEntries(final String packageName) { Map identitiesToSIs = new HashMap<>(); return ServiceInterfaceEntry.create(threadsModule, packageName,identitiesToSIs); } - protected Map loadThreadsJava(Map modulesToSIEs, String packageName) { + protected Map loadThreadsJava( + final Map modulesToSIEs, final String packageName) { Map namesToMBEs = ModuleMXBeanEntry .create(threadsJavaModule, modulesToSIEs, context, new TypeProviderWrapper(new TypeProviderImpl (context)), packageName); diff --git a/opendaylight/config/yang-jmx-generator/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/ModuleMXBeanEntryNameConflictTest.java b/opendaylight/config/yang-jmx-generator/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/ModuleMXBeanEntryNameConflictTest.java index e7f1025c4d..2fc1be170a 100644 --- a/opendaylight/config/yang-jmx-generator/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/ModuleMXBeanEntryNameConflictTest.java +++ b/opendaylight/config/yang-jmx-generator/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/ModuleMXBeanEntryNameConflictTest.java @@ -23,10 +23,8 @@ import org.junit.Test; import org.opendaylight.controller.config.yangjmxgenerator.plugin.util.NameConflictException; import org.opendaylight.controller.config.yangjmxgenerator.plugin.util.YangModelSearchUtils; import org.opendaylight.yangtools.sal.binding.yang.types.TypeProviderImpl; -import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline; +import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -105,13 +103,13 @@ public class ModuleMXBeanEntryNameConflictTest extends AbstractYangTest { "port"); } - private String getYangModuleName(String name) { + private static String getYangModuleName(final String name) { int startIndex = 0; int endIndex = name.indexOf(".yang"); return name.substring(startIndex, endIndex); } - private Module loadYangs(File testedModule, String moduleName) + private Module loadYangs(final File testedModule, final String moduleName) throws Exception { List yangISs = new ArrayList<>(); yangISs.addAll(getStreams("/ietf-inet-types.yang")); @@ -120,8 +118,7 @@ public class ModuleMXBeanEntryNameConflictTest extends AbstractYangTest { yangISs.addAll(getConfigApiYangInputStreams()); - final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - context = reactor.buildEffective(yangISs); + context = YangParserTestUtils.parseYangStreams(yangISs); // close ISs for (InputStream is : yangISs) { is.close(); diff --git a/opendaylight/config/yang-jmx-generator/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/unknownextension/UnknownExtensionTest.java b/opendaylight/config/yang-jmx-generator/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/unknownextension/UnknownExtensionTest.java index 3aee10bcbb..85a0ef0107 100644 --- a/opendaylight/config/yang-jmx-generator/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/unknownextension/UnknownExtensionTest.java +++ b/opendaylight/config/yang-jmx-generator/src/test/java/org/opendaylight/controller/config/yangjmxgenerator/unknownextension/UnknownExtensionTest.java @@ -17,8 +17,7 @@ import org.junit.Test; import org.opendaylight.controller.config.yangjmxgenerator.ConfigConstants; import org.opendaylight.controller.config.yangjmxgenerator.ServiceInterfaceEntryTest; import org.opendaylight.controller.config.yangjmxgenerator.plugin.util.YangModelSearchUtils; -import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline; +import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; public class UnknownExtensionTest extends ServiceInterfaceEntryTest { @@ -28,21 +27,16 @@ public class UnknownExtensionTest extends ServiceInterfaceEntryTest { .getResourceAsStream("test-ifcWithUnknownExtension.yang")); yangISs.addAll(getConfigApiYangInputStreams()); try { - final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - context = reactor.buildEffective(yangISs); - namesToModules = YangModelSearchUtils.mapModulesByNames(context - .getModules()); + context = YangParserTestUtils.parseYangStreams(yangISs); + namesToModules = YangModelSearchUtils.mapModulesByNames(context.getModules()); configModule = namesToModules.get(ConfigConstants.CONFIG_MODULE); - threadsModule = namesToModules - .get(ConfigConstants.CONFIG_THREADS_MODULE); + threadsModule = namesToModules.get(ConfigConstants.CONFIG_THREADS_MODULE); try { super.testCreateFromIdentities(); fail(); } catch (IllegalStateException e) { - assertTrue( - e.getMessage(), - e.getMessage().startsWith( - "Unexpected unknown schema node.")); + assertTrue(e.getMessage(), + e.getMessage().startsWith("Unexpected unknown schema node.")); } } finally { for (InputStream is : yangISs) { diff --git a/opendaylight/md-sal/benchmark-data-store/pom.xml b/opendaylight/md-sal/benchmark-data-store/pom.xml index d652dcb779..8f704a9c6b 100644 --- a/opendaylight/md-sal/benchmark-data-store/pom.xml +++ b/opendaylight/md-sal/benchmark-data-store/pom.xml @@ -23,17 +23,15 @@ and is available at http://www.eclipse.org/legal/epl-v10.html org.opendaylight.yangtools yang-data-impl - - org.opendaylight.yangtools - yang-parser-impl - org.openjdk.jmh jmh-core + 1.17.3 org.openjdk.jmh jmh-generator-annprocess + 1.17.3 org.opendaylight.controller @@ -44,8 +42,9 @@ and is available at http://www.eclipse.org/legal/epl-v10.html sal-broker-impl - org.slf4j - slf4j-simple + org.opendaylight.yangtools + yang-test-util + compile diff --git a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryBrokerWriteTransactionBenchmark.java b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryBrokerWriteTransactionBenchmark.java index 7765d1e480..2219c2a4da 100644 --- a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryBrokerWriteTransactionBenchmark.java +++ b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryBrokerWriteTransactionBenchmark.java @@ -18,7 +18,7 @@ import org.openjdk.jmh.annotations.Measurement; import org.openjdk.jmh.annotations.Warmup; /** - * @author Lukas Sedlak + * @author Lukas Sedlak */ public abstract class AbstractInMemoryBrokerWriteTransactionBenchmark extends AbstractInMemoryWriteTransactionBenchmark { diff --git a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryDatastoreWriteTransactionBenchmark.java b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryDatastoreWriteTransactionBenchmark.java index fce0642860..80bb50375f 100644 --- a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryDatastoreWriteTransactionBenchmark.java +++ b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/AbstractInMemoryDatastoreWriteTransactionBenchmark.java @@ -17,7 +17,7 @@ import org.openjdk.jmh.annotations.Measurement; import org.openjdk.jmh.annotations.Warmup; /** - * @author Lukas Sedlak + * @author Lukas Sedlak */ public abstract class AbstractInMemoryDatastoreWriteTransactionBenchmark extends AbstractInMemoryWriteTransactionBenchmark { diff --git a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/BenchmarkModel.java b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/BenchmarkModel.java index c5f95f9aa5..7424adc259 100644 --- a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/BenchmarkModel.java +++ b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/BenchmarkModel.java @@ -9,9 +9,12 @@ package org.opendaylight.controller.md.sal.dom.store.benchmark; import java.io.InputStream; import java.util.Collections; +import java.util.List; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; +import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; /** * Benchmark Model class loads the odl-datastore-test.yang model from resources. @@ -19,7 +22,7 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext; * This class serves as facilitator class which holds several references to initialized yang model as static final * members. * - * @author Lukas Sedlak + * @author Lukas Sedlak */ public final class BenchmarkModel { @@ -40,12 +43,11 @@ public final class BenchmarkModel { } public static SchemaContext createTestContext() { - final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); final SchemaContext schemaContext; final List streams = Collections.singletonList(getInputStream()); try { - schemaContext = reactor.buildEffective(streams); + schemaContext = YangParserTestUtils.parseYangStreams(streams); } catch (ReactorException e) { throw new RuntimeException("Unable to build schema context from " + streams, e); } diff --git a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWithSameThreadedExecutorBenchmark.java b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWithSameThreadedExecutorBenchmark.java index 1aa19b2fe7..330c947943 100644 --- a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWithSameThreadedExecutorBenchmark.java +++ b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWithSameThreadedExecutorBenchmark.java @@ -26,7 +26,7 @@ import org.openjdk.jmh.annotations.OutputTimeUnit; * of benchmark creates InMemoryDataStore with Data Change Listener Executor Service as Blocking Bounded Fast Thread Pool * and DOM Store Executor Service as Same Thread Executor. * - * @author Lukas Sedlak + * @author Lukas Sedlak */ @State(Scope.Thread) @BenchmarkMode(Mode.AverageTime) diff --git a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWriteTransactionBenchmark.java b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWriteTransactionBenchmark.java index d697f3ca98..930ceaf07d 100644 --- a/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWriteTransactionBenchmark.java +++ b/opendaylight/md-sal/benchmark-data-store/src/main/java/org/opendaylight/controller/md/sal/dom/store/benchmark/InMemoryDataStoreWriteTransactionBenchmark.java @@ -25,7 +25,7 @@ import org.openjdk.jmh.annotations.TearDown; * of benchmark creates InMemoryDataStore with Data Change Listener Executor Service as Same Thread Executor * and DOM Store Executor Service as Same Thread Executor. * - * @author Lukas Sedlak + * @author Lukas Sedlak */ @State(Scope.Thread) @BenchmarkMode(Mode.AverageTime) diff --git a/opendaylight/md-sal/sal-binding-broker/pom.xml b/opendaylight/md-sal/sal-binding-broker/pom.xml index 1e53fe2073..98bd4906d7 100644 --- a/opendaylight/md-sal/sal-binding-broker/pom.xml +++ b/opendaylight/md-sal/sal-binding-broker/pom.xml @@ -83,11 +83,6 @@ truth test - - org.opendaylight.yangtools - yang-parser-impl - test - org.opendaylight.controller diff --git a/opendaylight/md-sal/sal-binding-dom-it/pom.xml b/opendaylight/md-sal/sal-binding-dom-it/pom.xml index 8df8ad59ac..3960fced85 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/pom.xml +++ b/opendaylight/md-sal/sal-binding-dom-it/pom.xml @@ -41,8 +41,7 @@ org.opendaylight.yangtools - yang-parser-impl - test + yang-test-util org.opendaylight.controller diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/DOMRpcServiceTestBugfix560.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/DOMRpcServiceTestBugfix560.java index 791c540c59..e240b19453 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/DOMRpcServiceTestBugfix560.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/connect/dom/DOMRpcServiceTestBugfix560.java @@ -45,8 +45,7 @@ import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.api.SchemaPath; -import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline; +import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; /** * Test case for reported bug 560 @@ -79,7 +78,7 @@ public class DOMRpcServiceTestBugfix560 { @Before public void setUp() throws Exception { final BindingBrokerTestFactory testFactory = new BindingBrokerTestFactory(); - testFactory.setExecutor(MoreExecutors.sameThreadExecutor()); + testFactory.setExecutor(MoreExecutors.newDirectExecutorService()); testFactory.setStartWithParsedSchema(true); testContext = testFactory.getTestContext(); @@ -94,8 +93,7 @@ public class DOMRpcServiceTestBugfix560 { assertNotNull(moduleStream); final List rpcModels = Collections.singletonList(moduleStream); - final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - schemaContext = reactor.buildEffective(rpcModels); + schemaContext = YangParserTestUtils.parseYangStreams(rpcModels); } private static org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier createBITllIdentifier( @@ -110,7 +108,7 @@ public class DOMRpcServiceTestBugfix560 { private static InstanceIdentifier createBATllIdentifier( final String mount) { return InstanceIdentifier.builder(Top.class) - .child(TopLevelList.class, new TopLevelListKey(mount)).toInstance(); + .child(TopLevelList.class, new TopLevelListKey(mount)).build(); } @Test diff --git a/opendaylight/md-sal/sal-cluster-admin-impl/pom.xml b/opendaylight/md-sal/sal-cluster-admin-impl/pom.xml index 4b1b75d2c0..8289b84cdc 100644 --- a/opendaylight/md-sal/sal-cluster-admin-impl/pom.xml +++ b/opendaylight/md-sal/sal-cluster-admin-impl/pom.xml @@ -43,6 +43,10 @@ 1.5.0-SNAPSHOT test + + org.opendaylight.yangtools + yang-test-util + diff --git a/opendaylight/md-sal/sal-clustering-commons/pom.xml b/opendaylight/md-sal/sal-clustering-commons/pom.xml index 5b79bffe88..815b9a6e37 100644 --- a/opendaylight/md-sal/sal-clustering-commons/pom.xml +++ b/opendaylight/md-sal/sal-clustering-commons/pom.xml @@ -33,6 +33,10 @@ slf4j-simple test + + org.opendaylight.yangtools + yang-test-util + @@ -126,10 +130,6 @@ org.opendaylight.yangtools yang-model-util - - org.opendaylight.yangtools - yang-parser-impl - org.opendaylight.controller config-api diff --git a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/util/TestModel.java b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/util/TestModel.java index bb572e3209..770a2ffb3e 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/util/TestModel.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/test/java/org/opendaylight/controller/cluster/datastore/util/TestModel.java @@ -50,8 +50,7 @@ import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLe import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapEntryNodeBuilder; import org.opendaylight.yangtools.yang.model.api.SchemaContext; 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.test.util.YangParserTestUtils; public class TestModel { @@ -198,16 +197,12 @@ public class TestModel { return resolveSchemaContext(inputStreams); } - private static SchemaContext resolveSchemaContext(List streams) { - final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - final SchemaContext schemaContext; - + private static SchemaContext resolveSchemaContext(final List streams) { try { - schemaContext = reactor.buildEffective(streams); + return YangParserTestUtils.parseYangStreams(streams); } catch (ReactorException e) { throw new RuntimeException("Unable to build schema context from " + streams, e); } - return schemaContext; } /** @@ -227,8 +222,7 @@ public class TestModel { * * */ - public static NormalizedNode createDocumentOne( - SchemaContext schemaContext) { + public static NormalizedNode createDocumentOne(final SchemaContext schemaContext) { return ImmutableContainerNodeBuilder .create() .withNodeIdentifier( @@ -360,7 +354,7 @@ public class TestModel { return createBaseTestContainerBuilder().build(); } - public static MapEntryNode createAugmentedListEntry(int id, String name) { + public static MapEntryNode createAugmentedListEntry(final int id, final String name) { Set childAugmentations = new HashSet<>(); childAugmentations.add(AUG_CONT_QNAME); diff --git a/opendaylight/md-sal/sal-distributed-datastore/pom.xml b/opendaylight/md-sal/sal-distributed-datastore/pom.xml index b5f1f19f14..b32f042865 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/pom.xml +++ b/opendaylight/md-sal/sal-distributed-datastore/pom.xml @@ -200,6 +200,10 @@ commons-lang3 + + org.opendaylight.yangtools + yang-test-util + diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/CompositeModel.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/CompositeModel.java index 48cace9341..2b72099798 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/CompositeModel.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/CompositeModel.java @@ -36,8 +36,7 @@ import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLe import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafSetNodeBuilder; import org.opendaylight.yangtools.yang.model.api.SchemaContext; 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.test.util.YangParserTestUtils; public class CompositeModel { @@ -132,15 +131,11 @@ public class CompositeModel { inputStreams.add(getDatastoreAugInputStream()); inputStreams.add(getDatastoreTestNotificationInputStream()); - final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - final SchemaContext schemaContext; - try { - schemaContext = reactor.buildEffective(inputStreams); + return YangParserTestUtils.parseYangStreams(inputStreams); } catch (ReactorException e) { throw new RuntimeException("Unable to build schema context from " + inputStreams, e); } - return schemaContext; } /** @@ -159,7 +154,7 @@ public class CompositeModel { * * */ - public static NormalizedNode createDocumentOne(SchemaContext schemaContext) { + public static NormalizedNode createDocumentOne(final SchemaContext schemaContext) { return ImmutableContainerNodeBuilder.create() .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(schemaContext.getQName())) .withChild(createTestContainer()).build(); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/SchemaContextHelper.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/SchemaContextHelper.java index fd011d2cde..164f363573 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/SchemaContextHelper.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/SchemaContextHelper.java @@ -8,19 +8,15 @@ package org.opendaylight.controller.md.cluster.datastore.model; -import com.google.common.io.ByteSource; -import com.google.common.io.Resources; +import com.google.common.base.Throwables; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.net.MalformedURLException; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import org.opendaylight.yangtools.yang.model.api.SchemaContext; 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.test.util.YangParserTestUtils; public class SchemaContextHelper { @@ -36,42 +32,25 @@ public class SchemaContextHelper { return select(ODL_DATASTORE_TEST_YANG, PEOPLE_YANG, CARS_YANG); } - public static SchemaContext select(String... schemaFiles) { - final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - final SchemaContext schemaContext; - List streams = new ArrayList<>(); + public static SchemaContext select(final String... schemaFiles) { + List streams = new ArrayList<>(schemaFiles.length); for (String schemaFile : schemaFiles) { streams.add(getInputStream(schemaFile)); } try { - schemaContext = reactor.buildEffective(streams); + return YangParserTestUtils.parseYangStreams(streams); } catch (ReactorException e) { throw new RuntimeException("Unable to build schema context from " + streams, e); } - - return schemaContext; } public static SchemaContext entityOwners() { - final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - final SchemaContext schemaContext; - File file = null; - try { - file = new File("src/main/yang/entity-owners.yang"); - final List sources = Arrays.asList(Resources.asByteSource(file.toURI().toURL())); - try { - schemaContext = reactor.buildEffective(sources); - } catch (IOException e1) { - throw new ExceptionInInitializerError(e1); - } catch (ReactorException e2) { - throw new RuntimeException("Unable to build schema context from " + sources, e2); - } - return schemaContext; - } catch (MalformedURLException e3) { - throw new RuntimeException("Malformed URL detected in " + file, e3); + return YangParserTestUtils.parseYangSources(new File("src/main/yang/entity-owners.yang")); + } catch (IOException | ReactorException e) { + throw Throwables.propagate(e); } } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/TestModel.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/TestModel.java index 37cef64d30..48b7e9b4be 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/TestModel.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/md/cluster/datastore/model/TestModel.java @@ -7,11 +7,11 @@ */ package org.opendaylight.controller.md.cluster.datastore.model; -import com.google.common.io.ByteSource; import com.google.common.io.Resources; import java.io.IOException; +import java.io.InputStream; import java.util.Collections; -import java.util.Set; +import java.util.List; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; @@ -24,8 +24,7 @@ import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.CollectionNo import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder; import org.opendaylight.yangtools.yang.model.api.SchemaContext; 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.test.util.YangParserTestUtils; public class TestModel { @@ -60,22 +59,23 @@ public class TestModel { public static final QName THREE_QNAME = QName.create(TEST_QNAME,"three"); public static SchemaContext createTestContext() { - final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - final SchemaContext schemaContext; - final Set sources = Collections - .singleton(Resources.asByteSource(TestModel.class.getResource(DATASTORE_TEST_YANG))); + final List sources; try { - schemaContext = reactor.buildEffective(sources); + sources = Collections.singletonList( + Resources.asByteSource(TestModel.class.getResource(DATASTORE_TEST_YANG)).openStream()); } catch (IOException e1) { throw new ExceptionInInitializerError(e1); - } catch (ReactorException e2) { - throw new RuntimeException("Unable to build schema context from " + sources, e2); } - return schemaContext; + + try { + return YangParserTestUtils.parseYangStreams(sources); + } catch (ReactorException e) { + throw new RuntimeException("Unable to build schema context from " + sources, e); + } } - public static DataContainerChild outerNode(int... ids) { + public static DataContainerChild outerNode(final int... ids) { CollectionNodeBuilder outer = ImmutableNodes.mapNodeBuilder(OUTER_LIST_QNAME); for (int id: ids) { outer.addChild(ImmutableNodes.mapEntry(OUTER_LIST_QNAME, ID_QNAME, id)); @@ -84,7 +84,7 @@ public class TestModel { return outer.build(); } - public static DataContainerChild outerNode(MapEntryNode... entries) { + public static DataContainerChild outerNode(final MapEntryNode... entries) { CollectionNodeBuilder outer = ImmutableNodes.mapNodeBuilder(OUTER_LIST_QNAME); for (MapEntryNode e: entries) { outer.addChild(e); @@ -93,7 +93,7 @@ public class TestModel { return outer.build(); } - public static DataContainerChild innerNode(String... names) { + public static DataContainerChild innerNode(final String... names) { CollectionNodeBuilder outer = ImmutableNodes.mapNodeBuilder(INNER_LIST_QNAME); for (String name: names) { outer.addChild(ImmutableNodes.mapEntry(INNER_LIST_QNAME, NAME_QNAME, name)); @@ -102,32 +102,32 @@ public class TestModel { return outer.build(); } - public static MapEntryNode outerNodeEntry(int id, DataContainerChild inner) { + public static MapEntryNode outerNodeEntry(final int id, final DataContainerChild inner) { return ImmutableNodes.mapEntryBuilder(OUTER_LIST_QNAME, ID_QNAME, id).addChild(inner).build(); } - public static NormalizedNode testNodeWithOuter(int... ids) { + public static NormalizedNode testNodeWithOuter(final int... ids) { return testNodeWithOuter(outerNode(ids)); } - public static NormalizedNode testNodeWithOuter(DataContainerChild outer) { + public static NormalizedNode testNodeWithOuter(final DataContainerChild outer) { return ImmutableContainerNodeBuilder.create().withNodeIdentifier( new YangInstanceIdentifier.NodeIdentifier(TEST_QNAME)).withChild(outer).build(); } - public static NodeIdentifierWithPredicates outerEntryKey(int id) { + public static NodeIdentifierWithPredicates outerEntryKey(final int id) { return new NodeIdentifierWithPredicates(OUTER_LIST_QNAME, ID_QNAME, id); } - public static YangInstanceIdentifier outerEntryPath(int id) { + public static YangInstanceIdentifier outerEntryPath(final int id) { return OUTER_LIST_PATH.node(outerEntryKey(id)); } - public static NodeIdentifierWithPredicates innerEntryKey(String name) { + public static NodeIdentifierWithPredicates innerEntryKey(final String name) { return new NodeIdentifierWithPredicates(INNER_LIST_QNAME, NAME_QNAME, name); } - public static YangInstanceIdentifier innerEntryPath(int id, String name) { + public static YangInstanceIdentifier innerEntryPath(final int id, final String name) { return OUTER_LIST_PATH.node(outerEntryKey(id)).node(INNER_LIST_QNAME).node(innerEntryKey(name)); } } diff --git a/opendaylight/md-sal/sal-dom-broker/pom.xml b/opendaylight/md-sal/sal-dom-broker/pom.xml index 2179667f8f..9ac51a4856 100644 --- a/opendaylight/md-sal/sal-dom-broker/pom.xml +++ b/opendaylight/md-sal/sal-dom-broker/pom.xml @@ -58,10 +58,6 @@ org.opendaylight.yangtools yang-data-impl - - org.opendaylight.yangtools - yang-parser-impl - junit @@ -82,6 +78,10 @@ slf4j-simple test + + org.opendaylight.yangtools + yang-test-util + diff --git a/opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/TestModel.java b/opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/TestModel.java index 5013b4660e..563b7cecf1 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/TestModel.java +++ b/opendaylight/md-sal/sal-dom-broker/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/TestModel.java @@ -14,8 +14,7 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.model.api.SchemaContext; 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.test.util.YangParserTestUtils; public class TestModel { @@ -42,15 +41,12 @@ public class TestModel { } public static SchemaContext createTestContext() { - final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - final SchemaContext schemaContext; final List streams = Collections.singletonList(getInputStream()); try { - schemaContext = reactor.buildEffective(streams); + return YangParserTestUtils.parseYangStreams(streams); } catch (ReactorException e) { throw new RuntimeException("Unable to build schema context from " + streams, e); } - return schemaContext; } } diff --git a/opendaylight/md-sal/sal-dom-xsql/pom.xml b/opendaylight/md-sal/sal-dom-xsql/pom.xml index 7885f5eaf9..87e4000182 100644 --- a/opendaylight/md-sal/sal-dom-xsql/pom.xml +++ b/opendaylight/md-sal/sal-dom-xsql/pom.xml @@ -68,6 +68,10 @@ junit junit + + org.opendaylight.yangtools + yang-test-util + https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:XSQL diff --git a/opendaylight/md-sal/sal-dom-xsql/src/test/java/org/opendaylight/xsql/test/XSQLTest.java b/opendaylight/md-sal/sal-dom-xsql/src/test/java/org/opendaylight/xsql/test/XSQLTest.java index d96769bad8..eccdab3407 100644 --- a/opendaylight/md-sal/sal-dom-xsql/src/test/java/org/opendaylight/xsql/test/XSQLTest.java +++ b/opendaylight/md-sal/sal-dom-xsql/src/test/java/org/opendaylight/xsql/test/XSQLTest.java @@ -22,9 +22,9 @@ import org.opendaylight.controller.md.sal.dom.xsql.jdbc.JDBCResultSet; import org.opendaylight.controller.md.sal.dom.xsql.jdbc.JDBCServer; import org.opendaylight.yangtools.yang.model.api.SchemaContext; 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.test.util.YangParserTestUtils; +@Deprecated public class XSQLTest { private static final String DATASTORE_TEST_YANG = "/sal-persisted-dom-test.yang"; private XSQLBluePrint bluePrint = null; @@ -114,7 +114,7 @@ public class XSQLTest { } } - private static void parseTables(String sql,XSQLBluePrint bp,JDBCResultSet rs){ + private static void parseTables(final String sql,final XSQLBluePrint bp,final JDBCResultSet rs){ try{ JDBCServer.parseTables(rs, bp); log("Test Table parsing of \""+sql+"\" Passed!"); @@ -170,7 +170,7 @@ public class XSQLTest { } } - private static void parseFields(String sql,XSQLBluePrint bp,JDBCResultSet rs){ + private static void parseFields(final String sql,final XSQLBluePrint bp,final JDBCResultSet rs){ try{ JDBCServer.parseFields(rs, bp); log("Test Fields parsing of \""+sql+"\" Passed!"); @@ -182,7 +182,7 @@ public class XSQLTest { } } - private static void log(String str) { + private static void log(final String str) { System.out.print("*** XSQL Tests -"); System.out.println(str); } @@ -192,15 +192,12 @@ public class XSQLTest { } public static SchemaContext createTestContext() { - final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - final SchemaContext schemaContext; final List streams = Collections.singletonList(getInputStream()); try { - schemaContext = reactor.buildEffective(streams); + return YangParserTestUtils.parseYangStreams(streams); } catch (ReactorException e) { throw new RuntimeException("Unable to build schema context from " + streams, e); } - return schemaContext; } } diff --git a/opendaylight/md-sal/sal-inmemory-datastore/pom.xml b/opendaylight/md-sal/sal-inmemory-datastore/pom.xml index af10f62ab9..727ef223e9 100644 --- a/opendaylight/md-sal/sal-inmemory-datastore/pom.xml +++ b/opendaylight/md-sal/sal-inmemory-datastore/pom.xml @@ -76,10 +76,6 @@ org.opendaylight.yangtools yang-data-impl - - org.opendaylight.yangtools - yang-parser-impl - org.opendaylight.controller @@ -121,7 +117,11 @@ org.opendaylight.controller sal-test-model test - + + + org.opendaylight.yangtools + yang-test-util + diff --git a/opendaylight/md-sal/sal-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/TestModel.java b/opendaylight/md-sal/sal-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/TestModel.java index 247f4b2e49..e3aea1c6e0 100644 --- a/opendaylight/md-sal/sal-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/TestModel.java +++ b/opendaylight/md-sal/sal-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/TestModel.java @@ -14,8 +14,7 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.model.api.SchemaContext; 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.test.util.YangParserTestUtils; public class TestModel { @@ -39,15 +38,12 @@ public class TestModel { } public static SchemaContext createTestContext() { - final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - final SchemaContext schemaContext; final List streams = Collections.singletonList(getInputStream()); try { - schemaContext = reactor.buildEffective(streams); + return YangParserTestUtils.parseYangStreams(streams); } catch (ReactorException e) { throw new RuntimeException("Unable to build schema context from " + streams, e); } - return schemaContext; } } diff --git a/opendaylight/md-sal/sal-remoterpc-connector/pom.xml b/opendaylight/md-sal/sal-remoterpc-connector/pom.xml index c8251efdf5..260aa36daa 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/pom.xml +++ b/opendaylight/md-sal/sal-remoterpc-connector/pom.xml @@ -142,17 +142,16 @@ slf4j-simple test - - org.opendaylight.yangtools - yang-parser-impl - test - com.google.collections google-collections 1.0 test + + org.opendaylight.yangtools + yang-test-util + diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/AbstractRpcTest.java b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/AbstractRpcTest.java index afe351f2a0..02dd857716 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/AbstractRpcTest.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/test/java/org/opendaylight/controller/remote/rpc/AbstractRpcTest.java @@ -16,13 +16,11 @@ import static org.junit.Assert.assertTrue; import akka.actor.ActorRef; import akka.actor.ActorSystem; import akka.testkit.JavaTestKit; -import com.google.common.collect.Lists; -import com.google.common.io.ByteSource; -import java.io.IOException; import java.io.InputStream; import java.net.URI; -import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; +import java.util.List; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; @@ -44,8 +42,7 @@ import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.api.SchemaPath; 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.test.util.YangParserTestUtils; /** * Base class for RPC tests. @@ -102,18 +99,11 @@ public class AbstractRpcTest { @Before public void setUp() throws Exception { - final ByteSource byteSource = new ByteSource() { - @Override - public InputStream openStream() throws IOException { - return AbstractRpcTest.this.getClass().getResourceAsStream("/test-rpc.yang"); - } - }; - - final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - final ArrayList sources = Lists.newArrayList(byteSource); + final List sources = Collections.singletonList( + AbstractRpcTest.this.getClass().getResourceAsStream("/test-rpc.yang")); try { - schemaContext = reactor.buildEffective(sources); + schemaContext = YangParserTestUtils.parseYangStreams(sources); } catch (ReactorException e) { throw new RuntimeException("Unable to build schema context from " + sources, e); } -- 2.36.6