From: Gilles Thouenon Date: Sun, 1 Oct 2023 07:33:58 +0000 (+0200) Subject: Turn PceServiceRPCImpl into a Component X-Git-Tag: 9.0.0~98 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=transportpce.git;a=commitdiff_plain;h=80b5cdcc604a1d13918c30e4a1bb389a4b834fc3 Turn PceServiceRPCImpl into a Component Instead of instanciating this implementation from PceProvider, convert it into a simple component. TRNSPRTPCE-762 Signed-off-by: Gilles Thouenon Change-Id: I46bf06b7ee4d185907558b8c205077f823ff0b8e --- 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 cb137f6eb..739c34014 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 @@ -44,6 +44,7 @@ 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.impl.PceServiceRPCImpl; import org.opendaylight.transportpce.pce.service.PathComputationService; import org.opendaylight.transportpce.pce.service.PathComputationServiceImpl; import org.opendaylight.transportpce.renderer.openroadminterface.OpenRoadmInterfaceFactory; @@ -137,7 +138,7 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP new GnpyConsumerImpl( "http://127.0.0.1:8008", "gnpy", "gnpy", lightyServices.getAdapterContext().currentSerializer()), portMapping); - pceProvider = new PceProvider(lgServRPS, pathComputationService); + pceProvider = new PceProvider(lgServRPS, pathComputationService, new PceServiceRPCImpl(pathComputationService)); LOG.info("Creating OLM beans ..."); MappingUtils mappingUtils = new MappingUtilsImpl(lgServBDB); diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/impl/PceProvider.java b/pce/src/main/java/org/opendaylight/transportpce/pce/impl/PceProvider.java index bab155411..273c68179 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/impl/PceProvider.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/impl/PceProvider.java @@ -28,15 +28,15 @@ public class PceProvider { private static final Logger LOG = LoggerFactory.getLogger(PceProvider.class); private final RpcProviderService rpcService; - private ObjectRegistration rpcRegistration; + private ObjectRegistration rpcRegistration; @Activate public PceProvider(@Reference RpcProviderService rpcProviderService, - @Reference PathComputationService pathComputationService) { + @Reference PathComputationService pathComputationService, + @Reference TransportpcePceService pceServiceRPCImpl) { this.rpcService = rpcProviderService; + rpcRegistration = rpcService.registerRpcImplementation(TransportpcePceService.class, pceServiceRPCImpl); LOG.info("PceProvider Session Initiated"); - final PceServiceRPCImpl consumer = new PceServiceRPCImpl(pathComputationService); - rpcRegistration = rpcService.registerRpcImplementation(TransportpcePceService.class, consumer); } /* diff --git a/pce/src/main/java/org/opendaylight/transportpce/pce/impl/PceServiceRPCImpl.java b/pce/src/main/java/org/opendaylight/transportpce/pce/impl/PceServiceRPCImpl.java index 13fd7684d..b108b169a 100644 --- a/pce/src/main/java/org/opendaylight/transportpce/pce/impl/PceServiceRPCImpl.java +++ b/pce/src/main/java/org/opendaylight/transportpce/pce/impl/PceServiceRPCImpl.java @@ -19,20 +19,26 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev22 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.TransportpcePceService; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; +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; /** * PceService implementation. */ +@Component public class PceServiceRPCImpl implements TransportpcePceService { private static final Logger LOG = LoggerFactory.getLogger(PceServiceRPCImpl.class); private final PathComputationService pathComputationService; - public PceServiceRPCImpl(PathComputationService pathComputationService) { + @Activate + public PceServiceRPCImpl(@Reference PathComputationService pathComputationService) { this.pathComputationService = pathComputationService; + LOG.info("PceServiceRPCImpl instantiated"); } @Override diff --git a/pce/src/test/java/org/opendaylight/transportpce/pce/impl/PceProviderTest.java b/pce/src/test/java/org/opendaylight/transportpce/pce/impl/PceProviderTest.java index 0245310d0..7d393b370 100644 --- a/pce/src/test/java/org/opendaylight/transportpce/pce/impl/PceProviderTest.java +++ b/pce/src/test/java/org/opendaylight/transportpce/pce/impl/PceProviderTest.java @@ -28,10 +28,12 @@ public class PceProviderTest extends AbstractTest { private RpcProviderService rpcService; @Mock private PathComputationService pathComputationService; + @Mock + private TransportpcePceService pceServiceRPCImpl; @Test void testInit() { - new PceProvider(rpcService, pathComputationService); + new PceProvider(rpcService, pathComputationService, pceServiceRPCImpl); verify(rpcService, times(1)).registerRpcImplementation(any(), any(TransportpcePceService.class)); } }