From 0d01519dc89d8ea8c903567f5449ea6f3b0bdb02 Mon Sep 17 00:00:00 2001 From: Gilles Thouenon Date: Thu, 16 Mar 2023 18:25:47 +0100 Subject: [PATCH] Remove inventory-blueprint.xml file - convert ListenerProvider into a Component - remove some useless properties - manage all object instantiation from ListenerProvider JIRA: TRNSPRTPCE-736 Signed-off-by: Gilles Thouenon Change-Id: I7cffbbeaf5e31e909454645fb29ad7791f03e5d6 (cherry picked from commit ea63bb039f35ba876bf8f6ee915ea626ef65e4cd) --- inventory/pom.xml | 4 ++ .../inventory/DeviceInventory.java | 6 +- .../transportpce/inventory/INode.java | 6 +- .../inventory/ListenerProvider.java | 47 +++++++--------- .../blueprint/inventory-blueprint.xml | 56 ------------------- 5 files changed, 26 insertions(+), 93 deletions(-) delete mode 100644 inventory/src/main/resources/OSGI-INF/blueprint/inventory-blueprint.xml diff --git a/inventory/pom.xml b/inventory/pom.xml index e02ce5ded..3e8d3b9ae 100644 --- a/inventory/pom.xml +++ b/inventory/pom.xml @@ -100,6 +100,10 @@ org.opendaylight.netconf sal-netconf-connector + + org.osgi + org.osgi.service.component.annotations + diff --git a/inventory/src/main/java/org/opendaylight/transportpce/inventory/DeviceInventory.java b/inventory/src/main/java/org/opendaylight/transportpce/inventory/DeviceInventory.java index 2b6a2f9e9..dee864b3b 100644 --- a/inventory/src/main/java/org/opendaylight/transportpce/inventory/DeviceInventory.java +++ b/inventory/src/main/java/org/opendaylight/transportpce/inventory/DeviceInventory.java @@ -15,7 +15,6 @@ import java.util.Date; import java.util.concurrent.ExecutionException; import java.util.regex.Pattern; import javax.sql.DataSource; -import org.opendaylight.transportpce.common.device.DeviceTransactionManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,13 +29,10 @@ public class DeviceInventory { private final DataSource dataSource; private final INode inode; - private final DeviceTransactionManager deviceTransactionManager; - public DeviceInventory(DataSource dataSource, INode inode, - DeviceTransactionManager deviceTransactionManager) { + public DeviceInventory(DataSource dataSource, INode inode) { this.dataSource = dataSource; this.inode = inode; - this.deviceTransactionManager = deviceTransactionManager; } public void init() { diff --git a/inventory/src/main/java/org/opendaylight/transportpce/inventory/INode.java b/inventory/src/main/java/org/opendaylight/transportpce/inventory/INode.java index c7299c835..368f40203 100644 --- a/inventory/src/main/java/org/opendaylight/transportpce/inventory/INode.java +++ b/inventory/src/main/java/org/opendaylight/transportpce/inventory/INode.java @@ -13,7 +13,6 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.sql.DataSource; -import org.opendaylight.transportpce.common.device.DeviceTransactionManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -24,16 +23,13 @@ public class INode { private static final Logger LOG = LoggerFactory.getLogger(INode.class); private final DataSource dataSource; - private final DeviceTransactionManager deviceTransactionManager; //private final INode221 inode221; private final INode121 inode121; - public INode(DataSource dataSource, DeviceTransactionManager deviceTransactionManager, - INode121 inode121 + public INode(DataSource dataSource, INode121 inode121 //, INode221 inode221 ) { this.dataSource = dataSource; - this.deviceTransactionManager = deviceTransactionManager; this.inode121 = inode121; //this.inode221 = inode221; } diff --git a/inventory/src/main/java/org/opendaylight/transportpce/inventory/ListenerProvider.java b/inventory/src/main/java/org/opendaylight/transportpce/inventory/ListenerProvider.java index 0e1227d29..7f6578b1b 100644 --- a/inventory/src/main/java/org/opendaylight/transportpce/inventory/ListenerProvider.java +++ b/inventory/src/main/java/org/opendaylight/transportpce/inventory/ListenerProvider.java @@ -7,77 +7,70 @@ */ package org.opendaylight.transportpce.inventory; +import javax.sql.DataSource; 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.common.api.LogicalDatastoreType; import org.opendaylight.transportpce.common.InstanceIdentifiers; +import org.opendaylight.transportpce.common.device.DeviceTransactionManager; import org.opendaylight.transportpce.inventory.listener.ClliNetworkChangeListener; import org.opendaylight.transportpce.inventory.listener.DeviceConfigListener; import org.opendaylight.transportpce.inventory.listener.DeviceListener; import org.opendaylight.transportpce.inventory.listener.OverlayNetworkChangeListener; import org.opendaylight.transportpce.inventory.listener.UnderlayNetworkChangeListener; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; +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; /** * {@link ListenerProvider} registers {@link DataTreeChangeListener} for each network layer. */ +@Component public class ListenerProvider { private static final Logger LOG = LoggerFactory.getLogger(ListenerProvider.class); - private final DataBroker dataBroker; - private final OverlayNetworkChangeListener overlayNetworkListener; - private final UnderlayNetworkChangeListener underlayNetworkListener; - private final ClliNetworkChangeListener clliNetworkChangeListener; - private final DeviceListener deviceListener; - private final DeviceConfigListener deviceConfigListener; - /** * Constructor invoked by blueprint injects all dependencies. * * @param dataBroker dataBroker - * @param overlayNetworkListener overlay-network Listener - * @param underlayNetworkListener underlay-network Listener - * @param clliNetworkChangeListener clli Network change Listener - * @param deviceListener device listener - * @param deviceConfigListener device config listener + * @param dataSource dataSource + * @param deviceTransactionManager deviceTransactionManager */ - public ListenerProvider(DataBroker dataBroker, OverlayNetworkChangeListener overlayNetworkListener, - UnderlayNetworkChangeListener underlayNetworkListener, ClliNetworkChangeListener clliNetworkChangeListener, - DeviceListener deviceListener, DeviceConfigListener deviceConfigListener) { - - this.dataBroker = dataBroker; - this.overlayNetworkListener = overlayNetworkListener; - this.underlayNetworkListener = underlayNetworkListener; - this.clliNetworkChangeListener = clliNetworkChangeListener; - this.deviceListener = deviceListener; - this.deviceConfigListener = deviceConfigListener; - } + @Activate + public ListenerProvider(@Reference DataBroker dataBroker, + @Reference DataSource dataSource, + @Reference DeviceTransactionManager deviceTransactionManager) { - /** - * Invoked by blueprint, registers the listeners. - */ - public void initialize() { LOG.debug("Registering listeners..."); + OverlayNetworkChangeListener overlayNetworkListener = new OverlayNetworkChangeListener(); dataBroker.registerDataTreeChangeListener( DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, InstanceIdentifiers.OVERLAY_NETWORK_II), overlayNetworkListener); LOG.info("Overlay network change listener was successfully registered"); + UnderlayNetworkChangeListener underlayNetworkListener = new UnderlayNetworkChangeListener(); dataBroker.registerDataTreeChangeListener( DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, InstanceIdentifiers.UNDERLAY_NETWORK_II), underlayNetworkListener); LOG.info("Underlay network change listener was successfully registered"); + ClliNetworkChangeListener clliNetworkChangeListener = new ClliNetworkChangeListener(); dataBroker.registerDataTreeChangeListener( DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, InstanceIdentifiers.CLLI_NETWORK_II), clliNetworkChangeListener); LOG.info("CLLI network change listener was successfully registered"); + INode121 inode121 = new INode121(dataSource, deviceTransactionManager); + INode inode = new INode(dataSource, inode121); + DeviceInventory deviceInventory = new DeviceInventory(dataSource, inode); + DeviceListener deviceListener = new DeviceListener(deviceInventory); dataBroker.registerDataTreeChangeListener( DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, InstanceIdentifiers.NETCONF_TOPOLOGY_II.child(Node.class)), deviceListener); LOG.info("Device change listener was successfully registered"); + DeviceConfigListener deviceConfigListener = new DeviceConfigListener(deviceInventory); dataBroker.registerDataTreeChangeListener( DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, InstanceIdentifiers.NETCONF_TOPOLOGY_II.child(Node.class)), deviceConfigListener); diff --git a/inventory/src/main/resources/OSGI-INF/blueprint/inventory-blueprint.xml b/inventory/src/main/resources/OSGI-INF/blueprint/inventory-blueprint.xml deleted file mode 100644 index d242a7c1b..000000000 --- a/inventory/src/main/resources/OSGI-INF/blueprint/inventory-blueprint.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- 2.36.6