diff --git a/lighty-core/lighty-controller-guice-di/src/main/java/io/lighty/core/controller/guice/LightyControllerModule.java b/lighty-core/lighty-controller-guice-di/src/main/java/io/lighty/core/controller/guice/LightyControllerModule.java index 9b33a8804c..08178b551c 100644 --- a/lighty-core/lighty-controller-guice-di/src/main/java/io/lighty/core/controller/guice/LightyControllerModule.java +++ b/lighty-core/lighty-controller-guice-di/src/main/java/io/lighty/core/controller/guice/LightyControllerModule.java @@ -38,7 +38,6 @@ import org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService; import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipService; import org.opendaylight.mdsal.singleton.api.ClusterSingletonServiceProvider; -import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -64,7 +63,6 @@ protected void configure() { .toInstance(lightyServices.getDiagStatusService()); bind(ActorSystemProvider.class) .toInstance(lightyServices.getActorSystemProvider()); - bind(EffectiveModelContext.class).toInstance(lightyServices.getEffectiveModelContext()); bind(DOMSchemaService.class) .toInstance(lightyServices.getDOMSchemaService()); bind(DOMSchemaService.YangTextSourceExtension.class) diff --git a/lighty-core/lighty-controller-guice-di/src/test/java/io/lighty/core/controller/guice/tests/TestService.java b/lighty-core/lighty-controller-guice-di/src/test/java/io/lighty/core/controller/guice/tests/TestService.java index 76536ca4eb..b7878387b7 100644 --- a/lighty-core/lighty-controller-guice-di/src/test/java/io/lighty/core/controller/guice/tests/TestService.java +++ b/lighty-core/lighty-controller-guice-di/src/test/java/io/lighty/core/controller/guice/tests/TestService.java @@ -48,9 +48,6 @@ public class TestService { @Inject private ActorSystemProvider actorSystemProvider; - @Inject - private EffectiveModelContext effectiveModelContext; - @Inject private DOMSchemaService domSchemaService; @@ -156,7 +153,7 @@ public ActorSystemProvider getActorSystemProvider() { } public EffectiveModelContext getSchemaContext() { - return effectiveModelContext; + return getDomSchemaService().getGlobalContext(); } public DOMSchemaService getDomSchemaService() { diff --git a/lighty-core/lighty-controller-spring-di/src/main/java/io/lighty/core/controller/spring/LightyCoreSpringConfiguration.java b/lighty-core/lighty-controller-spring-di/src/main/java/io/lighty/core/controller/spring/LightyCoreSpringConfiguration.java index d4aaaa1b0c..4070a814c0 100644 --- a/lighty-core/lighty-controller-spring-di/src/main/java/io/lighty/core/controller/spring/LightyCoreSpringConfiguration.java +++ b/lighty-core/lighty-controller-spring-di/src/main/java/io/lighty/core/controller/spring/LightyCoreSpringConfiguration.java @@ -38,7 +38,6 @@ import org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService; import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipService; import org.opendaylight.mdsal.singleton.api.ClusterSingletonServiceProvider; -import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.Bean; @@ -138,11 +137,6 @@ public ActorSystemProvider actorSystemProvider() { return this.lightyController.getServices().getActorSystemProvider(); } - @Bean(destroyMethod = "") - public EffectiveModelContext effectiveModelContext() { - return this.lightyController.getServices().getEffectiveModelContext(); - } - @Bean(destroyMethod = "") @Primary public DOMSchemaService domSchemaService() { diff --git a/lighty-core/lighty-controller-spring-di/src/test/java/io/lighty/core/controller/spring/LightyCoreSpringConfigurationTest.java b/lighty-core/lighty-controller-spring-di/src/test/java/io/lighty/core/controller/spring/LightyCoreSpringConfigurationTest.java index 57740b1e7b..f8110dd389 100644 --- a/lighty-core/lighty-controller-spring-di/src/test/java/io/lighty/core/controller/spring/LightyCoreSpringConfigurationTest.java +++ b/lighty-core/lighty-controller-spring-di/src/test/java/io/lighty/core/controller/spring/LightyCoreSpringConfigurationTest.java @@ -46,7 +46,6 @@ import org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService; import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipService; import org.opendaylight.mdsal.singleton.api.ClusterSingletonServiceProvider; -import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -79,9 +78,6 @@ public class LightyCoreSpringConfigurationTest extends AbstractJUnit4SpringConte @Autowired ActorSystemProvider actorSystemProviderTestProperty; - @Autowired - EffectiveModelContext effectiveModelContext; - @Autowired DOMSchemaService domSchemaServiceTestProperty; @@ -177,7 +173,6 @@ public void testLightyBeansExists() { assertNotNull(lightyModuleRegistryServiceTestProperty); assertNotNull(diagStatusServiceTestProperty); assertNotNull(actorSystemProviderTestProperty); - assertNotNull(effectiveModelContext); assertNotNull(domSchemaServiceTestProperty); assertNotNull(domYangTextSourceProviderTestProperty); assertNotNull(domMountPointServiceTestProperty); diff --git a/lighty-core/lighty-controller/src/main/java/io/lighty/core/controller/api/LightyServices.java b/lighty-core/lighty-controller/src/main/java/io/lighty/core/controller/api/LightyServices.java index d873c8728b..c395e01fbb 100644 --- a/lighty-core/lighty-controller/src/main/java/io/lighty/core/controller/api/LightyServices.java +++ b/lighty-core/lighty-controller/src/main/java/io/lighty/core/controller/api/LightyServices.java @@ -42,7 +42,6 @@ import org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService; import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipService; import org.opendaylight.mdsal.singleton.api.ClusterSingletonServiceProvider; -import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.parser.api.YangParserFactory; /** @@ -61,8 +60,6 @@ public interface LightyServices extends LightyModuleRegistryService { ActorSystemProvider getActorSystemProvider(); - EffectiveModelContext getEffectiveModelContext(); - DOMSchemaService getDOMSchemaService(); DOMSchemaService.YangTextSourceExtension getYangTextSourceExtension(); diff --git a/lighty-core/lighty-controller/src/main/java/io/lighty/core/controller/impl/LightyControllerImpl.java b/lighty-core/lighty-controller/src/main/java/io/lighty/core/controller/impl/LightyControllerImpl.java index 7516230fc3..3647474fdb 100644 --- a/lighty-core/lighty-controller/src/main/java/io/lighty/core/controller/impl/LightyControllerImpl.java +++ b/lighty-core/lighty-controller/src/main/java/io/lighty/core/controller/impl/LightyControllerImpl.java @@ -10,7 +10,7 @@ import akka.actor.Terminated; import akka.management.javadsl.AkkaManagement; import com.google.common.base.Stopwatch; -import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.Futures; import com.typesafe.config.Config; import io.lighty.codecs.util.exception.DeserializationException; import io.lighty.core.cluster.ClusteringHandler; @@ -122,8 +122,7 @@ import org.opendaylight.yangtools.util.DurationStatisticsTracker; import org.opendaylight.yangtools.util.concurrent.SpecialExecutors; import org.opendaylight.yangtools.yang.binding.YangModuleInfo; -import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; -import org.opendaylight.yangtools.yang.model.api.source.YangTextSource; +import org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException; import org.opendaylight.yangtools.yang.parser.api.YangParserFactory; import org.opendaylight.yangtools.yang.parser.impl.DefaultYangParserFactory; import org.opendaylight.yangtools.yang.xpath.api.YangXPathParserFactory; @@ -273,8 +272,13 @@ protected boolean initProcedure() { this.snapshotResolver = new ModuleInfoSnapshotResolver("binding-dom-codec", yangParserFactory); this.modelsRegistration = snapshotResolver.registerModuleInfos(modelSet); this.moduleInfoSnapshot = snapshotResolver.takeSnapshot(); - this.schemaService = new FixedDOMSchemaService(this::getEffectiveModelContext, - sourceId -> (ListenableFuture) moduleInfoSnapshot.yangTextSource(sourceId)); + this.schemaService = new FixedDOMSchemaService(() -> moduleInfoSnapshot.modelContext(), sourceId -> { + try { + return Futures.immediateFuture(moduleInfoSnapshot.getYangTextSource(sourceId)); + } catch (MissingSchemaSourceException e) { + return Futures.immediateFailedFuture(e); + } + }); // INIT CODEC FACTORY @@ -359,7 +363,7 @@ protected boolean initProcedure() { final InitialConfigData initialData = this.initialConfigData.get(); try (InputStream inputStream = initialData.getAsInputStream()) { FileToDatastoreUtils.importConfigDataFile(inputStream, initialData.getFormat(), - getEffectiveModelContext(), this.getClusteredDOMDataBroker(), true); + moduleInfoSnapshot.modelContext(), this.getClusteredDOMDataBroker(), true); } catch (TimeoutException | ExecutionException | IOException | DeserializationException e) { LOG.error("Exception occurred while importing config data from file", e); return false; @@ -504,11 +508,6 @@ public ActorSystemProvider getActorSystemProvider() { return this.actorSystemProvider; } - @Override - public EffectiveModelContext getEffectiveModelContext() { - return this.moduleInfoSnapshot.modelContext(); - } - @Override public DOMSchemaService getDOMSchemaService() { return this.schemaService; diff --git a/lighty-core/lighty-controller/src/test/java/io/lighty/core/controller/impl/tests/LightyControllerTest.java b/lighty-core/lighty-controller/src/test/java/io/lighty/core/controller/impl/tests/LightyControllerTest.java index 7dac3ab79d..dee774a344 100644 --- a/lighty-core/lighty-controller/src/test/java/io/lighty/core/controller/impl/tests/LightyControllerTest.java +++ b/lighty-core/lighty-controller/src/test/java/io/lighty/core/controller/impl/tests/LightyControllerTest.java @@ -24,7 +24,6 @@ public void controllerSimpleTest() { lightyController.getServices().getDiagStatusService().getAllServiceDescriptors()); Assert.assertNotNull(lightyController.getServices().getActorSystemProvider()); Assert.assertNotNull(lightyController.getServices().getActorSystemProvider().getActorSystem()); - Assert.assertNotNull(lightyController.getServices().getEffectiveModelContext()); Assert.assertNotNull(lightyController.getServices().getDOMSchemaService()); Assert.assertNotNull(lightyController.getServices().getYangTextSourceExtension()); Assert.assertNotNull(lightyController.getServices().getDOMNotificationRouter()); diff --git a/lighty-core/lighty-controller/src/test/java/io/lighty/core/controller/util/FileToDatastoreUtilsTest.java b/lighty-core/lighty-controller/src/test/java/io/lighty/core/controller/util/FileToDatastoreUtilsTest.java index 1bfeef0c43..112fb8c76e 100644 --- a/lighty-core/lighty-controller/src/test/java/io/lighty/core/controller/util/FileToDatastoreUtilsTest.java +++ b/lighty-core/lighty-controller/src/test/java/io/lighty/core/controller/util/FileToDatastoreUtilsTest.java @@ -157,7 +157,7 @@ private void importFile(final String path, final YangInstanceIdentifier yii, fin FileToDatastoreUtils.importConfigDataFile(FileToDatastoreUtils.class.getResourceAsStream(path), yii, format, - lightyController.getServices().getEffectiveModelContext(), + lightyController.getServices().getDOMSchemaService().getGlobalContext(), lightyController.getServices().getClusteredDOMDataBroker(), true); } diff --git a/lighty-modules/lighty-bgp/src/main/java/io/lighty/modules/bgp/deployer/BgpModule.java b/lighty-modules/lighty-bgp/src/main/java/io/lighty/modules/bgp/deployer/BgpModule.java index 451f3361e9..60a09f422f 100644 --- a/lighty-modules/lighty-bgp/src/main/java/io/lighty/modules/bgp/deployer/BgpModule.java +++ b/lighty-modules/lighty-bgp/src/main/java/io/lighty/modules/bgp/deployer/BgpModule.java @@ -107,7 +107,7 @@ public BgpModule(final EffectiveModelContext modelContext, final DataBroker data } public BgpModule(final LightyServices lightyServices) { - this(lightyServices.getEffectiveModelContext(), + this(lightyServices.getDOMSchemaService().getGlobalContext(), lightyServices.getBindingDataBroker(), lightyServices.getClusteredDOMDataBroker(), lightyServices.getBindingCodecTreeFactory(), lightyServices.getAdapterContext().currentSerializer().getRuntimeContext(), diff --git a/lighty-modules/lighty-netconf-sb/src/test/java/io/lighty/modules/southbound/netconf/tests/SampleConfigTest.java b/lighty-modules/lighty-netconf-sb/src/test/java/io/lighty/modules/southbound/netconf/tests/SampleConfigTest.java index c10bb11f87..6c5f3ec732 100644 --- a/lighty-modules/lighty-netconf-sb/src/test/java/io/lighty/modules/southbound/netconf/tests/SampleConfigTest.java +++ b/lighty-modules/lighty-netconf-sb/src/test/java/io/lighty/modules/southbound/netconf/tests/SampleConfigTest.java @@ -29,7 +29,8 @@ public void loadTopLevelSingleNodeModelsFromJsonConfig() throws Exception { final LightyController lightyController = getLightyController("sampleConfigSingleNode.json"); assertTrue(lightyController.start().get(TIME_OUT, TimeUnit.SECONDS)); - final int loadedModulesSize = lightyController.getServices().getEffectiveModelContext().getModules().size(); + final int loadedModulesSize = lightyController.getServices().getDOMSchemaService().getGlobalContext() + .getModules().size(); assertTrue(lightyController.shutdown(TIME_OUT, TimeUnit.SECONDS)); assertEquals(loadedModulesSize, 17); @@ -40,7 +41,8 @@ public void loadTopLevelClusterModelsFromJsonConfig() throws Exception { final LightyController lightyController = getLightyController("sampleConfigCluster.json"); assertTrue(lightyController.start().get(TIME_OUT, TimeUnit.SECONDS)); - final int loadedModulesSize = lightyController.getServices().getEffectiveModelContext().getModules().size(); + final int loadedModulesSize = lightyController.getServices().getDOMSchemaService().getGlobalContext() + .getModules().size(); assertTrue(lightyController.shutdown(TIME_OUT, TimeUnit.SECONDS)); assertEquals(loadedModulesSize, 17); diff --git a/lighty-modules/lighty-restconf-nb-community/src/test/java/io/lighty/modules/northbound/restconf/community/impl/tests/YangPatchTest.java b/lighty-modules/lighty-restconf-nb-community/src/test/java/io/lighty/modules/northbound/restconf/community/impl/tests/YangPatchTest.java index 5db2a104fc..510cdc8d06 100644 --- a/lighty-modules/lighty-restconf-nb-community/src/test/java/io/lighty/modules/northbound/restconf/community/impl/tests/YangPatchTest.java +++ b/lighty-modules/lighty-restconf-nb-community/src/test/java/io/lighty/modules/northbound/restconf/community/impl/tests/YangPatchTest.java @@ -63,7 +63,7 @@ public void patchDataReplaceTest() throws Exception { final PatchContext patchContext = new PatchContext("test-patch", List.of(entityReplace)); final var strategy = new MdsalRestconfStrategy(DatabindContext.ofModel(getLightyController() - .getServices().getEffectiveModelContext()), getLightyController().getServices() + .getServices().getDOMSchemaService().getGlobalContext()), getLightyController().getServices() .getClusteredDOMDataBroker(), getLightyController().getServices().getDOMRpcService(), getLightyController().getServices() .getDOMActionService(), getLightyController().getServices().getYangTextSourceExtension(),