Step 2: Migrate termination point stuff under the same transact as bridge stuff.
[ovsdb.git] / southbound / southbound-impl / src / main / java / org / opendaylight / ovsdb / southbound / SouthboundProvider.java
index 9d9ea1d58ee9cfb4b2c9e866116778efa47f7dbf..5bc8e568434ffeae7dcdc67adcab13548f7f68f9 100644 (file)
@@ -34,10 +34,11 @@ public class SouthboundProvider implements BindingAwareProvider, AutoCloseable {
     private static final Logger LOG = LoggerFactory.getLogger(SouthboundProvider.class);
     private DataBroker db;
     private OvsdbConnectionManager cm;
-    private OvsdbNodeDataChangeListener ovsdbNodeListener;
-    private OvsdbManagedNodeDataChangeListener ovsdbManagedNodeListener;
-    private OvsdbTerminationPointDataChangeListener ovsdbTerminationPointListener;
+//    private OvsdbNodeDataChangeListener ovsdbNodeListener;
+//    private OvsdbManagedNodeDataChangeListener ovsdbManagedNodeListener;
+//    private OvsdbTerminationPointDataChangeListener ovsdbTerminationPointListener;
     private TransactionInvoker txInvoker;
+    private OvsdbDataChangeListener ovsdbDataChangeListener;
 
 
     @Override
@@ -46,9 +47,10 @@ public class SouthboundProvider implements BindingAwareProvider, AutoCloseable {
         db = session.getSALService(DataBroker.class);
         this.txInvoker = new TransactionInvokerImpl(db);
         cm = new OvsdbConnectionManager(db,txInvoker);
-        ovsdbNodeListener = new OvsdbNodeDataChangeListener(db, cm);
-        ovsdbManagedNodeListener = new OvsdbManagedNodeDataChangeListener(db, cm);
-        ovsdbTerminationPointListener = new OvsdbTerminationPointDataChangeListener(db, cm);
+        ovsdbDataChangeListener = new OvsdbDataChangeListener(db,cm);
+//        ovsdbNodeListener = new OvsdbNodeDataChangeListener(db, cm);
+//        ovsdbManagedNodeListener = new OvsdbManagedNodeDataChangeListener(db, cm);
+//        ovsdbTerminationPointListener = new OvsdbTerminationPointDataChangeListener(db, cm);
         initializeOvsdbTopology(LogicalDatastoreType.OPERATIONAL);
         initializeOvsdbTopology(LogicalDatastoreType.CONFIGURATION);
         OvsdbConnection ovsdbConnection = new OvsdbConnectionService();
@@ -60,9 +62,10 @@ public class SouthboundProvider implements BindingAwareProvider, AutoCloseable {
     public void close() throws Exception {
         LOG.info("SouthboundProvider Closed");
         cm.close();
-        ovsdbNodeListener.close();
-        ovsdbManagedNodeListener.close();
-        ovsdbTerminationPointListener.close();
+        ovsdbDataChangeListener.close();
+//        ovsdbNodeListener.close();
+//        ovsdbManagedNodeListener.close();
+//        ovsdbTerminationPointListener.close();
     }
 
     private void initializeOvsdbTopology(LogicalDatastoreType type) {
@@ -73,7 +76,7 @@ public class SouthboundProvider implements BindingAwareProvider, AutoCloseable {
         initializeTopology(transaction,type);
         CheckedFuture<Optional<Topology>, ReadFailedException> ovsdbTp = transaction.read(type, path);
         try {
-            if(!ovsdbTp.get().isPresent()) {
+            if (!ovsdbTp.get().isPresent()) {
                 TopologyBuilder tpb = new TopologyBuilder();
                 tpb.setTopologyId(SouthboundConstants.OVSDB_TOPOLOGY_ID);
                 transaction.put(type, path, tpb.build());
@@ -86,17 +89,16 @@ public class SouthboundProvider implements BindingAwareProvider, AutoCloseable {
         }
     }
 
-    private void initializeTopology(ReadWriteTransaction t, LogicalDatastoreType type) {
-        InstanceIdentifier<NetworkTopology> path = InstanceIdentifier
-                .create(NetworkTopology.class);
-       CheckedFuture<Optional<NetworkTopology>, ReadFailedException> tp = t.read(type,path);
-       try {
-           if(!tp.get().isPresent()) {
-               NetworkTopologyBuilder ntb = new NetworkTopologyBuilder();
-               t.put(type,path,ntb.build());
-           }
-       } catch (Exception e) {
-           LOG.error("Error initializing ovsdb topology {}",e);
-       }
+    private void initializeTopology(ReadWriteTransaction transaction, LogicalDatastoreType type) {
+        InstanceIdentifier<NetworkTopology> path = InstanceIdentifier.create(NetworkTopology.class);
+        CheckedFuture<Optional<NetworkTopology>, ReadFailedException> topology = transaction.read(type,path);
+        try {
+            if (!topology.get().isPresent()) {
+                NetworkTopologyBuilder ntb = new NetworkTopologyBuilder();
+                transaction.put(type,path,ntb.build());
+            }
+        } catch (Exception e) {
+            LOG.error("Error initializing ovsdb topology {}",e);
+        }
     }
 }