mirror of
https://github.com/Telecominfraproject/wlan-cloud-opensync-controller.git
synced 2026-03-22 01:39:22 +00:00
TW-208: Moved Callback back to inner class
This commit is contained in:
@@ -1,80 +0,0 @@
|
||||
package com.telecominfraproject.wlan.opensync.ovsdb;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.telecominfraproject.wlan.opensync.ovsdb.dao.OvsdbDao;
|
||||
import com.vmware.ovsdb.callback.MonitorCallback;
|
||||
import com.vmware.ovsdb.protocol.methods.RowUpdate;
|
||||
import com.vmware.ovsdb.protocol.methods.TableUpdates;
|
||||
import com.vmware.ovsdb.protocol.operation.notation.Row;
|
||||
import com.vmware.ovsdb.service.OvsdbClient;
|
||||
|
||||
public class ConnectusMonitorCallback implements MonitorCallback {
|
||||
|
||||
private OvsdbClient ovsdbClient;
|
||||
private String connectedClientId;
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(ConnectusMonitorCallback.class);
|
||||
|
||||
public ConnectusMonitorCallback(OvsdbClient ovsdbClient, String clientId) {
|
||||
this.ovsdbClient = ovsdbClient;
|
||||
this.connectedClientId = clientId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(TableUpdates tableUpdates) {
|
||||
for (String key : tableUpdates.getTableUpdates().keySet()) {
|
||||
|
||||
LOG.debug("Received update to table {} on AP {}", key,
|
||||
connectedClientId);
|
||||
|
||||
if (key.equalsIgnoreCase(OvsdbDao.wifiInetStateDbTable)) {
|
||||
Map<UUID, RowUpdate> rowUpdates = tableUpdates.getTableUpdates().get(OvsdbDao.wifiInetStateDbTable)
|
||||
.getRowUpdates();
|
||||
|
||||
for (UUID rowId : rowUpdates.keySet()) {
|
||||
|
||||
logRow(rowUpdates, rowId);
|
||||
|
||||
}
|
||||
|
||||
} else if (key.equalsIgnoreCase(OvsdbDao.wifiRadioStateDbTable)) {
|
||||
Map<UUID, RowUpdate> rowUpdates = tableUpdates.getTableUpdates().get(OvsdbDao.wifiRadioStateDbTable)
|
||||
.getRowUpdates();
|
||||
|
||||
for (UUID rowId : rowUpdates.keySet()) {
|
||||
|
||||
logRow(rowUpdates, rowId);
|
||||
|
||||
}
|
||||
|
||||
} else if (key.equals(OvsdbDao.wifiVifStateDbTable)) {
|
||||
Map<UUID, RowUpdate> rowUpdates = tableUpdates.getTableUpdates().get(OvsdbDao.wifiVifStateDbTable)
|
||||
.getRowUpdates();
|
||||
|
||||
for (UUID rowId : rowUpdates.keySet()) {
|
||||
|
||||
logRow(rowUpdates, rowId);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void logRow(Map<UUID, RowUpdate> rowUpdates, UUID rowId) {
|
||||
RowUpdate rowUpdate = rowUpdates.get(rowId);
|
||||
Row oldRow = rowUpdate.getOld();
|
||||
oldRow.getColumns().entrySet().stream()
|
||||
.forEach(e -> LOG.trace("Key {} Value {}", e.getKey(), e.getValue().toString()));
|
||||
Row newRow = rowUpdate.getNew();
|
||||
newRow.getColumns().entrySet().stream()
|
||||
.forEach(e -> LOG.trace("Key {} Value {}", e.getKey(), e.getValue().toString()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.telecominfraproject.wlan.opensync.ovsdb;
|
||||
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
|
||||
@@ -20,6 +22,10 @@ import com.telecominfraproject.wlan.opensync.external.integration.models.Opensyn
|
||||
import com.telecominfraproject.wlan.opensync.ovsdb.dao.OvsdbDao;
|
||||
import com.telecominfraproject.wlan.opensync.util.SslUtil;
|
||||
import com.vmware.ovsdb.callback.ConnectionCallback;
|
||||
import com.vmware.ovsdb.callback.MonitorCallback;
|
||||
import com.vmware.ovsdb.protocol.methods.RowUpdate;
|
||||
import com.vmware.ovsdb.protocol.methods.TableUpdates;
|
||||
import com.vmware.ovsdb.protocol.operation.notation.Row;
|
||||
import com.vmware.ovsdb.service.OvsdbClient;
|
||||
import com.vmware.ovsdb.service.OvsdbPassiveConnectionListener;
|
||||
|
||||
@@ -59,6 +65,39 @@ public class ConnectusOvsdbClient implements ConnectusOvsdbClientInterface {
|
||||
|
||||
public void listenForConnections() {
|
||||
|
||||
class ConnectusMonitorCallback implements MonitorCallback {
|
||||
|
||||
private String connectedClientId;
|
||||
|
||||
public ConnectusMonitorCallback(String clientId) {
|
||||
this.connectedClientId = clientId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(TableUpdates tableUpdates) {
|
||||
|
||||
// get session information for this client
|
||||
OvsdbSession ovsdbSession = ovsdbSessionMapInterface.getSession(connectedClientId);
|
||||
if (ovsdbSession == null) {
|
||||
throw new IllegalStateException("AP with id " + connectedClientId + " is not connected");
|
||||
}
|
||||
|
||||
OvsdbClient ovsdbClient = ovsdbSession.getOvsdbClient();
|
||||
OpensyncAPConfig opensyncAPConfig = extIntegrationInterface.getApConfig(connectedClientId);
|
||||
|
||||
// TODO:
|
||||
// wifiVifStateDbTable get MAC ADDRESS via ovsdbClient from
|
||||
// Wifi_Associated_Clients given the associated UUID for the client
|
||||
|
||||
// TODO:
|
||||
// Changes from other Status (Wifi, Inet, etc.) tables?
|
||||
// Updates to session etc.
|
||||
// Needs to be reflected in the Cloud
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ConnectionCallback connectionCallback = new ConnectionCallback() {
|
||||
public void connected(OvsdbClient ovsdbClient) {
|
||||
String remoteHost = ovsdbClient.getConnectionInfo().getRemoteAddress().getHostAddress();
|
||||
@@ -87,15 +126,15 @@ public class ConnectusOvsdbClient implements ConnectusOvsdbClientInterface {
|
||||
ConnectusOvsdbClient.this.ovsdbSessionMapInterface.getNumSessions());
|
||||
|
||||
// monitor radio config state
|
||||
ovsdbDao.monitorRadioConfigState(ovsdbClient, new ConnectusMonitorCallback(ovsdbClient, key));
|
||||
ovsdbDao.monitorRadioConfigState(ovsdbClient, new ConnectusMonitorCallback(key));
|
||||
// monitor inet state
|
||||
ovsdbDao.monitorInetState(ovsdbClient, new ConnectusMonitorCallback(ovsdbClient, key));
|
||||
ovsdbDao.monitorInetState(ovsdbClient, new ConnectusMonitorCallback(key));
|
||||
// monitor vif state
|
||||
ovsdbDao.monitorVIFState(ovsdbClient, new ConnectusMonitorCallback(ovsdbClient, key));
|
||||
ovsdbDao.monitorVIFState(ovsdbClient, new ConnectusMonitorCallback(key));
|
||||
// monitor Route state
|
||||
ovsdbDao.monitorRouteState(ovsdbClient, new ConnectusMonitorCallback(ovsdbClient, key));
|
||||
ovsdbDao.monitorRouteState(ovsdbClient, new ConnectusMonitorCallback(key));
|
||||
// monitor Master State
|
||||
ovsdbDao.monitorMasterState(ovsdbClient, new ConnectusMonitorCallback(ovsdbClient, key));
|
||||
ovsdbDao.monitorMasterState(ovsdbClient, new ConnectusMonitorCallback(key));
|
||||
} catch (Exception e) {
|
||||
LOG.error("ovsdbClient error", e);
|
||||
// something is wrong with the SSL
|
||||
|
||||
Reference in New Issue
Block a user