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=cf64773cda0188cd1e8ce8c8dc483b2dcfdbbcb0;hpb=e795881fbad5afa5838b6ca05426e4066ad58f8b;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 cf64773cd..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 @@ -5,194 +5,314 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at https://www.eclipse.org/legal/epl-v10.html */ - package io.lighty.controllers.tpce.module; import io.lighty.core.controller.api.AbstractLightyModule; import io.lighty.core.controller.api.LightyServices; +import org.opendaylight.transportpce.common.crossconnect.CrossConnect; import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl; import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl121; import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl221; +import org.opendaylight.transportpce.common.crossconnect.CrossConnectImpl710; import org.opendaylight.transportpce.common.device.DeviceTransactionManagerImpl; -import org.opendaylight.transportpce.common.fixedflex.FixedFlexImpl; +import org.opendaylight.transportpce.common.mapping.MappingUtils; import org.opendaylight.transportpce.common.mapping.MappingUtilsImpl; +import org.opendaylight.transportpce.common.mapping.PortMapping; import org.opendaylight.transportpce.common.mapping.PortMappingImpl; import org.opendaylight.transportpce.common.mapping.PortMappingVersion121; 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.RequestProcessor; +import org.opendaylight.transportpce.common.network.NetworkTransactionService; +import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221; +import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl710; +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.FrequenciesServiceImpl; +import org.opendaylight.transportpce.networkmodel.service.NetworkModelService; import org.opendaylight.transportpce.networkmodel.service.NetworkModelServiceImpl; -import org.opendaylight.transportpce.networkmodel.util.OpenRoadmFactory; -import org.opendaylight.transportpce.networkmodel.util.OpenRoadmTopology22; 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.OlmPowerServiceImpl; +import org.opendaylight.transportpce.pce.gnpy.consumer.GnpyConsumerImpl; 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.NetworkModelWavelengthServiceImpl; 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.OpenRoadmInterfaceFactory; +// Adding OTN interface +import org.opendaylight.transportpce.renderer.provisiondevice.DeviceRendererService; import org.opendaylight.transportpce.renderer.provisiondevice.DeviceRendererServiceImpl; +import org.opendaylight.transportpce.renderer.provisiondevice.OtnDeviceRendererService; +// Add OTN +import org.opendaylight.transportpce.renderer.provisiondevice.OtnDeviceRendererServiceImpl; +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.catalog.CatalogDataStoreOperationsImpl; +import org.opendaylight.transportpce.servicehandler.impl.ServicehandlerImpl; import org.opendaylight.transportpce.servicehandler.impl.ServicehandlerProvider; +import org.opendaylight.transportpce.servicehandler.listeners.NetworkModelListenerImpl; +import org.opendaylight.transportpce.servicehandler.listeners.PceListenerImpl; +import org.opendaylight.transportpce.servicehandler.listeners.RendererListenerImpl; +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.impl.TapiProvider; +import org.opendaylight.transportpce.tapi.listeners.TapiNetworkModelListenerImpl; +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.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.openroadm.service.rev230526.OrgOpenroadmServiceService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class TransportPCEImpl extends AbstractLightyModule implements TransportPCE { +public class TransportPCEImpl extends AbstractLightyModule implements TransportPCE { private static final Logger LOG = LoggerFactory.getLogger(TransportPCEImpl.class); - private static final long MaxDurationToSubmitTransaction = 1500; - - // common beans + private static final long MAX_TIME_FOR_TRANSACTION = 1500; + // transaction beans + // cannot use interface for DeviceTransactionManagerImpl + // because implementation has additional public methods ... private final DeviceTransactionManagerImpl deviceTransactionManager; - private final MappingUtilsImpl mappingUtils; - private final OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121; - private final OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221; - private final OpenRoadmInterfacesImpl openRoadmInterfaces; - private final PortMappingVersion221 portMappingVersion221; - private final RequestProcessor requestProcessor; - private final NetworkTransactionImpl networkTransaction; - private final PortMappingVersion121 portMappingVersion121; - private final PortMappingImpl portMapping; - private final CrossConnectImpl121 crossConnectImpl121; - private final CrossConnectImpl221 crossConnectImpl221; - private final CrossConnectImpl crossConnect; - private final FixedFlexImpl fixedFlex; - + private final NetworkTransactionService networkTransaction; // pce beans - private final PathComputationServiceImpl pathComputationService; private final PceProvider pceProvider; - // network model beans - private final OpenRoadmTopology22 openRoadmTopology22; - private final OpenRoadmFactory openRoadmFactory; - private final R2RLinkDiscovery linkDiscoveryImpl; - private final NetworkUtilsImpl networkutilsServiceImpl; - private final NetworkModelServiceImpl networkModelService; - private final NetConfTopologyListener netConfTopologyListener; private final NetworkModelProvider networkModelProvider; - // OLM beans - private final PowerMgmt powerMgmt; - private final OlmPowerServiceImpl olmPowerService; private final OlmProvider olmProvider; - private final OlmPowerServiceRpcImpl olmPowerServiceRpc; - // renderer beans - private final OpenRoadmInterface121 openRoadmInterface121; - private final OpenRoadmInterface221 openRoadmInterface22; - private final OpenRoadmInterfaceFactory openRoadmInterfaceFactory; - private final DeviceRendererServiceImpl deviceRendererService; - private final DeviceRendererRPCImpl deviceRendererRPC; - private final NetworkModelWavelengthServiceImpl networkModelWavelengthService; - private final RendererServiceOperationsImpl rendererServiceOperations; private final RendererProvider rendererProvider; - // service-handler beans private final ServicehandlerProvider servicehandlerProvider; + // T-api + private TapiProvider tapiProvider; + // nbi-notifications beans + private NbiNotificationsProvider nbiNotificationsProvider; - public TransportPCEImpl(LightyServices lightyServices) { - LOG.info("Creating common beans ..."); - deviceTransactionManager = new DeviceTransactionManagerImpl(lightyServices.getControllerBindingMountPointService(), MaxDurationToSubmitTransaction); - mappingUtils = new MappingUtilsImpl(lightyServices.getControllerBindingPingPongDataBroker()); - openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager); - openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221(deviceTransactionManager); - openRoadmInterfaces = new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils, openRoadmInterfacesImpl121, openRoadmInterfacesImpl221); - portMappingVersion221 = new PortMappingVersion221(lightyServices.getControllerBindingPingPongDataBroker(), deviceTransactionManager, openRoadmInterfaces); - requestProcessor = new RequestProcessor(lightyServices.getControllerBindingPingPongDataBroker()); - networkTransaction = new NetworkTransactionImpl(requestProcessor); - portMappingVersion121 = new PortMappingVersion121(lightyServices.getControllerBindingPingPongDataBroker(), deviceTransactionManager, openRoadmInterfaces); - portMapping = new PortMappingImpl(lightyServices.getControllerBindingPingPongDataBroker(), portMappingVersion221, portMappingVersion121); - crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager); - crossConnectImpl221 = new CrossConnectImpl221(deviceTransactionManager); - crossConnect = new CrossConnectImpl(deviceTransactionManager, mappingUtils, crossConnectImpl121, crossConnectImpl221); - fixedFlex = new FixedFlexImpl(); - - LOG.info("Creating PCE beans ..."); - pathComputationService = new PathComputationServiceImpl(networkTransaction, lightyServices.getControllerBindingNotificationPublishService()); - pceProvider = new PceProvider(lightyServices.getControllerRpcProviderRegistry(), pathComputationService); + public TransportPCEImpl( + LightyServices lightyServices, boolean activateNbiNotification, boolean activateTapi, + String olmtimer1, String olmtimer2) { + LOG.info("Initializing transaction providers ..."); + deviceTransactionManager = + new DeviceTransactionManagerImpl(lightyServices.getBindingMountPointService(), MAX_TIME_FOR_TRANSACTION); + var lgServBDB = lightyServices.getBindingDataBroker(); + networkTransaction = new NetworkTransactionImpl(lgServBDB); LOG.info("Creating network-model beans ..."); - openRoadmTopology22 = new OpenRoadmTopology22(networkTransaction, deviceTransactionManager); - openRoadmFactory = new OpenRoadmFactory(mappingUtils, openRoadmTopology22); - linkDiscoveryImpl = new R2RLinkDiscovery(lightyServices.getControllerBindingPingPongDataBroker(), deviceTransactionManager, openRoadmFactory, networkTransaction); - networkutilsServiceImpl = new NetworkUtilsImpl(lightyServices.getControllerBindingPingPongDataBroker(), openRoadmFactory); - networkModelService = new NetworkModelServiceImpl(networkTransaction, linkDiscoveryImpl, deviceTransactionManager, openRoadmFactory, portMapping); - netConfTopologyListener = new NetConfTopologyListener(networkModelService, lightyServices.getControllerBindingPingPongDataBroker(), deviceTransactionManager); - networkModelProvider = new NetworkModelProvider(networkTransaction, lightyServices.getControllerBindingPingPongDataBroker(), lightyServices.getControllerRpcProviderRegistry(), networkutilsServiceImpl, netConfTopologyListener, openRoadmFactory); + PortMapping portMapping = initPortMapping(lightyServices); + var lgServBNPS = lightyServices.getBindingNotificationPublishService(); + NetworkModelService networkModelService = new NetworkModelServiceImpl( + lgServBDB, + deviceTransactionManager, networkTransaction, portMapping, + lgServBNPS); + new NetConfTopologyListener( + networkModelService, lgServBDB, deviceTransactionManager, portMapping); + new PortMappingListener(networkModelService); + 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 OLM beans ..."); - powerMgmt = new PowerMgmtImpl(lightyServices.getControllerBindingPingPongDataBroker(), openRoadmInterfaces, crossConnect, deviceTransactionManager); - olmPowerService = new OlmPowerServiceImpl(lightyServices.getControllerBindingPingPongDataBroker(), powerMgmt, deviceTransactionManager, portMapping, mappingUtils, openRoadmInterfaces); - olmProvider = new OlmProvider(lightyServices.getControllerRpcProviderRegistry(), olmPowerService); - olmPowerServiceRpc = new OlmPowerServiceRpcImpl(olmPowerService); + LOG.info("Creating PCE beans ..."); + // TODO: pass those parameters through command line + PathComputationService pathComputationService = new PathComputationServiceImpl( + networkTransaction, + 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(lgServBDB); + CrossConnect crossConnect = initCrossConnect(mappingUtils); + OpenRoadmInterfaces openRoadmInterfaces = initOpenRoadmInterfaces(mappingUtils, portMapping); + 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 ..."); - openRoadmInterface121 = new OpenRoadmInterface121(portMapping, openRoadmInterfaces); - openRoadmInterface22 = new OpenRoadmInterface221(portMapping, openRoadmInterfaces, fixedFlex); - openRoadmInterfaceFactory = new OpenRoadmInterfaceFactory(mappingUtils, openRoadmInterface121, openRoadmInterface22); - deviceRendererService = new DeviceRendererServiceImpl(lightyServices.getControllerBindingPingPongDataBroker(), deviceTransactionManager, openRoadmInterfaceFactory, openRoadmInterfaces, crossConnect, portMapping); - deviceRendererRPC = new DeviceRendererRPCImpl(deviceRendererService); - networkModelWavelengthService = new NetworkModelWavelengthServiceImpl(lightyServices.getControllerBindingPingPongDataBroker()); - rendererServiceOperations = new RendererServiceOperationsImpl(deviceRendererService, olmPowerServiceRpc, lightyServices.getControllerBindingPingPongDataBroker(), networkModelWavelengthService, lightyServices.getControllerBindingNotificationPublishService()); - rendererProvider = new RendererProvider(lightyServices.getControllerRpcProviderRegistry(), deviceRendererRPC, rendererServiceOperations); + initOpenRoadmFactory(mappingUtils, openRoadmInterfaces, portMapping); + DeviceRendererService deviceRendererService = new DeviceRendererServiceImpl( + lgServBDB, + deviceTransactionManager, openRoadmInterfaces, crossConnect, + mappingUtils, portMapping); + OtnDeviceRendererService otnDeviceRendererService = new OtnDeviceRendererServiceImpl( + crossConnect, openRoadmInterfaces, deviceTransactionManager, mappingUtils, portMapping); + rendererProvider = initRenderer( + lightyServices, olmPowerServiceRpc, deviceRendererService, otnDeviceRendererService, portMapping); LOG.info("Creating service-handler beans ..."); - servicehandlerProvider = new ServicehandlerProvider(lightyServices.getControllerBindingPingPongDataBroker(), lightyServices.getControllerRpcProviderRegistry(), lightyServices.getControllerBindingNotificationService(), - pathComputationService, rendererServiceOperations, networkModelWavelengthService, lightyServices.getControllerBindingNotificationPublishService()); - + 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( + 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); + 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, lgServRPS, + lgServNS, lightyServices.getAdapterContext().currentSerializer(), + networkTransaction); + } } @Override protected boolean initProcedure() { - LOG.info("Initializing common beans ..."); - LOG.info("Initializing PCE beans ..."); - pathComputationService.init(); - pceProvider.init(); - LOG.info("Initializing network-model beans ..."); - networkModelProvider.init(); - LOG.info("Initializing OLM beans ..."); - olmPowerService.init(); - olmProvider.init(); - LOG.info("Initializing renderer beans ..."); - rendererProvider.init(); - LOG.info("Initializing service-handler beans ..."); - servicehandlerProvider.init(); + if (tapiProvider != null) { + LOG.info("Initializing tapi provider ..."); + } + if (nbiNotificationsProvider != null) { + LOG.info("Initializing nbi-notifications provider ..."); + } LOG.info("Init done."); return true; } @Override protected boolean stopProcedure() { - LOG.info("Shutting down service-handler beans ..."); + if (nbiNotificationsProvider != null) { + nbiNotificationsProvider.close(); + LOG.info("Shutting down nbi-notifications provider ..."); + } + if (tapiProvider != null) { + tapiProvider.close(); + LOG.info("Shutting down service-handler provider ..."); + } servicehandlerProvider.close(); - LOG.info("Shutting down renderer beans ..."); + LOG.info("Shutting down renderer provider ..."); rendererProvider.close(); - LOG.info("Shutting down OLM beans ..."); + LOG.info("Shutting down OLM provider ..."); olmProvider.close(); - olmPowerService.close(); - LOG.info("Shutting down network-model beans ..."); + LOG.info("Shutting down network-model provider ..."); networkModelProvider.close(); - LOG.info("Shutting down PCE beans ..."); - pathComputationService.close(); + LOG.info("Shutting down PCE provider ..."); pceProvider.close(); - LOG.info("Shutting down common beans ..."); - networkTransaction.close(); + LOG.info("Shutting down transaction providers ..."); deviceTransactionManager.preDestroy(); LOG.info("Shutdown done."); return true; } + 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, + new TapiNetworkUtilsImpl(networkTransactionService, tapiLink), + tapiNetworkModelListenerImpl, tapiNetworkModelService); + } + + private RendererProvider initRenderer( + LightyServices lightyServices, TransportpceOlmService olmPowerServiceRpc, + DeviceRendererService deviceRendererService, OtnDeviceRendererService otnDeviceRendererService, + PortMapping portMapping) { + 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) { + 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); + } + + 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); + + } + + private CrossConnect initCrossConnect(MappingUtils mappingUtils) { + CrossConnectImpl121 crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager); + CrossConnectImpl221 crossConnectImpl221 = new CrossConnectImpl221(deviceTransactionManager); + CrossConnectImpl710 crossConnectImpl710 = new CrossConnectImpl710(deviceTransactionManager); + return new CrossConnectImpl( + deviceTransactionManager, mappingUtils, + crossConnectImpl121, crossConnectImpl221, crossConnectImpl710); + } }