Turn TapiNetworkModelListenerImpl into a Component 52/104952/7
authorGilles Thouenon <gilles.thouenon@orange.com>
Thu, 16 Mar 2023 11:21:17 +0000 (12:21 +0100)
committerGilles Thouenon <gilles.thouenon@orange.com>
Fri, 31 Mar 2023 09:36:26 +0000 (11:36 +0200)
JIRA: TRNSPRTPCE-736
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I1ce5ae37fae9ea0f887fa5a580e5c0fad593d1b7
(cherry picked from commit 7138d52b04b59ac8d6c73f28808bd4ac6d2f59d7)

tapi/src/main/java/org/opendaylight/transportpce/tapi/impl/TapiProvider.java
tapi/src/main/java/org/opendaylight/transportpce/tapi/listeners/TapiNetworkModelListenerImpl.java
tapi/src/main/resources/OSGI-INF/blueprint/tapi-blueprint.xml

index e58b26422fd28f779427d53e6817aa8c710abedc..426544c2596c230f5f3ac06530f1549528fff0f7 100644 (file)
@@ -20,7 +20,6 @@ import org.opendaylight.transportpce.common.network.NetworkTransactionService;
 import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations;
 import org.opendaylight.transportpce.tapi.connectivity.ConnectivityUtils;
 import org.opendaylight.transportpce.tapi.connectivity.TapiConnectivityImpl;
-import org.opendaylight.transportpce.tapi.listeners.TapiNetworkModelListenerImpl;
 import org.opendaylight.transportpce.tapi.listeners.TapiPceListenerImpl;
 import org.opendaylight.transportpce.tapi.listeners.TapiRendererListenerImpl;
 import org.opendaylight.transportpce.tapi.listeners.TapiServiceHandlerListenerImpl;
@@ -48,6 +47,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.top
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.Link;
 import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.TapiCommonService;
 import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.TapiConnectivityService;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.TapiNotificationListener;
 import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.TapiTopologyService;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.tapi.rev180928.ServiceInterfacePoints;
 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
@@ -84,7 +84,7 @@ public class TapiProvider {
     private ListenerRegistration<TransportpcePceListener> pcelistenerRegistration;
     private ListenerRegistration<TransportpceRendererListener> rendererlistenerRegistration;
     private ListenerRegistration<TransportpceServicehandlerListener> servicehandlerlistenerRegistration;
-    private ListenerRegistration<TapiNetworkModelListenerImpl> tapinetworkmodellistenerRegistration;
+    private ListenerRegistration<TapiNotificationListener> tapinetworkmodellistenerRegistration;
     private final OrgOpenroadmServiceService serviceHandler;
     private final ServiceDataStoreOperations serviceDataStoreOperations;
     private final TapiListener tapiListener;
@@ -97,7 +97,7 @@ public class TapiProvider {
     private TapiRendererListenerImpl rendererListenerImpl;
     private TapiServiceHandlerListenerImpl serviceHandlerListenerImpl;
     private final NotificationService notificationService;
-    private TapiNetworkModelListenerImpl tapiNetworkModelListenerImpl;
+    private TapiNotificationListener tapiNetworkModelListenerImpl;
 
     public TapiProvider(DataBroker dataBroker, RpcProviderService rpcProviderService,
             OrgOpenroadmServiceService serviceHandler,ServiceDataStoreOperations serviceDataStoreOperations,
@@ -106,7 +106,7 @@ public class TapiProvider {
             TransportpceTapinetworkutilsService tapiNetworkUtils, TapiPceListenerImpl pceListenerImpl,
             TapiRendererListenerImpl rendererListenerImpl, TapiServiceHandlerListenerImpl serviceHandlerListenerImpl,
             NotificationService notificationService, TapiOrLinkListener orLinkListener,
-            TapiNetworkModelListenerImpl tapiNetworkModelListenerImpl) {
+            TapiNotificationListener tapiNetworkModelListenerImpl) {
         this.dataBroker = dataBroker;
         this.rpcProviderService = rpcProviderService;
         this.serviceHandler = serviceHandler;
index 9464a5ed7dcb0f9250d5c6d5dde005d95d2756cb..5a452d90a4c628b62e74aac8303c034c5448eeca 100644 (file)
@@ -68,25 +68,31 @@ import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.to
 import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.context.TopologyKey;
 import org.opendaylight.yangtools.yang.binding.EnumTypeObject;
 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.Reference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@Component
 public class TapiNetworkModelListenerImpl implements TapiNotificationListener {
 
     private static final Logger LOG = LoggerFactory.getLogger(TapiNetworkModelListenerImpl.class);
     private final NetworkTransactionService networkTransactionService;
+    private final NotificationPublishService notificationPublishService;
     private final List<ConnectivityService> connectivityServiceChanges = new ArrayList<>();
     private final Uuid tapiTopoUuid = new Uuid(UUID.nameUUIDFromBytes(TapiStringConstants.T0_FULL_MULTILAYER
             .getBytes(StandardCharsets.UTF_8)).toString());
     private final List<LayerProtocolName> orderedServiceLayerList;
-    private final NotificationPublishService notificationPublishService;
 
-    public TapiNetworkModelListenerImpl(NetworkTransactionService networkTransactionService,
-                                        NotificationPublishService notificationPublishService) {
+    @Activate
+    public TapiNetworkModelListenerImpl(@Reference NetworkTransactionService networkTransactionService,
+            @Reference NotificationPublishService notificationPublishService) {
         this.networkTransactionService = networkTransactionService;
+        this.notificationPublishService = notificationPublishService;
         this.orderedServiceLayerList = List.of(LayerProtocolName.PHOTONICMEDIA, LayerProtocolName.ODU,
             LayerProtocolName.DSR, LayerProtocolName.ETH);
-        this.notificationPublishService = notificationPublishService;
+        LOG.debug("TapiNetworkModelListenerImpl instantiated");
     }
 
     @Override
index 806cc596cc690d25d8526e14374892f98f1eb788..8c9a568fddd79ddbf2b389594f56404f462b3f6b 100644 (file)
@@ -38,6 +38,8 @@ Author: Gilles Thouenon <gilles.thouenon@orange.com>
     <reference id="tapiNetworkModelService" interface="org.opendaylight.transportpce.tapi.topology.TapiNetworkModelService" />
     <reference id="tapiNetworkUtilsImpl"
         interface="org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.TransportpceTapinetworkutilsService" />
+    <reference id="tapiNetworkModelListenerImpl"
+        interface="org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.TapiNotificationListener" />
 
     <bean id="tapiListener"
           class="org.opendaylight.transportpce.tapi.utils.TapiListener">
@@ -56,11 +58,6 @@ Author: Gilles Thouenon <gilles.thouenon@orange.com>
         <argument ref="dataBroker" />
     </bean>
 
-    <bean id="tapiNetworkModelListenerImpl" class="org.opendaylight.transportpce.tapi.listeners.TapiNetworkModelListenerImpl">
-        <argument ref="networkTransactionImpl" />
-        <argument ref="notificationPublishService" />
-    </bean>
-
     <bean id="tapiNetconfTopologyListener" class="org.opendaylight.transportpce.tapi.topology.TapiNetconfTopologyListener">
         <argument ref="tapiNetworkModelService" />
     </bean>