Remove inventory-blueprint.xml file 56/104956/7
authorGilles Thouenon <gilles.thouenon@orange.com>
Thu, 16 Mar 2023 17:25:47 +0000 (18:25 +0100)
committerGilles Thouenon <gilles.thouenon@orange.com>
Fri, 31 Mar 2023 14:04:20 +0000 (16:04 +0200)
- convert ListenerProvider into a Component
- remove some useless properties
- manage all object instantiation from ListenerProvider

JIRA: TRNSPRTPCE-736
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I7cffbbeaf5e31e909454645fb29ad7791f03e5d6
(cherry picked from commit ea63bb039f35ba876bf8f6ee915ea626ef65e4cd)

inventory/pom.xml
inventory/src/main/java/org/opendaylight/transportpce/inventory/DeviceInventory.java
inventory/src/main/java/org/opendaylight/transportpce/inventory/INode.java
inventory/src/main/java/org/opendaylight/transportpce/inventory/ListenerProvider.java
inventory/src/main/resources/OSGI-INF/blueprint/inventory-blueprint.xml [deleted file]

index e02ce5dedf2b167e1928aee16d695c6446654035..3e8d3b9ae76c289677a568e9364ec186c3477d06 100644 (file)
       <groupId>org.opendaylight.netconf</groupId>
       <artifactId>sal-netconf-connector</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.service.component.annotations</artifactId>
+    </dependency>
   </dependencies>
 
   <build>
index 2b6a2f9e99fd2c14135000d00023a3d5fb8225b4..dee864b3b96925a025899aff90d4386c78a671c3 100644 (file)
@@ -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() {
index c7299c835b230c05d60ca0d7e821627c3b159407..368f4020301ce6061a0f02fa9c94434a4e91dde2 100644 (file)
@@ -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;
     }
index 0e1227d29ab0b10798100c3b2db3c97811272aad..7f6578b1b926313eb70fdac28ab9dcb9b2b5ddb7 100644 (file)
@@ -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 (file)
index d242a7c..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set et smarttab sw=4 tabstop=4: -->
-<!-- Copyright © 2016 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 -->
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-
-    <reference id="dataBroker" interface="org.opendaylight.mdsal.binding.api.DataBroker"/>
-    <reference id="dataSource" interface="javax.sql.DataSource"/>
-    <reference id="deviceTransactionManager"
-               interface="org.opendaylight.transportpce.common.device.DeviceTransactionManager"/>
-
-    <bean id="deviceInventory" class="org.opendaylight.transportpce.inventory.DeviceInventory">
-        <argument ref="dataSource"/>
-        <argument ref="iNodeImpl"/>
-        <argument ref="deviceTransactionManager"/>
-    </bean>
-
-    <bean id="iNode121" class="org.opendaylight.transportpce.inventory.INode121">
-        <argument ref="dataSource"/>
-        <argument ref="deviceTransactionManager"/>
-    </bean>
-
-    <bean id="iNodeImpl" class="org.opendaylight.transportpce.inventory.INode">
-        <argument ref="dataSource"/>
-        <argument ref="deviceTransactionManager"/>
-        <argument ref="iNode121"/>
-
-    </bean>
-
-    <bean id="overlayNetworkChangeListener"
-          class="org.opendaylight.transportpce.inventory.listener.OverlayNetworkChangeListener"/>
-    <bean id="underlayNetworkChangeListener"
-          class="org.opendaylight.transportpce.inventory.listener.UnderlayNetworkChangeListener"/>
-    <bean id="clliNetworkChangeListener"
-          class="org.opendaylight.transportpce.inventory.listener.ClliNetworkChangeListener"/>
-
-    <bean id="deviceListener" class="org.opendaylight.transportpce.inventory.listener.DeviceListener">
-        <argument ref="deviceInventory"/>
-    </bean>
-
-    <bean id="deviceConfigListener" class="org.opendaylight.transportpce.inventory.listener.DeviceConfigListener">
-        <argument ref="deviceInventory"/>
-    </bean>
-
-    <bean id="listenerProvider" class="org.opendaylight.transportpce.inventory.ListenerProvider"
-          init-method="initialize">
-        <argument ref="dataBroker"/>
-        <argument ref="overlayNetworkChangeListener"/>
-        <argument ref="underlayNetworkChangeListener"/>
-        <argument ref="clliNetworkChangeListener"/>
-        <argument ref="deviceListener"/>
-        <argument ref="deviceConfigListener"/>
-    </bean>
-
-</blueprint>