From d13ddaf6b54f6fb20b5342ddc88e7024ca09e878 Mon Sep 17 00:00:00 2001 From: Gilles Thouenon Date: Sat, 11 Mar 2023 16:31:38 +0100 Subject: [PATCH] Remove networkmodel-blueprint.xml Convert NetworkModelProvider into a Component, rendering the blueprint empty. JIRA: TRNSPRTPCE-736 Signed-off-by: Gilles Thouenon Change-Id: Ie9f642caabb0f5479b52048d037ddb72e684a0f4 --- .../tpce/module/TransportPCEImpl.java | 17 +++---- .../networkmodel/NetworkModelProvider.java | 46 +++++++++++++------ .../blueprint/networkmodel-blueprint.xml | 46 ------------------- .../NetworkModelProviderTest.java | 23 ++++++---- 4 files changed, 50 insertions(+), 82 deletions(-) delete mode 100644 networkmodel/src/main/resources/OSGI-INF/blueprint/networkmodel-blueprint.xml diff --git a/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java b/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java index f9f626e8f..66a0fbf1b 100644 --- a/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java +++ b/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java @@ -91,7 +91,6 @@ import org.opendaylight.transportpce.tapi.topology.TapiOrLinkListener; import org.opendaylight.transportpce.tapi.topology.TapiPortMappingListener; import org.opendaylight.transportpce.tapi.utils.TapiLink; import org.opendaylight.transportpce.tapi.utils.TapiListener; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev220630.TransportpceNetworkutilsService; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.TransportpceOlmService; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.TransportpceTapinetworkutilsService; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.OrgOpenroadmServiceService; @@ -138,20 +137,18 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP LOG.info("Creating network-model beans ..."); R2RLinkDiscovery linkDiscoveryImpl = new R2RLinkDiscovery(lightyServices.getBindingDataBroker(), deviceTransactionManager, networkTransaction); - TransportpceNetworkutilsService networkutilsServiceImpl = new NetworkUtilsImpl( - lightyServices.getBindingDataBroker()); PortMapping portMapping = initPortMapping(lightyServices); NetworkModelService networkModelService = new NetworkModelServiceImpl(lightyServices.getBindingDataBroker(), deviceTransactionManager, networkTransaction, portMapping, lightyServices.getBindingNotificationPublishService()); - FrequenciesService networkModelWavelengthService = - new FrequenciesServiceImpl(lightyServices.getBindingDataBroker()); - NetConfTopologyListener netConfTopologyListener = new NetConfTopologyListener(networkModelService, + FrequenciesService networkModelWavelengthService = new FrequenciesServiceImpl( + lightyServices.getBindingDataBroker()); + new NetConfTopologyListener(networkModelService, lightyServices.getBindingDataBroker(), deviceTransactionManager, portMapping); - PortMappingListener portMappingListener = new PortMappingListener(networkModelService); + new PortMappingListener(networkModelService); networkModelProvider = new NetworkModelProvider(networkTransaction, lightyServices.getBindingDataBroker(), - lightyServices.getRpcProviderService(), networkutilsServiceImpl, netConfTopologyListener, - lightyServices.getNotificationService(), networkModelWavelengthService, portMappingListener); + lightyServices.getRpcProviderService(), networkModelService, deviceTransactionManager, portMapping, + lightyServices.getNotificationService(), networkModelWavelengthService); LOG.info("Creating PCE beans ..."); // TODO: pass those parameters through command line @@ -250,8 +247,6 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP protected boolean initProcedure() { LOG.info("Initializing PCE provider ..."); pceProvider.init(); - LOG.info("Initializing network-model provider ..."); - networkModelProvider.init(); LOG.info("Initializing OLM provider ..."); olmProvider.init(); LOG.info("Initializing renderer provider ..."); diff --git a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetworkModelProvider.java b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetworkModelProvider.java index fb8937dec..571f9076c 100644 --- a/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetworkModelProvider.java +++ b/networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetworkModelProvider.java @@ -7,6 +7,7 @@ */ package org.opendaylight.transportpce.networkmodel; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.DataTreeIdentifier; import org.opendaylight.mdsal.binding.api.NotificationService; @@ -14,10 +15,13 @@ import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.transportpce.common.InstanceIdentifiers; import org.opendaylight.transportpce.common.NetworkUtils; +import org.opendaylight.transportpce.common.device.DeviceTransactionManager; +import org.opendaylight.transportpce.common.mapping.PortMapping; import org.opendaylight.transportpce.common.network.NetworkTransactionService; import org.opendaylight.transportpce.networkmodel.listeners.PortMappingListener; import org.opendaylight.transportpce.networkmodel.listeners.ServiceHandlerListener; import org.opendaylight.transportpce.networkmodel.service.FrequenciesService; +import org.opendaylight.transportpce.networkmodel.service.NetworkModelService; import org.opendaylight.transportpce.networkmodel.util.TpceNetwork; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev220630.TransportpceNetworkutilsService; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220922.Network; @@ -25,11 +29,16 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmappi import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.TransportpceServicehandlerListener; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; import org.opendaylight.yangtools.concepts.ListenerRegistration; -import org.opendaylight.yangtools.concepts.ObjectRegistration; +import org.opendaylight.yangtools.concepts.Registration; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@Component public class NetworkModelProvider { private static final Logger LOG = LoggerFactory.getLogger(NetworkModelProvider.class); @@ -44,31 +53,38 @@ public class NetworkModelProvider { private final NetConfTopologyListener topologyListener; private ListenerRegistration dataTreeChangeListenerRegistration; private ListenerRegistration mappingListenerRegistration; - private ObjectRegistration networkutilsServiceRpcRegistration; + private @NonNull Registration networkutilsServiceRpcRegistration; private TpceNetwork tpceNetwork; private ListenerRegistration serviceHandlerListenerRegistration; private NotificationService notificationService; private FrequenciesService frequenciesService; private PortMappingListener portMappingListener; - public NetworkModelProvider(NetworkTransactionService networkTransactionService, final DataBroker dataBroker, - final RpcProviderService rpcProviderService, final TransportpceNetworkutilsService networkutilsService, - final NetConfTopologyListener topologyListener, NotificationService notificationService, - FrequenciesService frequenciesService, PortMappingListener portMappingListener) { + @Activate + public NetworkModelProvider(@Reference NetworkTransactionService networkTransactionService, + @Reference final DataBroker dataBroker, + @Reference final RpcProviderService rpcProviderService, + @Reference final NetworkModelService networkModelService, + @Reference DeviceTransactionManager deviceTransactionManager, + @Reference PortMapping portMapping, + @Reference NotificationService notificationService, + @Reference FrequenciesService frequenciesService) { this.dataBroker = dataBroker; this.rpcProviderService = rpcProviderService; - this.networkutilsService = networkutilsService; - this.topologyListener = topologyListener; - this.tpceNetwork = new TpceNetwork(networkTransactionService); this.notificationService = notificationService; this.frequenciesService = frequenciesService; - this.portMappingListener = portMappingListener; + this.networkutilsService = new NetworkUtilsImpl(dataBroker); + this.topologyListener = new NetConfTopologyListener(networkModelService, dataBroker, deviceTransactionManager, + portMapping); + this.tpceNetwork = new TpceNetwork(networkTransactionService); + this.portMappingListener = new PortMappingListener(networkModelService); + this.init(); } /** * Method called when the blueprint container is created. */ - public void init() { + private void init() { LOG.info("NetworkModelProvider Session Initiated"); tpceNetwork.createLayer(NetworkUtils.CLLI_NETWORK_ID); tpceNetwork.createLayer(NetworkUtils.UNDERLAY_NETWORK_ID); @@ -79,16 +95,16 @@ public class NetworkModelProvider { InstanceIdentifiers.NETCONF_TOPOLOGY_II.child(Node.class)), topologyListener); mappingListenerRegistration = dataBroker.registerDataTreeChangeListener( DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, MAPPING_II), portMappingListener); - networkutilsServiceRpcRegistration = - rpcProviderService.registerRpcImplementation(TransportpceNetworkutilsService.class, networkutilsService); - TransportpceServicehandlerListener serviceHandlerListner = - new ServiceHandlerListener(frequenciesService); + networkutilsServiceRpcRegistration = rpcProviderService + .registerRpcImplementation(TransportpceNetworkutilsService.class, networkutilsService); + TransportpceServicehandlerListener serviceHandlerListner = new ServiceHandlerListener(frequenciesService); serviceHandlerListenerRegistration = notificationService.registerNotificationListener(serviceHandlerListner); } /** * Method called when the blueprint container is destroyed. */ + @Deactivate public void close() { LOG.info("NetworkModelProvider Closed"); if (dataTreeChangeListenerRegistration != null) { diff --git a/networkmodel/src/main/resources/OSGI-INF/blueprint/networkmodel-blueprint.xml b/networkmodel/src/main/resources/OSGI-INF/blueprint/networkmodel-blueprint.xml deleted file mode 100644 index 150f06efd..000000000 --- a/networkmodel/src/main/resources/OSGI-INF/blueprint/networkmodel-blueprint.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/NetworkModelProviderTest.java b/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/NetworkModelProviderTest.java index 5f31c3bdc..451e63ba5 100644 --- a/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/NetworkModelProviderTest.java +++ b/networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/NetworkModelProviderTest.java @@ -22,9 +22,11 @@ import org.mockito.stubbing.Answer; import org.opendaylight.mdsal.binding.api.NotificationService; import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.mdsal.common.api.CommitInfo; +import org.opendaylight.transportpce.common.device.DeviceTransactionManager; +import org.opendaylight.transportpce.common.mapping.PortMapping; import org.opendaylight.transportpce.common.network.NetworkTransactionService; -import org.opendaylight.transportpce.networkmodel.listeners.PortMappingListener; import org.opendaylight.transportpce.networkmodel.service.FrequenciesService; +import org.opendaylight.transportpce.networkmodel.service.NetworkModelService; import org.opendaylight.transportpce.test.AbstractTest; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev220630.TransportpceNetworkutilsService; @@ -35,22 +37,21 @@ public class NetworkModelProviderTest extends AbstractTest { @Mock RpcProviderService rpcProviderService; @Mock - TransportpceNetworkutilsService networkutilsService; + NetworkModelService networkModelService; @Mock - NetConfTopologyListener topologyListener; + DeviceTransactionManager deviceTransactionManager; + @Mock + PortMapping portMapping; @Mock - private NotificationService notificationService; + NetConfTopologyListener topologyListener; @Mock - private FrequenciesService frequenciesService; + NotificationService notificationService; @Mock - private PortMappingListener portMappingListener; + FrequenciesService frequenciesService; @Test void networkmodelProviderInitTest() { - NetworkModelProvider provider = new NetworkModelProvider(networkTransactionService, getDataBroker(), - rpcProviderService, networkutilsService, topologyListener, notificationService, - frequenciesService, portMappingListener); Answer> answer = new Answer>() { @Override @@ -61,7 +62,9 @@ public class NetworkModelProviderTest extends AbstractTest { }; when(networkTransactionService.commit()).then(answer); - provider.init(); + new NetworkModelProvider(networkTransactionService, getDataBroker(), + rpcProviderService, networkModelService, deviceTransactionManager, portMapping, notificationService, + frequenciesService); verify(rpcProviderService, times(1)) .registerRpcImplementation(any(), any(TransportpceNetworkutilsService.class)); -- 2.36.6