Implement an autonomous service rerouting
[transportpce.git] / lighty / src / main / java / io / lighty / controllers / tpce / module / TransportPCEImpl.java
index ef88bf77e81598a2dc3f74de3f7af0bf7b45c118..fb3a8f828100277b2932919a53d8751062bbe377 100644 (file)
@@ -80,6 +80,7 @@ import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOper
 import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperationsImpl;
 import org.opendaylight.transportpce.tapi.R2RTapiLinkDiscovery;
 import org.opendaylight.transportpce.tapi.impl.TapiProvider;
+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;
@@ -197,13 +198,13 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP
             lightyServices.getBindingNotificationPublishService(), networkModelService);
         PceListenerImpl pceListenerImpl = new PceListenerImpl(rendererServiceOperations, pathComputationService,
             lightyServices.getBindingNotificationPublishService(), serviceDataStoreOperations);
-        ServiceListener serviceListener = new ServiceListener(lightyServices.getBindingDataBroker(),
-                lightyServices.getBindingNotificationPublishService());
         NetworkModelListenerImpl networkModelListenerImpl = new NetworkModelListenerImpl(
                 lightyServices.getBindingNotificationPublishService(), serviceDataStoreOperations);
         ServicehandlerImpl servicehandler = new ServicehandlerImpl(lightyServices.getBindingDataBroker(),
             pathComputationService, rendererServiceOperations, lightyServices.getBindingNotificationPublishService(),
             pceListenerImpl, rendererListenerImpl, networkModelListenerImpl, serviceDataStoreOperations);
+        ServiceListener serviceListener = new ServiceListener(servicehandler, serviceDataStoreOperations,
+                lightyServices.getBindingNotificationPublishService());
         servicehandlerProvider = new ServicehandlerProvider(lightyServices.getBindingDataBroker(),
                 lightyServices.getRpcProviderService(), lightyServices.getNotificationService(),
                 serviceDataStoreOperations, pceListenerImpl, serviceListener, rendererListenerImpl,
@@ -212,26 +213,29 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP
             LOG.info("Creating tapi beans ...");
             TapiLink tapiLink = new TapiLink(networkTransaction);
             R2RTapiLinkDiscovery tapilinkDiscoveryImpl = new R2RTapiLinkDiscovery(networkTransaction,
-                deviceTransactionManager, tapiLink);
+                    deviceTransactionManager, tapiLink);
             TapiRendererListenerImpl tapiRendererListenerImpl = new TapiRendererListenerImpl(lightyServices
                     .getBindingDataBroker());
             TapiPceListenerImpl tapiPceListenerImpl = new TapiPceListenerImpl(lightyServices.getBindingDataBroker());
-            TapiServiceHandlerListenerImpl tapiServiceHandlerListener = new TapiServiceHandlerListenerImpl(lightyServices
-                    .getBindingDataBroker());
+            TapiServiceHandlerListenerImpl tapiServiceHandlerListener = new TapiServiceHandlerListenerImpl(
+                    lightyServices.getBindingDataBroker());
             TransportpceTapinetworkutilsService tapiNetworkutilsServiceImpl = new TapiNetworkUtilsImpl(
                     networkTransaction, tapiLink);
             TapiNetworkModelService tapiNetworkModelService = new TapiNetworkModelServiceImpl(
-                tapilinkDiscoveryImpl, networkTransaction, tapiLink);
+                    tapilinkDiscoveryImpl, networkTransaction, tapiLink,
+                    lightyServices.getBindingNotificationPublishService());
             TapiNetconfTopologyListener tapiNetConfTopologyListener =
                     new TapiNetconfTopologyListener(tapiNetworkModelService);
             TapiOrLinkListener orLinkListener = new TapiOrLinkListener(tapiLink, networkTransaction);
             TapiPortMappingListener tapiPortMappingListener =
-                new TapiPortMappingListener(tapiNetworkModelService);
+                    new TapiPortMappingListener(tapiNetworkModelService);
+            TapiNetworkModelListenerImpl tapiNetworkModelListenerImpl =
+                    new TapiNetworkModelListenerImpl(networkTransaction);
 
             tapiProvider = initTapi(lightyServices, servicehandler, networkTransaction, serviceDataStoreOperations,
-                tapiNetConfTopologyListener, tapiPortMappingListener, tapiNetworkutilsServiceImpl, tapiPceListenerImpl,
-                tapiRendererListenerImpl, tapiServiceHandlerListener, lightyServices.getNotificationService(),
-                orLinkListener);
+                    tapiNetConfTopologyListener, tapiPortMappingListener, tapiNetworkutilsServiceImpl,
+                    tapiPceListenerImpl, tapiRendererListenerImpl, tapiServiceHandlerListener,
+                    lightyServices.getNotificationService(), orLinkListener, tapiNetworkModelListenerImpl);
         }
         if (activateNbiNotification) {
             LOG.info("Creating nbi-notifications beans ...");
@@ -299,11 +303,13 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP
                                   TransportpceTapinetworkutilsService tapiNetworkutilsServiceImpl,
                                   TapiPceListenerImpl pceListenerImpl, TapiRendererListenerImpl rendererListenerImpl,
                                   TapiServiceHandlerListenerImpl serviceHandlerListenerImpl,
-                                  NotificationService notificationService, TapiOrLinkListener orLinkListener) {
+                                  NotificationService notificationService, TapiOrLinkListener orLinkListener,
+                                  TapiNetworkModelListenerImpl tapiNetworkModelListenerImpl) {
         return new TapiProvider(lightyServices.getBindingDataBroker(), lightyServices.getRpcProviderService(),
             servicehandler, serviceDataStoreOperations, new TapiListener(), networkTransactionService,
             tapiNetConfTopologyListener, tapiPortMappingListener, tapiNetworkutilsServiceImpl, pceListenerImpl,
-            rendererListenerImpl, serviceHandlerListenerImpl, notificationService, orLinkListener);
+            rendererListenerImpl, serviceHandlerListenerImpl, notificationService, orLinkListener,
+            tapiNetworkModelListenerImpl);
     }
 
     private RendererProvider initRenderer(LightyServices lightyServices, TransportpceOlmService olmPowerServiceRpc,