public class SouthboundProvider implements BindingAwareProvider, AutoCloseable {
private static final Logger LOG = LoggerFactory.getLogger(SouthboundProvider.class);
- private DataBroker db;
+
+ public static DataBroker getDb() {
+ return db;
+ }
+
+ //private DataBroker db;
+ private static 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
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();
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) {
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());
}
}
- 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);
+ }
}
}