X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=lighty%2Fsrc%2Fmain%2Fjava%2Fio%2Flighty%2Fcontrollers%2Ftpce%2Fmodule%2FTransportPCEImpl.java;h=8eb97e47f498e416f48af8e48a883ceca1e5594c;hb=f3253f3398b27936e0d017f6b470b0360827b8f4;hp=970874bf311c1f60600c85902562ecb270e1e87b;hpb=a30d881bb6dcff8233151e66fbf14ccf7d3ae4ea;p=transportpce.git 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 970874bf3..8eb97e47f 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 @@ -9,9 +9,6 @@ package io.lighty.controllers.tpce.module; import io.lighty.core.controller.api.AbstractLightyModule; import io.lighty.core.controller.api.LightyServices; -import java.util.Arrays; -import java.util.List; -import org.opendaylight.mdsal.binding.api.NotificationService; import org.opendaylight.transportpce.common.crossconnect.CrossConnect; import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl; import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121; @@ -27,7 +24,6 @@ import org.opendaylight.transportpce.common.mapping.PortMappingVersion221; import org.opendaylight.transportpce.common.mapping.PortMappingVersion710; import org.opendaylight.transportpce.common.network.NetworkTransactionImpl; import org.opendaylight.transportpce.common.network.NetworkTransactionService; -import org.opendaylight.transportpce.common.network.RequestProcessor; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121; @@ -36,8 +32,6 @@ import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfa import org.opendaylight.transportpce.nbinotifications.impl.NbiNotificationsProvider; import org.opendaylight.transportpce.networkmodel.NetConfTopologyListener; import org.opendaylight.transportpce.networkmodel.NetworkModelProvider; -import org.opendaylight.transportpce.networkmodel.NetworkUtilsImpl; -import org.opendaylight.transportpce.networkmodel.R2RLinkDiscovery; import org.opendaylight.transportpce.networkmodel.listeners.PortMappingListener; import org.opendaylight.transportpce.networkmodel.service.FrequenciesService; import org.opendaylight.transportpce.networkmodel.service.FrequenciesServiceImpl; @@ -55,13 +49,8 @@ import org.opendaylight.transportpce.pce.impl.PceProvider; import org.opendaylight.transportpce.pce.service.PathComputationService; import org.opendaylight.transportpce.pce.service.PathComputationServiceImpl; import org.opendaylight.transportpce.renderer.RendererProvider; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface121; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface221; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterface710; import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory; // Adding OTN interface -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmOtnInterface221; -import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmOtnInterface710; import org.opendaylight.transportpce.renderer.provisiondevice.DeviceRendererService; import org.opendaylight.transportpce.renderer.provisiondevice.DeviceRendererServiceImpl; import org.opendaylight.transportpce.renderer.provisiondevice.OtnDeviceRendererService; @@ -70,6 +59,7 @@ import org.opendaylight.transportpce.renderer.provisiondevice.OtnDeviceRendererS import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations; import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperationsImpl; import org.opendaylight.transportpce.renderer.rpcs.DeviceRendererRPCImpl; +import org.opendaylight.transportpce.renderer.rpcs.TransportPCEServicePathRPCImpl; import org.opendaylight.transportpce.servicehandler.impl.ServicehandlerImpl; import org.opendaylight.transportpce.servicehandler.impl.ServicehandlerProvider; import org.opendaylight.transportpce.servicehandler.listeners.NetworkModelListenerImpl; @@ -78,21 +68,13 @@ import org.opendaylight.transportpce.servicehandler.listeners.RendererListenerIm import org.opendaylight.transportpce.servicehandler.listeners.ServiceListener; import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations; 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; -import org.opendaylight.transportpce.tapi.topology.TapiNetconfTopologyListener; import org.opendaylight.transportpce.tapi.topology.TapiNetworkModelService; import org.opendaylight.transportpce.tapi.topology.TapiNetworkModelServiceImpl; import org.opendaylight.transportpce.tapi.topology.TapiNetworkUtilsImpl; -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.transportpce.tapi.utils.TapiLinkImpl; 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; @@ -122,37 +104,27 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP private TapiProvider tapiProvider; // nbi-notifications beans private NbiNotificationsProvider nbiNotificationsProvider; - /** - * List of publisher topics. - */ - private final List publisherServiceList = Arrays.asList("PceListener", "ServiceHandlerOperations", - "ServiceHandler", "RendererListener"); - private final List publisherAlarmList = Arrays.asList("ServiceListener"); public TransportPCEImpl(LightyServices lightyServices, boolean activateNbiNotification, boolean activateTapi, String olmtimer1, String olmtimer2) { LOG.info("Initializing transaction providers ..."); deviceTransactionManager = new DeviceTransactionManagerImpl(lightyServices.getBindingMountPointService(), MAX_DURATION_TO_SUBMIT_TRANSACTION); - RequestProcessor requestProcessor = new RequestProcessor(lightyServices.getBindingDataBroker()); - networkTransaction = new NetworkTransactionImpl(requestProcessor); + networkTransaction = new NetworkTransactionImpl(lightyServices.getBindingDataBroker()); 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(networkTransaction, linkDiscoveryImpl, - portMapping, lightyServices.getBindingNotificationPublishService()); - FrequenciesService networkModelWavelengthService = - new FrequenciesServiceImpl(lightyServices.getBindingDataBroker()); - NetConfTopologyListener netConfTopologyListener = new NetConfTopologyListener(networkModelService, + NetworkModelService networkModelService = new NetworkModelServiceImpl(lightyServices.getBindingDataBroker(), + deviceTransactionManager, networkTransaction, portMapping, + lightyServices.getBindingNotificationPublishService()); + 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 @@ -170,21 +142,20 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP MappingUtils mappingUtils = new MappingUtilsImpl(lightyServices.getBindingDataBroker()); CrossConnect crossConnect = initCrossConnect(mappingUtils); OpenRoadmInterfaces openRoadmInterfaces = initOpenRoadmInterfaces(mappingUtils, portMapping); - PowerMgmt powerMgmt = new PowerMgmtImpl(lightyServices.getBindingDataBroker(), openRoadmInterfaces, - crossConnect, deviceTransactionManager, olmtimer1, olmtimer2); + PowerMgmt powerMgmt = new PowerMgmtImpl(openRoadmInterfaces, crossConnect, deviceTransactionManager, + portMapping, Long.valueOf(olmtimer1).longValue(), Long.valueOf(olmtimer2).longValue()); OlmPowerService olmPowerService = new OlmPowerServiceImpl(lightyServices.getBindingDataBroker(), powerMgmt, deviceTransactionManager, portMapping, mappingUtils, openRoadmInterfaces); TransportpceOlmService olmPowerServiceRpc = new OlmPowerServiceRpcImpl(olmPowerService); olmProvider = new OlmProvider(lightyServices.getRpcProviderService(), olmPowerServiceRpc); LOG.info("Creating renderer beans ..."); - OpenRoadmInterfaceFactory openRoadmInterfaceFactory = initOpenRoadmFactory(mappingUtils, openRoadmInterfaces, - portMapping); + initOpenRoadmFactory(mappingUtils, openRoadmInterfaces, portMapping); DeviceRendererService deviceRendererService = new DeviceRendererServiceImpl( - lightyServices.getBindingDataBroker(), deviceTransactionManager, openRoadmInterfaceFactory, - openRoadmInterfaces, crossConnect, portMapping); - OtnDeviceRendererService otnDeviceRendererService = new OtnDeviceRendererServiceImpl(openRoadmInterfaceFactory, - crossConnect, openRoadmInterfaces, deviceTransactionManager, networkModelService); + lightyServices.getBindingDataBroker(), deviceTransactionManager, openRoadmInterfaces, crossConnect, + mappingUtils, portMapping); + OtnDeviceRendererService otnDeviceRendererService = new OtnDeviceRendererServiceImpl(crossConnect, + openRoadmInterfaces, deviceTransactionManager, mappingUtils, portMapping); rendererProvider = initRenderer(lightyServices, olmPowerServiceRpc, deviceRendererService, otnDeviceRendererService, portMapping); @@ -200,48 +171,33 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP lightyServices.getBindingNotificationPublishService(), serviceDataStoreOperations); NetworkModelListenerImpl networkModelListenerImpl = new NetworkModelListenerImpl( lightyServices.getBindingNotificationPublishService(), serviceDataStoreOperations); - ServicehandlerImpl servicehandler = new ServicehandlerImpl(lightyServices.getBindingDataBroker(), - pathComputationService, rendererServiceOperations, lightyServices.getBindingNotificationPublishService(), - pceListenerImpl, rendererListenerImpl, networkModelListenerImpl, serviceDataStoreOperations); + ServicehandlerImpl servicehandler = new ServicehandlerImpl(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, - networkModelListenerImpl, servicehandler); + serviceDataStoreOperations, pceListenerImpl, rendererListenerImpl, networkModelListenerImpl, + lightyServices.getBindingNotificationPublishService(), servicehandler, serviceListener); if (activateTapi) { LOG.info("Creating tapi beans ..."); - TapiLink tapiLink = new TapiLink(networkTransaction); - R2RTapiLinkDiscovery tapilinkDiscoveryImpl = new R2RTapiLinkDiscovery(networkTransaction, - deviceTransactionManager, tapiLink); - TapiRendererListenerImpl tapiRendererListenerImpl = new TapiRendererListenerImpl(lightyServices - .getBindingDataBroker(), lightyServices.getBindingNotificationPublishService()); - TapiPceListenerImpl tapiPceListenerImpl = new TapiPceListenerImpl(lightyServices.getBindingDataBroker()); - TapiServiceHandlerListenerImpl tapiServiceHandlerListener = new TapiServiceHandlerListenerImpl( - lightyServices.getBindingDataBroker()); - TransportpceTapinetworkutilsService tapiNetworkutilsServiceImpl = new TapiNetworkUtilsImpl( - networkTransaction, tapiLink); - TapiNetworkModelService tapiNetworkModelService = new TapiNetworkModelServiceImpl( - tapilinkDiscoveryImpl, networkTransaction, tapiLink, - lightyServices.getBindingNotificationPublishService()); - TapiNetconfTopologyListener tapiNetConfTopologyListener = - new TapiNetconfTopologyListener(tapiNetworkModelService); - TapiOrLinkListener orLinkListener = new TapiOrLinkListener(tapiLink, networkTransaction); - TapiPortMappingListener tapiPortMappingListener = - new TapiPortMappingListener(tapiNetworkModelService); + TapiLink tapiLink = new TapiLinkImpl(networkTransaction); + new TapiNetworkUtilsImpl(networkTransaction, tapiLink); + TapiNetworkModelService tapiNetworkModelService = new TapiNetworkModelServiceImpl(networkTransaction, + deviceTransactionManager, tapiLink, lightyServices.getBindingNotificationPublishService()); TapiNetworkModelListenerImpl tapiNetworkModelListenerImpl = new TapiNetworkModelListenerImpl(networkTransaction, lightyServices.getBindingNotificationPublishService()); tapiProvider = initTapi(lightyServices, servicehandler, networkTransaction, serviceDataStoreOperations, - tapiNetConfTopologyListener, tapiPortMappingListener, tapiNetworkutilsServiceImpl, - tapiPceListenerImpl, tapiRendererListenerImpl, tapiServiceHandlerListener, - lightyServices.getNotificationService(), orLinkListener, tapiNetworkModelListenerImpl); + tapiNetworkModelListenerImpl, tapiLink, tapiNetworkModelService); + } if (activateNbiNotification) { LOG.info("Creating nbi-notifications beans ..."); nbiNotificationsProvider = new NbiNotificationsProvider( - publisherServiceList, publisherAlarmList, null, null, lightyServices.getRpcProviderService(), + null, null, lightyServices.getRpcProviderService(), lightyServices.getNotificationService(), lightyServices.getAdapterContext().currentSerializer(), networkTransaction); } @@ -249,23 +205,11 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP @Override 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 ..."); - rendererProvider.init(); - LOG.info("Initializing service-handler provider ..."); - servicehandlerProvider.init(); if (tapiProvider != null) { LOG.info("Initializing tapi provider ..."); - tapiProvider.init(); } if (nbiNotificationsProvider != null) { LOG.info("Initializing nbi-notifications provider ..."); - nbiNotificationsProvider.init(); } LOG.info("Init done."); return true; @@ -291,7 +235,6 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP LOG.info("Shutting down PCE provider ..."); pceProvider.close(); LOG.info("Shutting down transaction providers ..."); - networkTransaction.close(); deviceTransactionManager.preDestroy(); LOG.info("Shutdown done."); return true; @@ -300,18 +243,14 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP private TapiProvider initTapi(LightyServices lightyServices, OrgOpenroadmServiceService servicehandler, NetworkTransactionService networkTransactionService, ServiceDataStoreOperations serviceDataStoreOperations, - TapiNetconfTopologyListener tapiNetConfTopologyListener, - TapiPortMappingListener tapiPortMappingListener, - TransportpceTapinetworkutilsService tapiNetworkutilsServiceImpl, - TapiPceListenerImpl pceListenerImpl, TapiRendererListenerImpl rendererListenerImpl, - TapiServiceHandlerListenerImpl serviceHandlerListenerImpl, - NotificationService notificationService, TapiOrLinkListener orLinkListener, - TapiNetworkModelListenerImpl tapiNetworkModelListenerImpl) { + TapiNetworkModelListenerImpl tapiNetworkModelListenerImpl, + TapiLink tapiLink, TapiNetworkModelService tapiNetworkModelService) { + TransportpceTapinetworkutilsService tapiNetworkUtils = new TapiNetworkUtilsImpl(networkTransactionService, + tapiLink); return new TapiProvider(lightyServices.getBindingDataBroker(), lightyServices.getRpcProviderService(), - servicehandler, serviceDataStoreOperations, new TapiListener(), networkTransactionService, - tapiNetConfTopologyListener, tapiPortMappingListener, tapiNetworkutilsServiceImpl, pceListenerImpl, - rendererListenerImpl, serviceHandlerListenerImpl, notificationService, orLinkListener, - tapiNetworkModelListenerImpl); + lightyServices.getNotificationService(), lightyServices.getBindingNotificationPublishService(), + networkTransactionService, servicehandler, serviceDataStoreOperations, tapiNetworkUtils, + tapiNetworkModelListenerImpl, tapiNetworkModelService); } private RendererProvider initRenderer(LightyServices lightyServices, TransportpceOlmService olmPowerServiceRpc, @@ -323,21 +262,14 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP deviceRendererService, otnDeviceRendererService, olmPowerServiceRpc, lightyServices.getBindingDataBroker(), lightyServices.getBindingNotificationPublishService(), portMapping); - return new RendererProvider(lightyServices.getRpcProviderService(), deviceRendererRPC, - rendererServiceOperations); + return new RendererProvider(lightyServices.getRpcProviderService(), deviceRendererService, + otnDeviceRendererService, deviceRendererRPC, + new TransportPCEServicePathRPCImpl(rendererServiceOperations)); } private OpenRoadmInterfaceFactory initOpenRoadmFactory(MappingUtils mappingUtils, OpenRoadmInterfaces openRoadmInterfaces, PortMapping portMapping) { - OpenRoadmInterface121 openRoadmInterface121 = new OpenRoadmInterface121(portMapping, openRoadmInterfaces); - OpenRoadmInterface221 openRoadmInterface221 = new OpenRoadmInterface221(portMapping, openRoadmInterfaces); - OpenRoadmInterface710 openRoadmInterface710 = new OpenRoadmInterface710(portMapping, openRoadmInterfaces); - OpenRoadmOtnInterface221 openRoadmOtnInterface221 = new OpenRoadmOtnInterface221(portMapping, - openRoadmInterfaces); - OpenRoadmOtnInterface710 openRoadmOtnInterface710 = new OpenRoadmOtnInterface710(portMapping, - openRoadmInterfaces); - return new OpenRoadmInterfaceFactory(mappingUtils, openRoadmInterface121, openRoadmInterface221, - openRoadmInterface710, openRoadmOtnInterface221, openRoadmOtnInterface710); + return new OpenRoadmInterfaceFactory(mappingUtils, portMapping, openRoadmInterfaces); } private PortMapping initPortMapping(LightyServices lightyServices) { @@ -355,11 +287,12 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121( deviceTransactionManager); OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221( - deviceTransactionManager, portMapping, portMapping.getPortMappingVersion221()); + deviceTransactionManager, portMapping); OpenRoadmInterfacesImpl710 openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710( - deviceTransactionManager, portMapping, portMapping.getPortMappingVersion710()); + deviceTransactionManager, portMapping); return new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils, openRoadmInterfacesImpl121, openRoadmInterfacesImpl221, openRoadmInterfacesImpl710); + } private CrossConnect initCrossConnect(MappingUtils mappingUtils) {