/** * Gets the ovsdb row store. * * @param dbName the ovsdb database name * @param tableName the ovsdb table name * @return ovsRowStore, empty if row store is find */ private OvsdbRowStore getRowStore(String dbName, String tableName) { OvsdbTableStore tableStore = getTableStore(dbName); if (tableStore == null) { return null; } return tableStore.getRows(tableName); }
@Override public void removeRow(String dbName, String tableName, String uuid) { OvsdbTableStore tableStore = getTableStore(dbName); if (tableStore == null) { return; } OvsdbRowStore rowStore = tableStore.getRows(tableName); if (rowStore == null) { return; } rowStore.deleteRow(uuid); }
/** * Gets the ovsdb row. * * @param dbName the ovsdb database name * @param tableName the ovsdb table name * @param uuid the key of the row * @return row, empty if row is find */ @Override public Row getRow(String dbName, String tableName, String uuid) { OvsdbTableStore tableStore = getTableStore(dbName); if (tableStore == null) { return null; } OvsdbRowStore rowStore = tableStore.getRows(tableName); if (rowStore == null) { return null; } return rowStore.getRow(uuid); }
@Override public void updateOvsdbStore(String dbName, String tableName, String uuid, Row row) { OvsdbTableStore tableStore = ovsdbStore.getOvsdbTableStore(dbName); if (tableStore == null) { tableStore = new OvsdbTableStore(); } OvsdbRowStore rowStore = tableStore.getRows(tableName); if (rowStore == null) { rowStore = new OvsdbRowStore(); } rowStore.insertRow(uuid, row); tableStore.createOrUpdateTable(tableName, rowStore); ovsdbStore.createOrUpdateOvsdbStore(dbName, tableStore); }
@Override public Set<OvsdbPort> getPorts() { Set<OvsdbPort> ovsdbPorts = new HashSet<OvsdbPort>(); OvsdbTableStore tableStore = getTableStore(OvsdbConstant.DATABASENAME); if (tableStore == null) { return null; } OvsdbRowStore rowStore = tableStore.getRows(OvsdbConstant.INTERFACE); if (rowStore == null) { return null; } ConcurrentMap<String, Row> rows = rowStore.getRowStore(); for (String uuid : rows.keySet()) { Row row = getRow(OvsdbConstant.DATABASENAME, OvsdbConstant.INTERFACE, uuid); OvsdbPort ovsdbPort = getOvsdbPort(row); if (ovsdbPort != null) { ovsdbPorts.add(ovsdbPort); } } return ovsdbPorts; }
@Override public Set<OvsdbBridge> getBridges() { Set<OvsdbBridge> ovsdbBridges = new HashSet<OvsdbBridge>(); OvsdbTableStore tableStore = getTableStore(OvsdbConstant.DATABASENAME); if (tableStore == null) { return null; } OvsdbRowStore rowStore = tableStore.getRows(OvsdbConstant.BRIDGE); if (rowStore == null) { return null; } ConcurrentMap<String, Row> rows = rowStore.getRowStore(); for (String uuid : rows.keySet()) { Row row = getRow(OvsdbConstant.DATABASENAME, OvsdbConstant.BRIDGE, uuid); OvsdbBridge ovsdbBridge = getOvsdbBridge(row); if (ovsdbBridge != null) { ovsdbBridges.add(ovsdbBridge); } } return ovsdbBridges; }