当前位置: 首页>>代码示例>>Java>>正文


Java DatabaseSchema类代码示例

本文整理汇总了Java中org.onosproject.ovsdb.rfc.schema.DatabaseSchema的典型用法代码示例。如果您正苦于以下问题:Java DatabaseSchema类的具体用法?Java DatabaseSchema怎么用?Java DatabaseSchema使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


DatabaseSchema类属于org.onosproject.ovsdb.rfc.schema包,在下文中一共展示了DatabaseSchema类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createPort

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
@Override
public void createPort(String bridgeName, String portName) {
    String bridgeUuid = getBridgeUuid(bridgeName);
    if (bridgeUuid == null) {
        log.error("Can't find bridge {} in {}", bridgeName,
                  nodeId.getIpAddress());
        return;
    }

    DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME);
    String portUuid = getPortUuid(portName, bridgeUuid);

    Port port = (Port) TableGenerator
            .createTable(dbSchema, OvsdbTable.PORT);

    port.setName(portName);
    if (portUuid == null) {
        insertConfig(OvsdbConstant.PORT, "_uuid", OvsdbConstant.BRIDGE,
                     "ports", bridgeUuid, port.getRow());
    } else {
        updateConfig(OvsdbConstant.PORT, "_uuid", portUuid, port.getRow());
    }

    return;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:26,代码来源:DefaultOvsdbClient.java

示例2: updateConfig

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
/**
 * Update transact config.
 *
 * @param tableName  table name
 * @param columnName column name
 * @param uuid       uuid
 * @param row        the config data
 */
private void updateConfig(String tableName, String columnName, String uuid,
                          Row row) {
    DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME);
    TableSchema tableSchema = dbSchema.getTableSchema(tableName);

    List<Condition> conditions = Lists.newArrayList();
    Condition condition = ConditionUtil.isEqual(columnName, Uuid.uuid(uuid));
    conditions.add(condition);

    Update update = new Update(tableSchema, row, conditions);

    ArrayList<Operation> operations = Lists.newArrayList();
    operations.add(update);

    transactConfig(OvsdbConstant.DATABASENAME, operations);
}
 
开发者ID:shlee89,项目名称:athena,代码行数:25,代码来源:DefaultOvsdbClient.java

示例3: handlePortInsertTable

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
/**
 * Handles port insert.
 *
 * @param tableName ovsdb table interface
 * @param portRow   row of port
 * @return insert, empty if null
 */
private Insert handlePortInsertTable(String tableName, Row portRow) {
    DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME);

    TableSchema portTableSchema = dbSchema
            .getTableSchema(OvsdbConstant.PORT);
    ColumnSchema portColumnSchema = portTableSchema.getColumnSchema("name");

    String portName = (String) portRow.getColumn(portColumnSchema.name()).data();

    Interface inf = (Interface) TableGenerator
            .createTable(dbSchema, OvsdbTable.INTERFACE);

    inf.setName(portName);

    TableSchema intfTableSchema = dbSchema
            .getTableSchema(OvsdbConstant.INTERFACE);
    Insert insert = new Insert(intfTableSchema, OvsdbConstant.INTERFACE,
                               inf.getRow());
    return insert;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:28,代码来源:DefaultOvsdbClient.java

