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=fe1c59fa6c152f9bc100c09f1a632bedb9881c49;hb=952583aa9f0de2de04f230291a5989413591a7b7;hp=6431cb894ab821a69d0089cc2afaddee32fe8505;hpb=266a8a29e6eb6d5e21d779ed53daf2c5e1f2a07d;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 6431cb894..fe1c59fa6 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,197 +5,310 @@ * 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.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.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; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl221; +import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl710; 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.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.networkmodel.util.OpenRoadmFactory; -import org.opendaylight.transportpce.networkmodel.util.OpenRoadmTopology121; -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.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; 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.openroadminterface.OpenRoadmOtnInterface221; +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.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.service.ServiceDataStoreOperations; +import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperationsImpl; +import org.opendaylight.transportpce.tapi.impl.TapiProvider; +import org.opendaylight.transportpce.tapi.utils.TapiListener; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.TransportpceNetworkutilsService; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev170418.TransportpceOlmService; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.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_DURATION_TO_SUBMIT_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 OpenRoadmTopology121 openRoadmTopology121; - 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; - + // T-api + private final TapiProvider tapiProvider; // service-handler beans private final ServicehandlerProvider servicehandlerProvider; 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()); + 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); - portMappingVersion121 = new PortMappingVersion121(lightyServices.getControllerBindingPingPongDataBroker(), deviceTransactionManager, openRoadmInterfaces); - portMapping = new PortMappingImpl(lightyServices.getControllerBindingPingPongDataBroker(), portMappingVersion221, mappingUtils, 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(lightyServices.getControllerBindingPingPongDataBroker(), lightyServices.getControllerBindingNotificationPublishService()); - pceProvider = new PceProvider(lightyServices.getControllerRpcProviderRegistry(), pathComputationService); + // 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 + ); + pceProvider = new PceProvider(lightyServices.getRpcProviderService(), pathComputationService); LOG.info("Creating network-model beans ..."); - openRoadmTopology121 = new OpenRoadmTopology121(networkTransaction, deviceTransactionManager); - openRoadmTopology22 = new OpenRoadmTopology22(networkTransaction, deviceTransactionManager); - openRoadmFactory = new OpenRoadmFactory(mappingUtils, openRoadmTopology121, 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); + R2RLinkDiscovery linkDiscoveryImpl = new R2RLinkDiscovery(lightyServices.getBindingDataBroker(), + deviceTransactionManager, networkTransaction); + TransportpceNetworkutilsService networkutilsServiceImpl = new NetworkUtilsImpl( + lightyServices.getBindingDataBroker()); + MappingUtils mappingUtils = new MappingUtilsImpl(lightyServices.getBindingDataBroker()); + OpenRoadmInterfaces openRoadmInterfaces = initOpenRoadmInterfaces(mappingUtils); + PortMapping portMapping = initPortMapping(lightyServices, openRoadmInterfaces); + NetworkModelService networkModelService = new NetworkModelServiceImpl(networkTransaction, linkDiscoveryImpl, + portMapping, lightyServices.getBindingNotificationPublishService()); + FrequenciesService networkModelWavelengthService = + new FrequenciesServiceImpl(lightyServices.getBindingDataBroker()); + NetConfTopologyListener netConfTopologyListener = new NetConfTopologyListener(networkModelService, + lightyServices.getBindingDataBroker(), deviceTransactionManager); + networkModelProvider = new NetworkModelProvider(networkTransaction, lightyServices.getBindingDataBroker(), + lightyServices.getRpcProviderService(), networkutilsServiceImpl, netConfTopologyListener, + lightyServices.getNotificationService(), networkModelWavelengthService); 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); + CrossConnect crossConnect = initCrossConnect(mappingUtils); + PowerMgmt powerMgmt = new PowerMgmtImpl(lightyServices.getBindingDataBroker(), openRoadmInterfaces, + crossConnect, deviceTransactionManager); + OlmPowerService olmPowerService = new OlmPowerServiceImpl(lightyServices.getBindingDataBroker(), powerMgmt, + deviceTransactionManager, portMapping, mappingUtils, openRoadmInterfaces); + olmProvider = new OlmProvider(lightyServices.getRpcProviderService(), olmPowerService); + TransportpceOlmService olmPowerServiceRpc = new OlmPowerServiceRpcImpl(olmPowerService); 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); + OpenRoadmInterfaceFactory openRoadmInterfaceFactory = initOpenRoadmFactory(mappingUtils, openRoadmInterfaces, + portMapping); + DeviceRendererService deviceRendererService = new DeviceRendererServiceImpl( + lightyServices.getBindingDataBroker(), deviceTransactionManager, openRoadmInterfaceFactory, + openRoadmInterfaces, crossConnect, portMapping, networkModelService); + OtnDeviceRendererService otnDeviceRendererService = new OtnDeviceRendererServiceImpl(openRoadmInterfaceFactory, + crossConnect, openRoadmInterfaces, deviceTransactionManager, networkModelService); + rendererProvider = initRenderer(lightyServices, olmPowerServiceRpc, deviceRendererService, + otnDeviceRendererService); 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, lightyServices.getBindingDataBroker(), + lightyServices.getBindingNotificationPublishService()); + ServiceDataStoreOperations serviceDataStoreOperations = new ServiceDataStoreOperationsImpl( + lightyServices.getBindingDataBroker()); + RendererListenerImpl rendererListenerImpl = new RendererListenerImpl(pathComputationService, + lightyServices.getBindingNotificationPublishService()); + PceListenerImpl pceListenerImpl = new PceListenerImpl(rendererServiceOperations, pathComputationService, + lightyServices.getBindingNotificationPublishService(), serviceDataStoreOperations); + NetworkModelListenerImpl networkModelListenerImpl = new NetworkModelListenerImpl( + lightyServices.getBindingNotificationPublishService(), serviceDataStoreOperations); + ServicehandlerImpl servicehandler = new ServicehandlerImpl(lightyServices.getBindingDataBroker(), + pathComputationService, rendererServiceOperations, lightyServices.getBindingNotificationPublishService(), + pceListenerImpl, rendererListenerImpl, networkModelListenerImpl, serviceDataStoreOperations); + servicehandlerProvider = new ServicehandlerProvider(lightyServices.getBindingDataBroker(), + lightyServices.getRpcProviderService(), lightyServices.getNotificationService(), + serviceDataStoreOperations, pceListenerImpl, rendererListenerImpl, networkModelListenerImpl, + servicehandler); + tapiProvider = initTapi(lightyServices, servicehandler); } @Override protected boolean initProcedure() { - LOG.info("Initializing common beans ..."); - LOG.info("Initializing PCE beans ..."); - pathComputationService.init(); + LOG.info("Initializing PCE provider ..."); pceProvider.init(); - LOG.info("Initializing network-model beans ..."); + LOG.info("Initializing network-model provider ..."); networkModelProvider.init(); - LOG.info("Initializing OLM beans ..."); - olmPowerService.init(); + LOG.info("Initializing OLM provider ..."); olmProvider.init(); - LOG.info("Initializing renderer beans ..."); + LOG.info("Initializing renderer provider ..."); rendererProvider.init(); - LOG.info("Initializing service-handler beans ..."); + LOG.info("Initializing service-handler provider ..."); servicehandlerProvider.init(); + LOG.info("Initializing tapi provider ..."); + tapiProvider.init(); LOG.info("Init done."); return true; } @Override protected boolean stopProcedure() { - LOG.info("Shutting down service-handler beans ..."); + 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 ..."); + LOG.info("Shutting down transaction providers ..."); networkTransaction.close(); deviceTransactionManager.preDestroy(); LOG.info("Shutdown done."); return true; } + /** + * Init tapi provider beans. + * + * @param lightyServices LightyServices + * @param rendererServiceOperations RendererServiceOperations + * @return TapiProvider instance + */ + private TapiProvider initTapi(LightyServices lightyServices, OrgOpenroadmServiceService servicehandler) { + return new TapiProvider(lightyServices.getBindingDataBroker(), lightyServices.getRpcProviderService(), + servicehandler, new TapiListener()); + } + + /** + * Init renderer provider beans. + * + * @param lightyServices LightyServices + * @param olmPowerServiceRpc TransportpceOlmService + * @param deviceRendererService DeviceRendererService + * @param otnDeviceRendererService OtnDeviceRendererService + * @return RendererProvider instance + */ + private RendererProvider initRenderer(LightyServices lightyServices, TransportpceOlmService olmPowerServiceRpc, + DeviceRendererService deviceRendererService, OtnDeviceRendererService otnDeviceRendererService) { + DeviceRendererRPCImpl deviceRendererRPC = new DeviceRendererRPCImpl(deviceRendererService, + otnDeviceRendererService); + RendererServiceOperationsImpl rendererServiceOperations = new RendererServiceOperationsImpl( + deviceRendererService, otnDeviceRendererService, olmPowerServiceRpc, + lightyServices.getBindingDataBroker(), lightyServices.getBindingNotificationPublishService()); + return new RendererProvider(lightyServices.getRpcProviderService(), deviceRendererRPC, + rendererServiceOperations); + } + + /** + * Init OpenRoadmInterfaceFactory. + * + * @param mappingUtils MappingUtils + * @param openRoadmInterfaces OpenRoadmInterfaces + * @param portMapping PortMapping + * @return OpenRoadmInterfaceFactory instance + */ + private OpenRoadmInterfaceFactory initOpenRoadmFactory(MappingUtils mappingUtils, + OpenRoadmInterfaces openRoadmInterfaces, PortMapping portMapping) { + OpenRoadmInterface121 openRoadmInterface121 = new OpenRoadmInterface121(portMapping, openRoadmInterfaces); + OpenRoadmInterface221 openRoadmInterface221 = new OpenRoadmInterface221(portMapping, openRoadmInterfaces); + OpenRoadmOtnInterface221 openRoadmOtnInterface221 = new OpenRoadmOtnInterface221(portMapping, + openRoadmInterfaces); + return new OpenRoadmInterfaceFactory(mappingUtils, openRoadmInterface121, openRoadmInterface221, + openRoadmOtnInterface221); + } + + /** + * Init PortMapping. + * + * @param lightyServices LightyServices + * @param openRoadmInterfaces OpenRoadmInterfaces + * @return PortMapping instance + */ + private PortMapping initPortMapping(LightyServices lightyServices, OpenRoadmInterfaces openRoadmInterfaces) { + PortMappingVersion710 portMappingVersion710 = new PortMappingVersion710(lightyServices.getBindingDataBroker(), + deviceTransactionManager, openRoadmInterfaces); + PortMappingVersion221 portMappingVersion221 = new PortMappingVersion221(lightyServices.getBindingDataBroker(), + deviceTransactionManager, openRoadmInterfaces); + PortMappingVersion121 portMappingVersion121 = new PortMappingVersion121(lightyServices.getBindingDataBroker(), + deviceTransactionManager, openRoadmInterfaces); + return new PortMappingImpl(lightyServices.getBindingDataBroker(), portMappingVersion710, + portMappingVersion221, portMappingVersion121); + } + + /** + * Init OpenRoadmInterfaces. + * + * @param mappingUtils MappingUtils + * @return OpenRoadmInterfaces instance + */ + private OpenRoadmInterfaces initOpenRoadmInterfaces(MappingUtils mappingUtils) { + OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121( + deviceTransactionManager); + OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221( + deviceTransactionManager); + OpenRoadmInterfacesImpl710 openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710( + deviceTransactionManager); + return new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils, openRoadmInterfacesImpl121, + openRoadmInterfacesImpl221, openRoadmInterfacesImpl710); + } + + /** + * Init CrossConnect. + * + * @param mappingUtils MappingUtils + * @return CrossConnect instance + */ + private CrossConnect initCrossConnect(MappingUtils mappingUtils) { + CrossConnectImpl121 crossConnectImpl121 = new CrossConnectImpl121(deviceTransactionManager); + CrossConnectImpl221 crossConnectImpl221 = new CrossConnectImpl221(deviceTransactionManager); + return new CrossConnectImpl(deviceTransactionManager, mappingUtils, crossConnectImpl121, crossConnectImpl221); + } }