From 7e217fd089cb3ee1bd3893b27b404b174626c9ac Mon Sep 17 00:00:00 2001 From: Gilles Thouenon Date: Mon, 13 Mar 2023 12:04:22 +0100 Subject: [PATCH] Convert DeviceRendererServiceImpl to a Component JIRA: TRNSPRTPCE-736 Signed-off-by: Gilles Thouenon Change-Id: I29cb77d0e4337b52701a8da8cc9f4e4b0b64011e --- .../tpce/module/TransportPCEImpl.java | 4 ++-- renderer/pom.xml | 4 ++++ .../DeviceRendererServiceImpl.java | 18 +++++++++++++----- .../OSGI-INF/blueprint/renderer-blueprint.xml | 12 +----------- ...iceRendererServiceImplCreateOtsOmsTest.java | 5 ++--- 5 files changed, 22 insertions(+), 21 deletions(-) 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 46399f30f..209ba9638 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 @@ -171,8 +171,8 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP LOG.info("Creating renderer beans ..."); OpenRoadmInterfaceFactory openRoadmInterfaceFactory = initOpenRoadmFactory(mappingUtils, openRoadmInterfaces, portMapping); DeviceRendererService deviceRendererService = new DeviceRendererServiceImpl( - lightyServices.getBindingDataBroker(), deviceTransactionManager, openRoadmInterfaceFactory, - openRoadmInterfaces, crossConnect, portMapping); + lightyServices.getBindingDataBroker(), deviceTransactionManager, openRoadmInterfaces, crossConnect, + mappingUtils, portMapping); OtnDeviceRendererService otnDeviceRendererService = new OtnDeviceRendererServiceImpl(openRoadmInterfaceFactory, crossConnect, openRoadmInterfaces, deviceTransactionManager, networkModelService); rendererProvider = initRenderer(lightyServices, olmPowerServiceRpc, deviceRendererService, diff --git a/renderer/pom.xml b/renderer/pom.xml index f8f9ac2a1..5834944db 100644 --- a/renderer/pom.xml +++ b/renderer/pom.xml @@ -110,6 +110,10 @@ and is available at http://www.eclipse.org/legal/epl-v10.html com.google.guava guava + + org.osgi + org.osgi.service.component.annotations + diff --git a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java index 2f807ed3c..6664caa99 100644 --- a/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java +++ b/renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java @@ -41,6 +41,7 @@ import org.opendaylight.transportpce.common.device.DeviceTransactionManager; import org.opendaylight.transportpce.common.fixedflex.GridConstant; import org.opendaylight.transportpce.common.fixedflex.GridUtils; import org.opendaylight.transportpce.common.fixedflex.SpectrumInformation; +import org.opendaylight.transportpce.common.mapping.MappingUtils; import org.opendaylight.transportpce.common.mapping.PortMapping; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaceException; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces; @@ -78,10 +79,13 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926 import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.node.interfaces.NodeInterfaceKey; import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev220926.optical.renderer.nodes.Nodes; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - +@Component public class DeviceRendererServiceImpl implements DeviceRendererService { private static final String IS_NOT_MOUNTED_ON_THE_CONTROLLER = " is not mounted on the controller"; private static final Logger LOG = LoggerFactory.getLogger(DeviceRendererServiceImpl.class); @@ -93,15 +97,19 @@ public class DeviceRendererServiceImpl implements DeviceRendererService { private final CrossConnect crossConnect; private final PortMapping portMapping; - public DeviceRendererServiceImpl(DataBroker dataBroker, DeviceTransactionManager deviceTransactionManager, - OpenRoadmInterfaceFactory openRoadmInterfaceFactory, OpenRoadmInterfaces openRoadmInterfaces, - CrossConnect crossConnect, PortMapping portMapping) { + @Activate + public DeviceRendererServiceImpl(@Reference DataBroker dataBroker, + @Reference DeviceTransactionManager deviceTransactionManager, + @Reference OpenRoadmInterfaces openRoadmInterfaces, + @Reference CrossConnect crossConnect, + @Reference MappingUtils mappingUtils, + @Reference PortMapping portMapping) { this.dataBroker = dataBroker; this.deviceTransactionManager = deviceTransactionManager; - this.openRoadmInterfaceFactory = openRoadmInterfaceFactory; this.openRoadmInterfaces = openRoadmInterfaces; this.crossConnect = crossConnect; this.portMapping = portMapping; + this.openRoadmInterfaceFactory = new OpenRoadmInterfaceFactory(mappingUtils, portMapping, openRoadmInterfaces); } @SuppressWarnings("rawtypes") diff --git a/renderer/src/main/resources/OSGI-INF/blueprint/renderer-blueprint.xml b/renderer/src/main/resources/OSGI-INF/blueprint/renderer-blueprint.xml index 3cb5ce075..7404257b3 100644 --- a/renderer/src/main/resources/OSGI-INF/blueprint/renderer-blueprint.xml +++ b/renderer/src/main/resources/OSGI-INF/blueprint/renderer-blueprint.xml @@ -20,6 +20,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html + @@ -28,15 +29,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html - - - - - - - - - @@ -66,8 +58,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html -