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=f0f17c0a74011d303db83b4eda3499da448d547c;hb=4493d1c0c0e16a522532a49a14638e2dbdc2f90d;hp=b11aab4678df91188ce27975cf75f2e1804d8631;hpb=f5cb5dd25e896eb6cdcb37c897ee4451f7ec4cbf;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 b11aab467..f0f17c0a7 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,8 +9,6 @@ package io.lighty.controllers.tpce.module; import io.lighty.core.controller.api.AbstractLightyModule; import io.lighty.core.controller.api.LightyServices; -import org.opendaylight.transportpce.servicehandler.catalog.CatalogDataStoreOperations; -import org.opendaylight.transportpce.servicehandler.catalog.CatalogDataStoreOperationsImpl; import org.opendaylight.transportpce.common.crossconnect.CrossConnect; import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl; import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121; @@ -34,18 +32,15 @@ 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.listeners.PortMappingListener; -import org.opendaylight.transportpce.networkmodel.service.FrequenciesService; import org.opendaylight.transportpce.networkmodel.service.FrequenciesServiceImpl; import org.opendaylight.transportpce.networkmodel.service.NetworkModelService; import org.opendaylight.transportpce.networkmodel.service.NetworkModelServiceImpl; import org.opendaylight.transportpce.olm.OlmPowerServiceRpcImpl; import org.opendaylight.transportpce.olm.OlmProvider; -import org.opendaylight.transportpce.olm.power.PowerMgmt; import org.opendaylight.transportpce.olm.power.PowerMgmtImpl; -import org.opendaylight.transportpce.olm.service.OlmPowerService; import org.opendaylight.transportpce.olm.service.OlmPowerServiceImpl; -import org.opendaylight.transportpce.pce.gnpy.consumer.GnpyConsumer; import org.opendaylight.transportpce.pce.gnpy.consumer.GnpyConsumerImpl; import org.opendaylight.transportpce.pce.impl.PceProvider; import org.opendaylight.transportpce.pce.service.PathComputationService; @@ -62,6 +57,7 @@ import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOpe 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.catalog.CatalogDataStoreOperationsImpl; import org.opendaylight.transportpce.servicehandler.impl.ServicehandlerImpl; import org.opendaylight.transportpce.servicehandler.impl.ServicehandlerProvider; import org.opendaylight.transportpce.servicehandler.listeners.NetworkModelListenerImpl; @@ -78,15 +74,14 @@ import org.opendaylight.transportpce.tapi.topology.TapiNetworkUtilsImpl; import org.opendaylight.transportpce.tapi.utils.TapiLink; 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; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.OrgOpenroadmServiceService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class TransportPCEImpl extends AbstractLightyModule implements TransportPCE { private static final Logger LOG = LoggerFactory.getLogger(TransportPCEImpl.class); - private static final long MAX_DURATION_TO_SUBMIT_TRANSACTION = 1500; + private static final long MAX_TIME_FOR_TRANSACTION = 1500; // transaction beans // cannot use interface for DeviceTransactionManagerImpl // because implementation has additional public methods ... @@ -107,101 +102,113 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP // nbi-notifications beans private NbiNotificationsProvider nbiNotificationsProvider; - public TransportPCEImpl(LightyServices lightyServices, boolean activateNbiNotification, boolean activateTapi, - String olmtimer1, String olmtimer2) { + 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); - networkTransaction = new NetworkTransactionImpl(lightyServices.getBindingDataBroker()); + deviceTransactionManager = + new DeviceTransactionManagerImpl(lightyServices.getBindingMountPointService(), MAX_TIME_FOR_TRANSACTION); + var lgServBDB = lightyServices.getBindingDataBroker(); + networkTransaction = new NetworkTransactionImpl(lgServBDB); LOG.info("Creating network-model beans ..."); PortMapping portMapping = initPortMapping(lightyServices); - NetworkModelService networkModelService = new NetworkModelServiceImpl(lightyServices.getBindingDataBroker(), + var lgServBNPS = lightyServices.getBindingNotificationPublishService(); + NetworkModelService networkModelService = new NetworkModelServiceImpl( + lgServBDB, deviceTransactionManager, networkTransaction, portMapping, - lightyServices.getBindingNotificationPublishService()); - FrequenciesService networkModelWavelengthService = new FrequenciesServiceImpl( - lightyServices.getBindingDataBroker()); - new NetConfTopologyListener(networkModelService, - lightyServices.getBindingDataBroker(), deviceTransactionManager, portMapping); + lgServBNPS); + new NetConfTopologyListener( + networkModelService, lgServBDB, deviceTransactionManager, portMapping); new PortMappingListener(networkModelService); - networkModelProvider = new NetworkModelProvider(networkTransaction, lightyServices.getBindingDataBroker(), - lightyServices.getRpcProviderService(), networkModelService, deviceTransactionManager, portMapping, - lightyServices.getNotificationService(), networkModelWavelengthService); + var lgServRPS = lightyServices.getRpcProviderService(); + var lgServNS = lightyServices.getNotificationService(); + new NetworkUtilsImpl(lgServBDB, lgServRPS); + networkModelProvider = new NetworkModelProvider( + networkTransaction, + lgServBDB, + networkModelService, deviceTransactionManager, portMapping, + lgServNS, + new FrequenciesServiceImpl(lgServBDB)); LOG.info("Creating PCE beans ..."); // TODO: pass those parameters through command line - GnpyConsumer gnpyConsumer = new GnpyConsumerImpl("http://127.0.0.1:8008", - "gnpy", "gnpy", lightyServices.getAdapterContext().currentSerializer()); PathComputationService pathComputationService = new PathComputationServiceImpl( networkTransaction, - lightyServices.getBindingNotificationPublishService(), - gnpyConsumer, - portMapping - ); - pceProvider = new PceProvider(lightyServices.getRpcProviderService(), pathComputationService); + lgServBNPS, + new GnpyConsumerImpl( + "http://127.0.0.1:8008", "gnpy", "gnpy", lightyServices.getAdapterContext().currentSerializer()), + portMapping); + pceProvider = new PceProvider(lgServRPS, pathComputationService); LOG.info("Creating OLM beans ..."); - MappingUtils mappingUtils = new MappingUtilsImpl(lightyServices.getBindingDataBroker()); + MappingUtils mappingUtils = new MappingUtilsImpl(lgServBDB); CrossConnect crossConnect = initCrossConnect(mappingUtils); OpenRoadmInterfaces openRoadmInterfaces = initOpenRoadmInterfaces(mappingUtils, portMapping); - 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); - + TransportpceOlmService olmPowerServiceRpc = new OlmPowerServiceRpcImpl( + new OlmPowerServiceImpl( + lgServBDB, + new PowerMgmtImpl( + openRoadmInterfaces, crossConnect, deviceTransactionManager, + portMapping, Long.valueOf(olmtimer1).longValue(), Long.valueOf(olmtimer2).longValue()), + deviceTransactionManager, portMapping, mappingUtils, openRoadmInterfaces)); + olmProvider = new OlmProvider(lgServRPS, olmPowerServiceRpc); LOG.info("Creating renderer beans ..."); initOpenRoadmFactory(mappingUtils, openRoadmInterfaces, portMapping); DeviceRendererService deviceRendererService = new DeviceRendererServiceImpl( - lightyServices.getBindingDataBroker(), deviceTransactionManager, openRoadmInterfaces, crossConnect, + lgServBDB, + deviceTransactionManager, openRoadmInterfaces, crossConnect, mappingUtils, portMapping); - OtnDeviceRendererService otnDeviceRendererService = new OtnDeviceRendererServiceImpl(crossConnect, - openRoadmInterfaces, deviceTransactionManager, mappingUtils, portMapping); - rendererProvider = initRenderer(lightyServices, olmPowerServiceRpc, deviceRendererService, - otnDeviceRendererService, portMapping); + OtnDeviceRendererService otnDeviceRendererService = new OtnDeviceRendererServiceImpl( + crossConnect, openRoadmInterfaces, deviceTransactionManager, mappingUtils, portMapping); + rendererProvider = initRenderer( + lightyServices, olmPowerServiceRpc, deviceRendererService, otnDeviceRendererService, portMapping); LOG.info("Creating service-handler beans ..."); - RendererServiceOperations rendererServiceOperations = new RendererServiceOperationsImpl(deviceRendererService, - otnDeviceRendererService, olmPowerServiceRpc, lightyServices.getBindingDataBroker(), - lightyServices.getBindingNotificationPublishService(), portMapping); - ServiceDataStoreOperations serviceDataStoreOperations = new ServiceDataStoreOperationsImpl( - lightyServices.getBindingDataBroker()); - RendererListenerImpl rendererListenerImpl = new RendererListenerImpl(pathComputationService, - lightyServices.getBindingNotificationPublishService(), networkModelService); - PceListenerImpl pceListenerImpl = new PceListenerImpl(rendererServiceOperations, pathComputationService, - lightyServices.getBindingNotificationPublishService(), serviceDataStoreOperations); + RendererServiceOperations rendererServiceOperations = new RendererServiceOperationsImpl( + deviceRendererService, otnDeviceRendererService, olmPowerServiceRpc, + lgServBDB, + lgServBNPS, + portMapping); + ServiceDataStoreOperations serviceDataStoreOperations = + new ServiceDataStoreOperationsImpl(lgServBDB); + RendererListenerImpl rendererListenerImpl = + new RendererListenerImpl(pathComputationService, lgServBNPS, networkModelService); + PceListenerImpl pceListenerImpl = new PceListenerImpl( + rendererServiceOperations, pathComputationService, + lgServBNPS, serviceDataStoreOperations); NetworkModelListenerImpl networkModelListenerImpl = new NetworkModelListenerImpl( - lightyServices.getBindingNotificationPublishService(), serviceDataStoreOperations); - CatalogDataStoreOperations catalogDataStoreOperations = new CatalogDataStoreOperationsImpl(networkTransaction); - OrgOpenroadmServiceService servicehandler = new ServicehandlerImpl(pathComputationService, - rendererServiceOperations, lightyServices.getBindingNotificationPublishService(), pceListenerImpl, - rendererListenerImpl, networkModelListenerImpl, serviceDataStoreOperations, catalogDataStoreOperations); - ServiceListener serviceListener = new ServiceListener(servicehandler, serviceDataStoreOperations, - lightyServices.getBindingNotificationPublishService()); - servicehandlerProvider = new ServicehandlerProvider(lightyServices.getBindingDataBroker(), - lightyServices.getRpcProviderService(), lightyServices.getNotificationService(), - serviceDataStoreOperations, pceListenerImpl, rendererListenerImpl, networkModelListenerImpl, - lightyServices.getBindingNotificationPublishService(), servicehandler, serviceListener); + lgServBNPS, serviceDataStoreOperations); + OrgOpenroadmServiceService servicehandler = new ServicehandlerImpl( + pathComputationService, rendererServiceOperations, + lgServBNPS, pceListenerImpl, + rendererListenerImpl, networkModelListenerImpl, serviceDataStoreOperations, + new CatalogDataStoreOperationsImpl(networkTransaction)); + servicehandlerProvider = new ServicehandlerProvider( + lgServBDB, lgServRPS, + lgServNS, serviceDataStoreOperations, pceListenerImpl, + rendererListenerImpl, networkModelListenerImpl, lgServBNPS, + servicehandler, + new ServiceListener( + servicehandler, serviceDataStoreOperations, lgServBNPS)); if (activateTapi) { LOG.info("Creating tapi beans ..."); 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, - tapiNetworkModelListenerImpl, tapiLink, tapiNetworkModelService); - + tapiProvider = initTapi( + lightyServices, servicehandler, networkTransaction, serviceDataStoreOperations, + new TapiNetworkModelListenerImpl( + networkTransaction, lgServBNPS), + tapiLink, + new TapiNetworkModelServiceImpl( + networkTransaction, deviceTransactionManager, tapiLink, + lgServBNPS)); } if (activateNbiNotification) { LOG.info("Creating nbi-notifications beans ..."); nbiNotificationsProvider = new NbiNotificationsProvider( - null, null, lightyServices.getRpcProviderService(), - lightyServices.getNotificationService(), lightyServices.getAdapterContext().currentSerializer(), + null, null, lgServRPS, + lgServNS, lightyServices.getAdapterContext().currentSerializer(), networkTransaction); } } @@ -243,58 +250,60 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP return true; } - private TapiProvider initTapi(LightyServices lightyServices, OrgOpenroadmServiceService servicehandler, - NetworkTransactionService networkTransactionService, - ServiceDataStoreOperations serviceDataStoreOperations, - TapiNetworkModelListenerImpl tapiNetworkModelListenerImpl, - TapiLink tapiLink, TapiNetworkModelService tapiNetworkModelService) { - TransportpceTapinetworkutilsService tapiNetworkUtils = new TapiNetworkUtilsImpl(networkTransactionService, - tapiLink); - return new TapiProvider(lightyServices.getBindingDataBroker(), lightyServices.getRpcProviderService(), + private TapiProvider initTapi( + LightyServices lightyServices, OrgOpenroadmServiceService servicehandler, + NetworkTransactionService networkTransactionService, ServiceDataStoreOperations serviceDataStoreOperations, + TapiNetworkModelListenerImpl tapiNetworkModelListenerImpl, TapiLink tapiLink, + TapiNetworkModelService tapiNetworkModelService) { + return new TapiProvider( + lightyServices.getBindingDataBroker(), lightyServices.getRpcProviderService(), lightyServices.getNotificationService(), lightyServices.getBindingNotificationPublishService(), - networkTransactionService, servicehandler, serviceDataStoreOperations, tapiNetworkUtils, + networkTransactionService, servicehandler, serviceDataStoreOperations, + new TapiNetworkUtilsImpl(networkTransactionService, tapiLink), tapiNetworkModelListenerImpl, tapiNetworkModelService); } - private RendererProvider initRenderer(LightyServices lightyServices, TransportpceOlmService olmPowerServiceRpc, + private RendererProvider initRenderer( + LightyServices lightyServices, TransportpceOlmService olmPowerServiceRpc, DeviceRendererService deviceRendererService, OtnDeviceRendererService otnDeviceRendererService, PortMapping portMapping) { - DeviceRendererRPCImpl deviceRendererRPC = new DeviceRendererRPCImpl(deviceRendererService, - otnDeviceRendererService); - RendererServiceOperationsImpl rendererServiceOperations = new RendererServiceOperationsImpl( - deviceRendererService, otnDeviceRendererService, olmPowerServiceRpc, - lightyServices.getBindingDataBroker(), lightyServices.getBindingNotificationPublishService(), - portMapping); - return new RendererProvider(lightyServices.getRpcProviderService(), deviceRendererService, - otnDeviceRendererService, deviceRendererRPC, - new TransportPCEServicePathRPCImpl(rendererServiceOperations)); + return new RendererProvider( + lightyServices.getRpcProviderService(), deviceRendererService, + otnDeviceRendererService, + new DeviceRendererRPCImpl(deviceRendererService, otnDeviceRendererService), + new TransportPCEServicePathRPCImpl( + new RendererServiceOperationsImpl( + deviceRendererService, otnDeviceRendererService, olmPowerServiceRpc, + lightyServices.getBindingDataBroker(), lightyServices.getBindingNotificationPublishService(), + portMapping))); } - private OpenRoadmInterfaceFactory initOpenRoadmFactory(MappingUtils mappingUtils, - OpenRoadmInterfaces openRoadmInterfaces, PortMapping portMapping) { + private OpenRoadmInterfaceFactory initOpenRoadmFactory( + MappingUtils mappingUtils, OpenRoadmInterfaces openRoadmInterfaces, PortMapping portMapping) { return new OpenRoadmInterfaceFactory(mappingUtils, portMapping, openRoadmInterfaces); } private PortMapping initPortMapping(LightyServices lightyServices) { - PortMappingVersion710 portMappingVersion710 = new PortMappingVersion710(lightyServices.getBindingDataBroker(), - deviceTransactionManager); - PortMappingVersion221 portMappingVersion221 = new PortMappingVersion221(lightyServices.getBindingDataBroker(), - deviceTransactionManager); - PortMappingVersion121 portMappingVersion121 = new PortMappingVersion121(lightyServices.getBindingDataBroker(), - deviceTransactionManager); - return new PortMappingImpl(lightyServices.getBindingDataBroker(), portMappingVersion710, - portMappingVersion221, portMappingVersion121); + PortMappingVersion710 portMappingVersion710 = + new PortMappingVersion710(lightyServices.getBindingDataBroker(), deviceTransactionManager); + PortMappingVersion221 portMappingVersion221 = + new PortMappingVersion221(lightyServices.getBindingDataBroker(), deviceTransactionManager); + PortMappingVersion121 portMappingVersion121 = + new PortMappingVersion121(lightyServices.getBindingDataBroker(), deviceTransactionManager); + return new PortMappingImpl( + lightyServices.getBindingDataBroker(), portMappingVersion710, portMappingVersion221, portMappingVersion121); } private OpenRoadmInterfaces initOpenRoadmInterfaces(MappingUtils mappingUtils, PortMapping portMapping) { - OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121( - deviceTransactionManager); - OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221( - deviceTransactionManager, portMapping); - OpenRoadmInterfacesImpl710 openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710( - deviceTransactionManager, portMapping); - return new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils, openRoadmInterfacesImpl121, - openRoadmInterfacesImpl221, openRoadmInterfacesImpl710); + OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121 = + new OpenRoadmInterfacesImpl121(deviceTransactionManager); + OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221 = + new OpenRoadmInterfacesImpl221(deviceTransactionManager, portMapping); + OpenRoadmInterfacesImpl710 openRoadmInterfacesImpl710 = + new OpenRoadmInterfacesImpl710(deviceTransactionManager, portMapping); + return new OpenRoadmInterfacesImpl( + deviceTransactionManager, mappingUtils, + openRoadmInterfacesImpl121, openRoadmInterfacesImpl221, openRoadmInterfacesImpl710); } @@ -302,7 +311,8 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP CrossConnectImpl121 crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager); CrossConnectImpl221 crossConnectImpl221 = new CrossConnectImpl221(deviceTransactionManager); CrossConnectImpl710 crossConnectImpl710 = new CrossConnectImpl710(deviceTransactionManager); - return new CrossConnectImpl(deviceTransactionManager, mappingUtils, crossConnectImpl121, crossConnectImpl221, - crossConnectImpl710); + return new CrossConnectImpl( + deviceTransactionManager, mappingUtils, + crossConnectImpl121, crossConnectImpl221, crossConnectImpl710); } }