2  * Copyright 2015 Open Networking Laboratory
 
   4  * Licensed under the Apache License, Version 2.0 (the "License");
 
   5  * you may not use this file except in compliance with the License.
 
   6  * You may obtain a copy of the License at
 
   8  *     http://www.apache.org/licenses/LICENSE-2.0
 
  10  * Unless required by applicable law or agreed to in writing, software
 
  11  * distributed under the License is distributed on an "AS IS" BASIS,
 
  12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  13  * See the License for the specific language governing permissions and
 
  14  * limitations under the License.
 
  17 package org.onosproject.ovsdb.controller.driver;
 
  19 import com.fasterxml.jackson.databind.JsonNode;
 
  20 import com.google.common.util.concurrent.ListenableFuture;
 
  21 import org.onlab.packet.IpAddress;
 
  22 import org.onosproject.net.DeviceId;
 
  23 import org.onosproject.net.behaviour.ControllerInfo;
 
  24 import org.onosproject.ovsdb.controller.OvsdbBridge;
 
  25 import org.onosproject.ovsdb.controller.OvsdbClientService;
 
  26 import org.onosproject.ovsdb.controller.OvsdbNodeId;
 
  27 import org.onosproject.ovsdb.controller.OvsdbPort;
 
  28 import org.onosproject.ovsdb.controller.OvsdbTunnel;
 
  29 import org.onosproject.ovsdb.rfc.message.OperationResult;
 
  30 import org.onosproject.ovsdb.rfc.message.TableUpdates;
 
  31 import org.onosproject.ovsdb.rfc.notation.Row;
 
  32 import org.onosproject.ovsdb.rfc.notation.UUID;
 
  33 import org.onosproject.ovsdb.rfc.operations.Operation;
 
  34 import org.onosproject.ovsdb.rfc.schema.DatabaseSchema;
 
  36 import java.util.List;
 
  41  * Test Adapter for OvsdbClientService.
 
  43 public class OvsdbClientServiceAdapter implements OvsdbClientService {
 
  46     public OvsdbNodeId nodeId() {
 
  51     public void createTunnel(IpAddress srcIp, IpAddress dstIp) {
 
  56     public boolean createTunnel(String bridgeName, String portName, String tunnelType, Map<String, String> options) {
 
  61     public void dropTunnel(IpAddress srcIp, IpAddress dstIp) {
 
  66     public Set<OvsdbTunnel> getTunnels() {
 
  71     public void createBridge(String bridgeName) {
 
  76     public boolean createBridge(String bridgeName, String dpid, List<ControllerInfo> controllers) {
 
  81     public void dropBridge(String bridgeName) {
 
  86     public Set<OvsdbBridge> getBridges() {
 
  91     public Set<ControllerInfo> getControllers(DeviceId openflowDeviceId) {
 
  96     public void setControllersWithUUID(UUID bridgeUuid, List<ControllerInfo> controllers) {
 
 101     public void setControllersWithDeviceId(DeviceId deviceId, List<ControllerInfo> controllers) {
 
 106     public void createPort(String bridgeName, String portName) {
 
 111     public void dropPort(String bridgeName, String portName) {
 
 116     public Set<OvsdbPort> getPorts() {
 
 121     public boolean isConnected() {
 
 126     public String getBridgeUuid(String bridgeName) {
 
 131     public String getPortUuid(String portName, String bridgeUuid) {
 
 136     public String getInterfaceUuid(String portUuid, String portName) {
 
 141     public String getControllerUuid(String controllerName, String controllerTarget) {
 
 146     public String getOvsUuid(String dbName) {
 
 151     public ListenableFuture<DatabaseSchema> getOvsdbSchema(String dbName) {
 
 156     public ListenableFuture<TableUpdates> monitorTables(String dbName, String id) {
 
 161     public ListenableFuture<List<OperationResult>> transactConfig(String dbName, List<Operation> operations) {
 
 166     public DatabaseSchema getDatabaseSchema(String dbName) {
 
 171     public Row getRow(String dbName, String tableName, String uuid) {
 
 176     public void removeRow(String dbName, String tableName, String uuid) {
 
 181     public void updateOvsdbStore(String dbName, String tableName, String uuid, Row row) {
 
 186     public Set<OvsdbPort> getLocalPorts(Iterable<String> ifaceids) {
 
 191     public void disconnect() {
 
 196     public ListenableFuture<JsonNode> getSchema(List<String> dbnames) {
 
 201     public ListenableFuture<List<String>> echo() {
 
 206     public ListenableFuture<JsonNode> monitor(DatabaseSchema dbSchema, String monitorId) {
 
 211     public ListenableFuture<List<String>> listDbs() {
 
 216     public ListenableFuture<List<JsonNode>> transact(DatabaseSchema dbSchema, List<Operation> operations) {