From 015fe34f3b1b909a6e7167c63c1a609832dcab45 Mon Sep 17 00:00:00 2001 From: Gilles Thouenon Date: Tue, 14 Mar 2023 15:55:40 +0100 Subject: [PATCH] Remove pce-blueprint.xml file Since now only PceProvider remains, convert it to OSGi DS. Also, refactor PceProviderTest. JIRA: TRNSPRTPCE-736 Signed-off-by: Gilles Thouenon Change-Id: I445dda1d7aab2ad10fc9c7c1860e1cfa71e2f41f --- .../tpce/module/TransportPCEImpl.java | 2 - .../transportpce/pce/impl/PceProvider.java | 19 ++++--- .../OSGI-INF/blueprint/pce-blueprint.xml | 23 --------- .../pce/impl/PceProviderTest.java | 49 ++++--------------- 4 files changed, 19 insertions(+), 74 deletions(-) delete mode 100755 pce/src/main/resources/OSGI-INF/blueprint/pce-blueprint.xml 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 87008451b..7b9c99c6b 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 @@ -240,8 +240,6 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP @Override protected boolean initProcedure() { - LOG.info("Initializing PCE provider ..."); - pceProvider.init(); LOG.info("Initializing service-handler provider ..."); servicehandlerProvider.init(); if (tapiProvider != null) { 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 f5b1516f7..bab155411 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 @@ -11,6 +11,10 @@ import org.opendaylight.mdsal.binding.api.RpcProviderService; import org.opendaylight.transportpce.pce.service.PathComputationService; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.TransportpcePceService; import org.opendaylight.yangtools.concepts.ObjectRegistration; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Deactivate; +import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -18,23 +22,18 @@ import org.slf4j.LoggerFactory; * Class to register * Pce Service & Notification. */ +@Component public class PceProvider { private static final Logger LOG = LoggerFactory.getLogger(PceProvider.class); private final RpcProviderService rpcService; - private final PathComputationService pathComputationService; private ObjectRegistration rpcRegistration; - public PceProvider(RpcProviderService rpcProviderService, PathComputationService pathComputationService) { + @Activate + public PceProvider(@Reference RpcProviderService rpcProviderService, + @Reference PathComputationService pathComputationService) { this.rpcService = rpcProviderService; - this.pathComputationService = pathComputationService; - } - - /* - * Method called when the blueprint container is created. - */ - public void init() { LOG.info("PceProvider Session Initiated"); final PceServiceRPCImpl consumer = new PceServiceRPCImpl(pathComputationService); rpcRegistration = rpcService.registerRpcImplementation(TransportpcePceService.class, consumer); @@ -43,9 +42,9 @@ public class PceProvider { /* * Method called when the blueprint container is destroyed. */ + @Deactivate public void close() { LOG.info("PceProvider Closed"); rpcRegistration.close(); } - } diff --git a/pce/src/main/resources/OSGI-INF/blueprint/pce-blueprint.xml b/pce/src/main/resources/OSGI-INF/blueprint/pce-blueprint.xml deleted file mode 100755 index 1ba493936..000000000 --- a/pce/src/main/resources/OSGI-INF/blueprint/pce-blueprint.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - 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 ac45ec8dd..0245310d0 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 @@ -9,58 +9,29 @@ package org.opendaylight.transportpce.pce.impl; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; -import org.eclipse.jdt.annotation.NonNull; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; import org.opendaylight.mdsal.binding.api.RpcProviderService; -import org.opendaylight.transportpce.common.network.NetworkTransactionImpl; import org.opendaylight.transportpce.pce.service.PathComputationService; -import org.opendaylight.transportpce.pce.service.PathComputationServiceImpl; -import org.opendaylight.transportpce.pce.utils.NotificationPublishServiceMock; import org.opendaylight.transportpce.test.AbstractTest; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.TransportpcePceService; -import org.opendaylight.yangtools.concepts.ObjectRegistration; +@ExtendWith(MockitoExtension.class) public class PceProviderTest extends AbstractTest { + @Mock private RpcProviderService rpcService; + @Mock private PathComputationService pathComputationService; - private NotificationPublishService notificationPublishService; - private NetworkTransactionImpl networkTransaction; - private ObjectRegistration rpcRegistration; - private PceProvider pceProvider; - - @BeforeEach - void setUp() { - rpcService = mock(RpcProviderService.class); - notificationPublishService = new NotificationPublishServiceMock(); - networkTransaction = new NetworkTransactionImpl(getDataBroker()); - pathComputationService = new PathComputationServiceImpl(networkTransaction, notificationPublishService, - null, null); - pceProvider = new PceProvider(rpcService, pathComputationService); - } @Test void testInit() { - this.rpcRegistration = new ObjectRegistration() { - @NonNull - @Override - public TransportpcePceService getInstance() { - return new PceServiceRPCImpl(pathComputationService); - } - - @Override - public void close() { - - } - }; - when(rpcService.registerRpcImplementation(eq(TransportpcePceService.class), any())).thenReturn(rpcRegistration); - pceProvider.init(); - pceProvider.close(); + new PceProvider(rpcService, pathComputationService); + verify(rpcService, times(1)).registerRpcImplementation(any(), any(TransportpcePceService.class)); } } -- 2.36.6