From: Matej Sramcik Date: Mon, 2 Oct 2023 11:36:11 +0000 (+0200) Subject: Don't use NotificationListener (Servicehandler) X-Git-Tag: 9.0.0~85^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=transportpce.git;a=commitdiff_plain;h=9b290e99c92d1d16049353cb2e000edae1220b1b Don't use NotificationListener (Servicehandler) Don't use NotificationListener in classes used by ServicehandlerProvider. This is a part of NotificationListener to Listener migration. JIRA: TRNSPRTPCE-756 Change-Id: I90eba1664c2954e7e3954b7eabb47aa4d6c1843b Signed-off-by: Matej Sramcik --- 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 e629a152c..d6506204a 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 @@ -58,11 +58,11 @@ import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOpe import org.opendaylight.transportpce.renderer.rpcs.DeviceRendererRPCImpl; import org.opendaylight.transportpce.renderer.rpcs.TransportPCEServicePathRPCImpl; import org.opendaylight.transportpce.servicehandler.catalog.CatalogDataStoreOperationsImpl; +import org.opendaylight.transportpce.servicehandler.impl.ServiceHandlerProvider; 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.listeners.NetworkModelNotificationHandler; +import org.opendaylight.transportpce.servicehandler.listeners.PceNotificationHandler; +import org.opendaylight.transportpce.servicehandler.listeners.RendererNotificationHandler; import org.opendaylight.transportpce.servicehandler.listeners.ServiceListener; import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations; import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperationsImpl; @@ -91,7 +91,7 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP // network model beans private final NetworkModelProvider networkModelProvider; // service-handler beans - private final ServicehandlerProvider servicehandlerProvider; + private final ServiceHandlerProvider servicehandlerProvider; // T-api private TapiProvider tapiProvider; // nbi-notifications beans @@ -169,24 +169,23 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP portMapping); ServiceDataStoreOperations serviceDataStoreOperations = new ServiceDataStoreOperationsImpl(lgServBDB); - RendererListenerImpl rendererListenerImpl = - new RendererListenerImpl(pathComputationService, lgServBNPS, networkModelService); - PceListenerImpl pceListenerImpl = new PceListenerImpl( + RendererNotificationHandler rendererNotificationHandler = + new RendererNotificationHandler(pathComputationService, lgServBNPS, networkModelService); + PceNotificationHandler pceListenerImpl = new PceNotificationHandler( rendererServiceOperations, pathComputationService, lgServBNPS, serviceDataStoreOperations); - NetworkModelListenerImpl networkModelListenerImpl = new NetworkModelListenerImpl( + NetworkModelNotificationHandler networkModelNotificationHandler = new NetworkModelNotificationHandler( lgServBNPS, serviceDataStoreOperations); ServicehandlerImpl servicehandler = new ServicehandlerImpl(lgServRPS, pathComputationService, rendererServiceOperations, lgServBNPS, pceListenerImpl, - rendererListenerImpl, networkModelListenerImpl, serviceDataStoreOperations, + rendererNotificationHandler, networkModelNotificationHandler, serviceDataStoreOperations, new CatalogDataStoreOperationsImpl(networkTransaction)); rpcRegistrations.add(servicehandler.getRegisteredRpc()); - servicehandlerProvider = new ServicehandlerProvider( + servicehandlerProvider = new ServiceHandlerProvider( lgServBDB, lgServNS, serviceDataStoreOperations, pceListenerImpl, - rendererListenerImpl, networkModelListenerImpl, lgServBNPS, - servicehandler, + rendererNotificationHandler, networkModelNotificationHandler, new ServiceListener( servicehandler, serviceDataStoreOperations, lgServBNPS)); if (activateTapi) { diff --git a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/impl/ServicehandlerProvider.java b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/impl/ServiceHandlerProvider.java similarity index 64% rename from servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/impl/ServicehandlerProvider.java rename to servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/impl/ServiceHandlerProvider.java index c30e7aba1..223f62960 100644 --- a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/impl/ServicehandlerProvider.java +++ b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/impl/ServiceHandlerProvider.java @@ -11,17 +11,16 @@ package org.opendaylight.transportpce.servicehandler.impl; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.DataTreeChangeListener; import org.opendaylight.mdsal.binding.api.DataTreeIdentifier; -import org.opendaylight.mdsal.binding.api.NotificationPublishService; import org.opendaylight.mdsal.binding.api.NotificationService; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.transportpce.servicehandler.listeners.NetworkModelNotificationHandler; +import org.opendaylight.transportpce.servicehandler.listeners.PceNotificationHandler; +import org.opendaylight.transportpce.servicehandler.listeners.RendererNotificationHandler; import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkmodel.rev201116.TransportpceNetworkmodelListener; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.TransportpcePceListener; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.TransportpceRendererListener; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.OrgOpenroadmServiceService; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceList; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.service.list.Services; import org.opendaylight.yangtools.concepts.ListenerRegistration; +import org.opendaylight.yangtools.concepts.Registration; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; @@ -37,33 +36,34 @@ import org.slf4j.LoggerFactory; * */ @Component -public class ServicehandlerProvider { +public class ServiceHandlerProvider { - private static final Logger LOG = LoggerFactory.getLogger(ServicehandlerProvider.class); + private static final Logger LOG = LoggerFactory.getLogger(ServiceHandlerProvider.class); private static final InstanceIdentifier SERVICE = InstanceIdentifier.builder(ServiceList.class) .child(Services.class).build(); - private ListenerRegistration pcelistenerRegistration; + private final Registration pcelistenerRegistration; private ListenerRegistration> serviceDataTreeChangeListenerRegistration; - private ListenerRegistration rendererlistenerRegistration; - private ListenerRegistration networkmodellistenerRegistration; + private final Registration rendererlistenerRegistration; + private final Registration networkmodellistenerRegistration; private ServiceDataStoreOperations serviceDataStoreOperations; @Activate - public ServicehandlerProvider(@Reference final DataBroker dataBroker, + public ServiceHandlerProvider(@Reference final DataBroker dataBroker, @Reference NotificationService notificationService, @Reference ServiceDataStoreOperations serviceDataStoreOperations, - @Reference TransportpcePceListener pceListenerImpl, - @Reference TransportpceRendererListener rendererListenerImpl, - @Reference TransportpceNetworkmodelListener networkModelListenerImpl, - @Reference NotificationPublishService notificationPublishService, - @Reference OrgOpenroadmServiceService servicehandler, + @Reference PceNotificationHandler pceNotificationHandler, + @Reference RendererNotificationHandler rendererNotificationHandler, + @Reference NetworkModelNotificationHandler networkModelNotificationHandler, @Reference DataTreeChangeListener serviceListener) { this.serviceDataStoreOperations = serviceDataStoreOperations; this.serviceDataStoreOperations.initialize(); - pcelistenerRegistration = notificationService.registerNotificationListener(pceListenerImpl); - rendererlistenerRegistration = notificationService.registerNotificationListener(rendererListenerImpl); - networkmodellistenerRegistration = notificationService.registerNotificationListener(networkModelListenerImpl); + pcelistenerRegistration = notificationService + .registerCompositeListener(pceNotificationHandler.getCompositeListener()); + rendererlistenerRegistration = notificationService + .registerCompositeListener(rendererNotificationHandler.getCompositeListener()); + networkmodellistenerRegistration = notificationService + .registerCompositeListener(networkModelNotificationHandler.getCompositeListener()); serviceDataTreeChangeListenerRegistration = dataBroker.registerDataTreeChangeListener( DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, SERVICE), serviceListener); LOG.info("ServicehandlerProvider Session Initiated"); @@ -81,4 +81,4 @@ public class ServicehandlerProvider { rendererlistenerRegistration.close(); networkmodellistenerRegistration.close(); } -} \ No newline at end of file +} diff --git a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/NetworkModelListenerImpl.java b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/NetworkModelNotificationHandler.java similarity index 95% rename from servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/NetworkModelListenerImpl.java rename to servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/NetworkModelNotificationHandler.java index 1aace331b..e18561b23 100644 --- a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/NetworkModelListenerImpl.java +++ b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/NetworkModelNotificationHandler.java @@ -12,14 +12,15 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.Set; import java.util.stream.Collectors; import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.opendaylight.mdsal.binding.api.NotificationService.CompositeListener; import org.opendaylight.transportpce.common.OperationResult; import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkmodel.rev201116.TopologyUpdateResult; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkmodel.rev201116.TopologyUpdateResultBuilder; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkmodel.rev201116.TransportpceNetworkmodelListener; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkmodel.rev201116.topology.update.result.TopologyChanges; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkmodel.rev201116.topology.update.result.TopologyChangesKey; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State; @@ -48,21 +49,25 @@ import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Component -public class NetworkModelListenerImpl implements TransportpceNetworkmodelListener, NetworkListener { +@Component(service = {NetworkModelNotificationHandler.class, NetworkListener.class}) +public class NetworkModelNotificationHandler implements NetworkListener { - private static final Logger LOG = LoggerFactory.getLogger(NetworkModelListenerImpl.class); + private static final Logger LOG = LoggerFactory.getLogger(NetworkModelNotificationHandler.class); private ServiceDataStoreOperations serviceDataStoreOperations; private TopologyUpdateResult topologyUpdateResult; @Activate - public NetworkModelListenerImpl(@Reference NotificationPublishService notificationPublishService, + public NetworkModelNotificationHandler(@Reference NotificationPublishService notificationPublishService, @Reference ServiceDataStoreOperations serviceDataStoreOperations) { this.serviceDataStoreOperations = serviceDataStoreOperations; } - @Override - public void onTopologyUpdateResult(TopologyUpdateResult notification) { + public CompositeListener getCompositeListener() { + return new CompositeListener(Set.of( + new CompositeListener.Component<>(TopologyUpdateResult.class, this::onTopologyUpdateResult))); + } + + void onTopologyUpdateResult(TopologyUpdateResult notification) { LOG.debug("Topology update notification: {}", notification); if (compareTopologyUpdateResult(notification)) { LOG.warn("TopologyUpdateResult already wired !"); diff --git a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/PceListenerImpl.java b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/PceNotificationHandler.java similarity index 96% rename from servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/PceListenerImpl.java rename to servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/PceNotificationHandler.java index 8aeaa66fd..dccdb4f89 100644 --- a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/PceListenerImpl.java +++ b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/PceNotificationHandler.java @@ -8,7 +8,9 @@ package org.opendaylight.transportpce.servicehandler.listeners; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import java.util.Set; import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.opendaylight.mdsal.binding.api.NotificationService.CompositeListener; import org.opendaylight.transportpce.common.OperationResult; import org.opendaylight.transportpce.pce.service.PathComputationService; import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations; @@ -18,7 +20,6 @@ import org.opendaylight.transportpce.servicehandler.service.PCEServiceWrapper; import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.PathComputationRequestOutputBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.ServicePathRpcResult; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.TransportpcePceListener; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.service.path.rpc.result.PathDescription; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.service.path.rpc.result.PathDescriptionBuilder; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.ServiceImplementationRequestInput; @@ -36,10 +37,10 @@ import org.osgi.service.component.annotations.Reference; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Component -public class PceListenerImpl implements TransportpcePceListener, PceListener { +@Component(service = {PceNotificationHandler.class, PceListener.class}) +public class PceNotificationHandler implements PceListener { - private static final Logger LOG = LoggerFactory.getLogger(PceListenerImpl.class); + private static final Logger LOG = LoggerFactory.getLogger(PceNotificationHandler.class); private static final String PUBLISHER = "PceListener"; private ServicePathRpcResult servicePathRpcResult; @@ -53,7 +54,7 @@ public class PceListenerImpl implements TransportpcePceListener, PceListener { private NotificationPublishService notificationPublishService; @Activate - public PceListenerImpl( + public PceNotificationHandler( @Reference RendererServiceOperations rendererServiceOperations, @Reference PathComputationService pathComputationService, @Reference NotificationPublishService notificationPublishService, @@ -68,8 +69,12 @@ public class PceListenerImpl implements TransportpcePceListener, PceListener { this.notificationPublishService = notificationPublishService; } - @Override - public void onServicePathRpcResult(ServicePathRpcResult notification) { + public CompositeListener getCompositeListener() { + return new CompositeListener(Set.of( + new CompositeListener.Component<>(ServicePathRpcResult.class, this::onServicePathRpcResult))); + } + + private void onServicePathRpcResult(ServicePathRpcResult notification) { if (compareServicePathRpcResult(notification)) { LOG.warn("ServicePathRpcResult already wired !"); return; diff --git a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/RendererListenerImpl.java b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/RendererNotificationHandler.java similarity index 97% rename from servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/RendererListenerImpl.java rename to servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/RendererNotificationHandler.java index 1de11948f..4bf6d11dd 100644 --- a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/RendererListenerImpl.java +++ b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/listeners/RendererNotificationHandler.java @@ -11,7 +11,9 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Set; import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.opendaylight.mdsal.binding.api.NotificationService.CompositeListener; import org.opendaylight.transportpce.common.OperationResult; import org.opendaylight.transportpce.common.StringConstants; import org.opendaylight.transportpce.networkmodel.service.NetworkModelService; @@ -21,7 +23,6 @@ import org.opendaylight.transportpce.servicehandler.service.PCEServiceWrapper; import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev220630.OtnLinkType; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.RendererRpcResultSp; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.TransportpceRendererListener; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.renderer.rpc.result.sp.Link; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.ServiceRpcResultSh; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.ServiceRpcResultShBuilder; @@ -50,11 +51,11 @@ import org.slf4j.LoggerFactory; * @author Martial Coulibaly ( martial.coulibaly@gfi.com ) on behalf of Orange * */ -@Component -public class RendererListenerImpl implements TransportpceRendererListener, RendererListener { +@Component(service = {RendererNotificationHandler.class, RendererListener.class}) +public class RendererNotificationHandler implements RendererListener { private static final String PUBLISHER = "RendererListener"; - private static final Logger LOG = LoggerFactory.getLogger(RendererListenerImpl.class); + private static final Logger LOG = LoggerFactory.getLogger(RendererNotificationHandler.class); private RendererRpcResultSp serviceRpcResultSp; private ServiceDataStoreOperations serviceDataStoreOperations; private ServiceInput input; @@ -63,9 +64,8 @@ public class RendererListenerImpl implements TransportpceRendererListener, Rende private NotificationPublishService notificationPublishService; private final NetworkModelService networkModelService; - @Activate - public RendererListenerImpl(@Reference PathComputationService pathComputationService, + public RendererNotificationHandler(@Reference PathComputationService pathComputationService, @Reference NotificationPublishService notificationPublishService, @Reference NetworkModelService networkModelService) { this.pceServiceWrapper = new PCEServiceWrapper(pathComputationService, notificationPublishService); @@ -75,8 +75,12 @@ public class RendererListenerImpl implements TransportpceRendererListener, Rende this.networkModelService = networkModelService; } - @Override - public void onRendererRpcResultSp(RendererRpcResultSp notification) { + public CompositeListener getCompositeListener() { + return new CompositeListener(Set.of( + new CompositeListener.Component<>(RendererRpcResultSp.class, this::onRendererRpcResultSp))); + } + + private void onRendererRpcResultSp(RendererRpcResultSp notification) { if (compareServiceRpcResultSp(notification)) { LOG.warn("ServiceRpcResultSp already wired !"); return; diff --git a/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/impl/ServicehandlerProviderTest.java b/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/impl/ServiceHandlerProviderTest.java similarity index 50% rename from servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/impl/ServicehandlerProviderTest.java rename to servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/impl/ServiceHandlerProviderTest.java index 99e6c399e..298e18c1c 100644 --- a/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/impl/ServicehandlerProviderTest.java +++ b/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/impl/ServiceHandlerProviderTest.java @@ -18,40 +18,46 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.DataTreeChangeListener; import org.opendaylight.mdsal.binding.api.NotificationPublishService; +import org.opendaylight.transportpce.networkmodel.service.NetworkModelService; +import org.opendaylight.transportpce.pce.service.PathComputationService; +import org.opendaylight.transportpce.renderer.provisiondevice.RendererServiceOperations; +import org.opendaylight.transportpce.servicehandler.listeners.NetworkModelNotificationHandler; +import org.opendaylight.transportpce.servicehandler.listeners.PceNotificationHandler; +import org.opendaylight.transportpce.servicehandler.listeners.RendererNotificationHandler; import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations; import org.opendaylight.transportpce.test.AbstractTest; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkmodel.rev201116.TransportpceNetworkmodelListener; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220808.TransportpcePceListener; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.TransportpceRendererListener; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.OrgOpenroadmServiceService; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.service.list.Services; @ExtendWith(MockitoExtension.class) -public class ServicehandlerProviderTest extends AbstractTest { +public class ServiceHandlerProviderTest extends AbstractTest { @Mock - DataBroker dataBroker; + RendererServiceOperations rendererServiceOperations; @Mock - ServiceDataStoreOperations serviceDataStoreOperations; + PathComputationService pathComputationService; @Mock - TransportpcePceListener pceListenerImpl; + NetworkModelService networkModelService; @Mock - TransportpceRendererListener rendererListenerImpl; + DataBroker dataBroker; @Mock - TransportpceNetworkmodelListener networkModelListenerImpl; + ServiceDataStoreOperations serviceDataStoreOperations; @Mock NotificationPublishService notificationPublishService; @Mock - OrgOpenroadmServiceService servicehandler; - @Mock DataTreeChangeListener serviceListener; + private final PceNotificationHandler pceNotificationHandler = new PceNotificationHandler(rendererServiceOperations, + pathComputationService, notificationPublishService, serviceDataStoreOperations); + private final RendererNotificationHandler rendererNotificationHandler = new RendererNotificationHandler( + pathComputationService, notificationPublishService, networkModelService); + private final NetworkModelNotificationHandler networkModelNotificationHandler = new NetworkModelNotificationHandler( + notificationPublishService, serviceDataStoreOperations); + @Test void testInitRegisterServiceHandlerToRpcRegistry() { - new ServicehandlerProvider(dataBroker, getNotificationService() , - serviceDataStoreOperations, pceListenerImpl, rendererListenerImpl, networkModelListenerImpl, - notificationPublishService, servicehandler, serviceListener); - + new ServiceHandlerProvider(dataBroker, getNotificationService(), + serviceDataStoreOperations, pceNotificationHandler, rendererNotificationHandler, + networkModelNotificationHandler, serviceListener); verify(dataBroker, times(1)).registerDataTreeChangeListener(any(), any()); } -} \ No newline at end of file +} diff --git a/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/listeners/NetworkModelListenerImplTest.java b/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/listeners/NetworkModelNotificationHandlerTest.java similarity index 98% rename from servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/listeners/NetworkModelListenerImplTest.java rename to servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/listeners/NetworkModelNotificationHandlerTest.java index 93d1f95d4..778095208 100644 --- a/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/listeners/NetworkModelListenerImplTest.java +++ b/servicehandler/src/test/java/org/opendaylight/transportpce/servicehandler/listeners/NetworkModelNotificationHandlerTest.java @@ -60,14 +60,14 @@ import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsKey; @ExtendWith(MockitoExtension.class) -public class NetworkModelListenerImplTest { +public class NetworkModelNotificationHandlerTest { @Mock private NotificationPublishService notificationPublishService; @Mock private ServiceDataStoreOperations serviceDataStoreOperations; private static PathDescription pathDescription; - private NetworkModelListenerImpl networkModelListener; + private NetworkModelNotificationHandler networkModelListener; @BeforeEach void setUp() { @@ -75,7 +75,7 @@ public class NetworkModelListenerImplTest { .setAToZDirection(new AToZDirectionBuilder().setAToZ(new HashMap<>(createMapAtoZ())).build()) .setZToADirection(new ZToADirectionBuilder().setZToA(new HashMap<>(createMapZtoA())).build()) .build(); - networkModelListener = new NetworkModelListenerImpl(notificationPublishService, + networkModelListener = new NetworkModelNotificationHandler(notificationPublishService, serviceDataStoreOperations); } @@ -294,7 +294,8 @@ public class NetworkModelListenerImplTest { @Test void testOnTopologyUpdateResultWhenNeverWired() { - NetworkModelListenerImpl networkModelListenerMocked = Mockito.mock(NetworkModelListenerImpl.class); + NetworkModelNotificationHandler networkModelListenerMocked = Mockito.mock( + NetworkModelNotificationHandler.class); doCallRealMethod().when(networkModelListenerMocked).onTopologyUpdateResult(any(TopologyUpdateResult.class)); Map topologyChanges1 = Map.of( @@ -321,7 +322,8 @@ public class NetworkModelListenerImplTest { @Test void testOnTopologyUpdateResultWhenAlreadyWired() { - NetworkModelListenerImpl networkModelListenerMocked = Mockito.mock(NetworkModelListenerImpl.class); + NetworkModelNotificationHandler networkModelListenerMocked = Mockito.mock( + NetworkModelNotificationHandler.class); doCallRealMethod().when(networkModelListenerMocked).onTopologyUpdateResult(any(TopologyUpdateResult.class)); Map topologyChanges = Map.of(