示例4: monitorTables

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
@Override
public ListenableFuture<TableUpdates> monitorTables(String dbName, String id) {
    if (dbName == null) {
        return null;
    }
    DatabaseSchema dbSchema = schema.get(dbName);
    if (dbSchema != null) {
        Function<JsonNode, TableUpdates> rowFunction = new Function<JsonNode, TableUpdates>() {
            @Override
            public TableUpdates apply(JsonNode input) {
                log.info("Get table updates");
                TableUpdates updates = FromJsonUtil
                        .jsonNodeToTableUpdates(input, dbSchema);
                if (updates == null) {
                    log.debug("Get table updates error");
                    return null;
                }
                return updates;
            }
        };
        return Futures.transform(monitor(dbSchema, id), rowFunction);
    }
    return null;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:25,代码来源:DefaultOvsdbClient.java

示例5: transactConfig

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
@Override
public ListenableFuture<List<OperationResult>> transactConfig(String dbName,
                                                              List<Operation> operations) {
    if (dbName == null) {
        return null;
    }
    DatabaseSchema dbSchema = schema.get(dbName);
    if (dbSchema != null) {
        Function<List<JsonNode>, List<OperationResult>> rowFunction = (input -> {
            log.info("Get ovsdb operation result");
            List<OperationResult> result = FromJsonUtil
                    .jsonNodeToOperationResult(input, operations);

            if (result == null) {
                log.debug("The operation result is null");
                return null;
            }
            return result;
        });
        return Futures.transform(transact(dbSchema, operations),
                                 rowFunction);
    }
    return null;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:25,代码来源:DefaultOvsdbClient.java

示例6: getOvsdbPort

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
private OvsdbPort getOvsdbPort(Row row) {
    DatabaseSchema dbSchema = getDatabaseSchema(OvsdbConstant.DATABASENAME);
    Interface intf = (Interface) TableGenerator
            .getTable(dbSchema, row, OvsdbTable.INTERFACE);
    if (intf == null) {
        return null;
    }
    long ofPort = getOfPort(intf);
    String portName = intf.getName();
    if ((ofPort < 0) || (portName == null)) {
        return null;
    }

    OvsdbPort ovsdbPort = new OvsdbPort(new OvsdbPortNumber(ofPort),
                                        new OvsdbPortName(portName));
    return ovsdbPort;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:18,代码来源:DefaultOvsdbClient.java

示例7: getOvsdbBridge

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
private OvsdbBridge getOvsdbBridge(Row row) {
    DatabaseSchema dbSchema = getDatabaseSchema(OvsdbConstant.DATABASENAME);
    Bridge bridge = (Bridge) TableGenerator.getTable(dbSchema, row,
                                                     OvsdbTable.BRIDGE);
    if (bridge == null) {
        return null;
    }

    OvsdbSet datapathIdSet = (OvsdbSet) bridge.getDatapathIdColumn().data();
    @SuppressWarnings("unchecked")
    Set<String> datapathIds = datapathIdSet.set();
    if (datapathIds == null || datapathIds.size() == 0) {
        return null;
    }
    String datapathId = (String) datapathIds.toArray()[0];
    String bridgeName = bridge.getName();
    if ((datapathId == null) || (bridgeName == null)) {
        return null;
    }

    OvsdbBridge ovsdbBridge = new OvsdbBridge(new OvsdbBridgeName(bridgeName),
                                              new OvsdbDatapathId(datapathId));
    return ovsdbBridge;
}
 
开发者ID:shlee89,项目名称:athena,代码行数:25,代码来源:DefaultOvsdbClient.java

示例8: getDataPathid

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
/**
 * Gets datapathid from table bridge.
 *
 * @param clientService OvsdbClientService instance
 * @param dbSchema      ovsdb database schema
 * @return datapathid the bridge datapathid
 */
private long getDataPathid(OvsdbClientService clientService,
                           DatabaseSchema dbSchema) {
    String bridgeUuid = clientService
            .getBridgeUuid(OvsdbConstant.INTEGRATION_BRIDGE);
    if (bridgeUuid == null) {
        log.debug("Unable to spot bridge uuid for {} in {}",
                  OvsdbConstant.INTEGRATION_BRIDGE, clientService);
        return 0;
    }

    Row bridgeRow = clientService.getRow(OvsdbConstant.DATABASENAME,
                                         "Bridge", bridgeUuid);
    Bridge bridge = (Bridge) TableGenerator.getTable(dbSchema, bridgeRow,
                                                     OvsdbTable.BRIDGE);
    OvsdbSet dpidSet = (OvsdbSet) bridge.getDatapathIdColumn().data();
    @SuppressWarnings("unchecked")
    Set<String> dpids = dpidSet.set();
    if (dpids == null || dpids.size() == 0) {
        return 0;
    }
    return stringToLong((String) dpids.toArray()[0]);
}
 
开发者ID:shlee89,项目名称:athena,代码行数:30,代码来源:OvsdbControllerImpl.java

示例9: update

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
@Override
public void update(UpdateNotification updateNotification) {
    Object key = updateNotification.jsonValue();
    OvsdbClientService ovsdbClient = requestNotification.get(key);

    String dbName = requestDbName.get(key);
    JsonNode updatesJson = updateNotification.tbUpdatesJsonNode();
    DatabaseSchema dbSchema = ovsdbClient.getDatabaseSchema(dbName);
    TableUpdates updates = FromJsonUtil
            .jsonNodeToTableUpdates(updatesJson, dbSchema);
    try {
        processTableUpdates(ovsdbClient, updates, dbName);
    } catch (InterruptedException e) {
        log.warn("Interrupted while processing table updates");
        Thread.currentThread().interrupt();
    }
}
 
开发者ID:shlee89,项目名称:athena,代码行数:18,代码来源:OvsdbControllerImpl.java

示例10: getBridgeUuid

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
@Override
public String getBridgeUuid(String bridgeName) {
    DatabaseSchema dbSchema = schema.get(DATABASENAME);
    OvsdbRowStore rowStore = getRowStore(DATABASENAME, BRIDGE);
    if (rowStore == null) {
        log.debug("The bridge uuid is null");
        return null;
    }

    ConcurrentMap<String, Row> bridgeTableRows = rowStore.getRowStore();
    if (bridgeTableRows == null) {
        log.debug("The bridge uuid is null");
        return null;
    }

    for (String uuid : bridgeTableRows.keySet()) {
        Bridge bridge = (Bridge) TableGenerator
                .getTable(dbSchema, bridgeTableRows.get(uuid), OvsdbTable.BRIDGE);
        if (bridge.getName().equals(bridgeName)) {
            return uuid;
        }
    }
    return null;
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:25,代码来源:DefaultOvsdbClient.java

示例11: createPort

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
@Override
public void createPort(String bridgeName, String portName) {
    String bridgeUuid = getBridgeUuid(bridgeName);
    if (bridgeUuid == null) {
        log.error("Can't find bridge {} in {}", bridgeName, nodeId.getIpAddress());
        return;
    }

    DatabaseSchema dbSchema = schema.get(DATABASENAME);
    String portUuid = getPortUuid(portName, bridgeUuid);
    Port port = (Port) TableGenerator.createTable(dbSchema, OvsdbTable.PORT);
    port.setName(portName);
    if (portUuid == null) {
        insertConfig(PORT, UUID, BRIDGE, PORTS, bridgeUuid, port.getRow());
    }
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:17,代码来源:DefaultOvsdbClient.java

示例12: createQueue

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
@Override
public boolean createQueue(OvsdbQueue ovsdbQueue) {
    DatabaseSchema dbSchema = schema.get(DATABASENAME);
    Queue queue = (Queue) TableGenerator.createTable(dbSchema, OvsdbTable.QUEUE);
    ArrayList<Operation> operations = Lists.newArrayList();
    OvsdbRowStore rowStore = getRowStore(DATABASENAME, QUEUE);
    if (rowStore == null) {
        log.debug("The queue uuid is null");
        return false;
    }

    if (ovsdbQueue.dscp().isPresent()) {
        queue.setDscp(ImmutableSet.of(ovsdbQueue.dscp().get()));
    }
    queue.setOtherConfig(ovsdbQueue.otherConfigs());
    queue.setExternalIds(ovsdbQueue.externalIds());
    Insert queueInsert = new Insert(dbSchema.getTableSchema(QUEUE), QUEUE, queue.getRow());
    operations.add(queueInsert);

    try {
        transactConfig(DATABASENAME, operations).get();
    } catch (InterruptedException | ExecutionException e) {
        log.error("createQueue transactConfig get exception !");
    }
    return true;
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:27,代码来源:DefaultOvsdbClient.java

示例13: updateConfig

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
/**
 * Update transact config.
 *
 * @param tableName  table name
 * @param columnName column name
 * @param uuid       uuid
 * @param row        the config data
 */
private void updateConfig(String tableName, String columnName, String uuid,
                          Row row) {
    DatabaseSchema dbSchema = schema.get(DATABASENAME);
    TableSchema tableSchema = dbSchema.getTableSchema(tableName);

    List<Condition> conditions = Lists.newArrayList();
    Condition condition = ConditionUtil.isEqual(columnName, Uuid.uuid(uuid));
    conditions.add(condition);

    Update update = new Update(tableSchema, row, conditions);

    ArrayList<Operation> operations = Lists.newArrayList();
    operations.add(update);

    transactConfig(DATABASENAME, operations);
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:25,代码来源:DefaultOvsdbClient.java

示例14: monitorTables

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
@Override
public ListenableFuture<TableUpdates> monitorTables(String dbName, String id) {
    if (dbName == null) {
        return null;
    }
    DatabaseSchema dbSchema = schema.get(dbName);
    if (dbSchema != null) {
        Function<JsonNode, TableUpdates> rowFunction = input -> {
            log.debug("Get table updates");
            TableUpdates updates = FromJsonUtil.jsonNodeToTableUpdates(input, dbSchema);
            if (updates == null) {
                log.debug("Get table updates error");
                return null;
            }
            return updates;
        };
        return Futures.transform(monitor(dbSchema, id), rowFunction);
    }
    return null;
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:21,代码来源:DefaultOvsdbClient.java

示例15: transactConfig

import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; //导入依赖的package包/类
private ListenableFuture<List<OperationResult>> transactConfig(String dbName,
                                                               List<Operation> operations) {
    if (dbName == null) {
        return null;
    }
    DatabaseSchema dbSchema = schema.get(dbName);
    if (dbSchema != null) {
        Function<List<JsonNode>, List<OperationResult>> rowFunction = (input -> {
            try {
                log.debug("Get ovsdb operation result");
                List<OperationResult> result = FromJsonUtil.jsonNodeToOperationResult(input, operations);
                if (result == null) {
                    log.debug("The operation result is null");
                    return null;
                }
                return result;
            } catch (Exception e) {
                log.error("Exception while parsing result", e);
            }
            return null;
        });
        return Futures.transform(transact(dbSchema, operations), rowFunction);
    }
    return null;
}
 
开发者ID:opennetworkinglab,项目名称:onos,代码行数:26,代码来源:DefaultOvsdbClient.java


注:本文中的org.onosproject.ovsdb.rfc.schema.DatabaseSchema类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。