Remove networkmodel-blueprint.xml 32/104932/4
authorGilles Thouenon <gilles.thouenon@orange.com>
Sat, 11 Mar 2023 15:31:38 +0000 (16:31 +0100)
committerguillaume.lambert <guillaume.lambert@orange.com>
Sun, 26 Mar 2023 20:57:04 +0000 (22:57 +0200)
Convert NetworkModelProvider into a Component, rendering the blueprint
empty.

JIRA: TRNSPRTPCE-736
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Ie9f642caabb0f5479b52048d037ddb72e684a0f4

lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java
networkmodel/src/main/java/org/opendaylight/transportpce/networkmodel/NetworkModelProvider.java
networkmodel/src/main/resources/OSGI-INF/blueprint/networkmodel-blueprint.xml [deleted file]
networkmodel/src/test/java/org/opendaylight/transportpce/networkmodel/NetworkModelProviderTest.java

index f9f626e8f62c59f4bdaf005654dadbda19d74192..66a0fbf1bb67c509eefacd953ba4f87fc3df1652 100644 (file)
@@ -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 ...");
index fb8937decdff6e27774106f2621782ecb3f9535c..571f9076c35ce71e2b8e0fe3a1fd27de8893a883 100644 (file)
@@ -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<NetConfTopologyListener> dataTreeChangeListenerRegistration;
     private ListenerRegistration<PortMappingListener> mappingListenerRegistration;
-    private ObjectRegistration<TransportpceNetworkutilsService> networkutilsServiceRpcRegistration;
+    private @NonNull Registration networkutilsServiceRpcRegistration;
     private TpceNetwork tpceNetwork;
     private ListenerRegistration<TransportpceServicehandlerListener> 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 (file)
index 150f06e..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<!-- Copyright © 2016 Orange 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 -->
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-
-    <reference id="dataBroker" interface="org.opendaylight.mdsal.binding.api.DataBroker" />
-    <reference id="rpcProviderService" interface="org.opendaylight.mdsal.binding.api.RpcProviderService" />
-    <reference id="deviceTransactionManager" interface="org.opendaylight.transportpce.common.device.DeviceTransactionManager" />
-    <reference id="portMapping" interface="org.opendaylight.transportpce.common.mapping.PortMapping" />
-    <reference id="networkTransactionImpl" interface="org.opendaylight.transportpce.common.network.NetworkTransactionService" />
-    <reference id="mappingUtils" interface="org.opendaylight.transportpce.common.mapping.MappingUtils" />
-    <reference id="notificationService" interface="org.opendaylight.mdsal.binding.api.NotificationService"/>
-    <reference id="notificationPublishService" interface="org.opendaylight.mdsal.binding.api.NotificationPublishService"/>
-    <reference id="frequenciesService" interface="org.opendaylight.transportpce.networkmodel.service.FrequenciesService" />
-    <reference id="networkModelService" interface="org.opendaylight.transportpce.networkmodel.service.NetworkModelService" />
-
-    <bean id="provider" class="org.opendaylight.transportpce.networkmodel.NetworkModelProvider"
-        init-method="init" destroy-method="close">
-        <argument ref="networkTransactionImpl" />
-        <argument ref="dataBroker" />
-        <argument ref="rpcProviderService" />
-        <argument ref="networkutilsServiceImpl" />
-        <argument ref="netconfTopologyListener" />
-        <argument ref="notificationService" />
-        <argument ref="frequenciesService" />
-        <argument ref="portMappingListener" />
-    </bean>
-
-    <bean id="portMappingListener" class="org.opendaylight.transportpce.networkmodel.listeners.PortMappingListener">
-        <argument ref="networkModelService" />
-    </bean>
-
-    <bean id="netconfTopologyListener" class="org.opendaylight.transportpce.networkmodel.NetConfTopologyListener">
-        <argument ref="networkModelService" />
-        <argument ref="dataBroker" />
-        <argument ref="deviceTransactionManager" />
-        <argument ref="portMapping" />
-    </bean>
-
-    <bean id="networkutilsServiceImpl" class="org.opendaylight.transportpce.networkmodel.NetworkUtilsImpl">
-        <argument ref="dataBroker" />
-    </bean>
-
-</blueprint>
index 5f31c3bdcf4487ca2795379297602019e24b7805..451e63ba55b4666d4bbd34835faa4d00f6339b37 100644 (file)
@@ -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<FluentFuture<CommitInfo>> answer = new Answer<FluentFuture<CommitInfo>>() {
 
             @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));