Remove pce-blueprint.xml file 44/104944/5
authorGilles Thouenon <gilles.thouenon@orange.com>
Tue, 14 Mar 2023 14:55:40 +0000 (15:55 +0100)
committerguillaume.lambert <guillaume.lambert@orange.com>
Sun, 26 Mar 2023 20:57:45 +0000 (22:57 +0200)
Since now only PceProvider remains, convert it to OSGi DS.
Also, refactor PceProviderTest.

JIRA: TRNSPRTPCE-736
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I445dda1d7aab2ad10fc9c7c1860e1cfa71e2f41f

lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java
pce/src/main/java/org/opendaylight/transportpce/pce/impl/PceProvider.java
pce/src/main/resources/OSGI-INF/blueprint/pce-blueprint.xml [deleted file]
pce/src/test/java/org/opendaylight/transportpce/pce/impl/PceProviderTest.java

index 87008451b477bf0682ea50fd334ea8e993efe999..7b9c99c6b2f16b2714f0ee917687a1dfe449fe71 100644 (file)
@@ -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) {
index f5b1516f71708ca83ab192790a6832f6f69946b1..bab1554114ad7fe1e80d1f2f4e90311a3a6464d6 100644 (file)
@@ -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<PceServiceRPCImpl> 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 (executable)
index 1ba4939..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<!--
-Copyright © 2017 Orange and others. All rights reserved.
-
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html
-
-Author: Martial Coulibaly <martial.coulibaly@gfi.com> on behalf of Orange
--->
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-
-  <reference id="rpcService" interface="org.opendaylight.mdsal.binding.api.RpcProviderService"/>
-  <reference id="pceServiceImpl" interface="org.opendaylight.transportpce.pce.service.PathComputationService"/>
-
-  <bean id="provider"
-        class="org.opendaylight.transportpce.pce.impl.PceProvider"
-        init-method="init" destroy-method="close">
-    <argument ref="rpcService" />
-    <argument ref="pceServiceImpl" />
-  </bean>
-</blueprint>
index ac45ec8ddcc39b939c37e960f39b583ff2a66b62..0245310d087b0cdd48c24d830f6cdaa38782af1b 100644 (file)
@@ -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<TransportpcePceService> 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<TransportpcePceService>() {
-            @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));
     }
 }