diff options
author | CNlucius <lukai1@huawei.com> | 2016-09-13 11:40:12 +0800 |
---|---|---|
committer | CNlucius <lukai1@huawei.com> | 2016-09-13 11:41:53 +0800 |
commit | b731e2f1dd0972409b136aebc7b463dd72c9cfad (patch) | |
tree | 5107d7d80c19ad8076c2c97c2b5ef8d1cf3ab903 /framework/src/onos/protocols/ovsdb | |
parent | ee93993458266114c29271a481ef9ce7ce621b2a (diff) |
ONOSFW-171
O/S-SFC-ONOS scenario documentation
Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365
Signed-off-by: CNlucius <lukai1@huawei.com>
Diffstat (limited to 'framework/src/onos/protocols/ovsdb')
140 files changed, 0 insertions, 17219 deletions
diff --git a/framework/src/onos/protocols/ovsdb/api/pom.xml b/framework/src/onos/protocols/ovsdb/api/pom.xml deleted file mode 100644 index d4bee9a0..00000000 --- a/framework/src/onos/protocols/ovsdb/api/pom.xml +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0"?> -<!-- - ~ Copyright 2015 Open Networking Laboratory - ~ - ~ Licensed under the Apache License, Version 2.0 (the "License"); - ~ you may not use this file except in compliance with the License. - ~ You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> -<project - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" - xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.onosproject</groupId> - <artifactId>onos-ovsdb</artifactId> - <version>1.4.0-rc1</version> - </parent> - <artifactId>onos-ovsdb-api</artifactId> - <packaging>bundle</packaging> - - <description>ONOS OVSDB plugin API</description> - <dependencies> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>commons-pool</groupId> - <artifactId>commons-pool</artifactId> - </dependency> - <dependency> - <groupId>io.netty</groupId> - <artifactId>netty-transport</artifactId> - </dependency> - <dependency> - <groupId>io.netty</groupId> - <artifactId>netty-transport-native-epoll</artifactId> - <version>${netty4.version}</version> - </dependency> - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-api</artifactId> - </dependency> - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-ovsdb-rfc</artifactId> - <version>${project.version}</version> - </dependency> - </dependencies> - -</project> diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/DefaultEventSubject.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/DefaultEventSubject.java deleted file mode 100644 index 5d9134b4..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/DefaultEventSubject.java +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; -import java.util.Set; - -import org.onlab.packet.IpAddress; -import org.onlab.packet.MacAddress; - -/** - * This class is default event subject that implements OvsdbEventSubject. - */ -public class DefaultEventSubject implements OvsdbEventSubject { - private final MacAddress mac; - private final Set<IpAddress> ips; - private final OvsdbPortName portname; - private final OvsdbPortNumber portnumber; - private final OvsdbDatapathId dpid; - private final OvsdbPortType portType; - private final OvsdbIfaceId ifaceid; - - /** - * Creates an end-station event subject using the supplied information. - * - * @param mac host MAC address - * @param ips host MAC ips - * @param portname port name - * @param portnumber port number - * @param dpid ovs dpid - * @param portType port type - * @param ifaceid vm ifaceid - */ - public DefaultEventSubject(MacAddress mac, Set<IpAddress> ips, - OvsdbPortName portname, OvsdbPortNumber portnumber, OvsdbDatapathId dpid, - OvsdbPortType portType, OvsdbIfaceId ifaceid) { - super(); - this.mac = mac; - this.ips = ips; - this.portname = portname; - this.portnumber = portnumber; - this.dpid = dpid; - this.portType = portType; - this.ifaceid = ifaceid; - } - - @Override - public MacAddress hwAddress() { - return mac; - } - - @Override - public Set<IpAddress> ipAddress() { - return ips; - } - - @Override - public OvsdbPortName portName() { - return portname; - } - - @Override - public OvsdbPortNumber portNumber() { - return portnumber; - } - - @Override - public OvsdbPortType portType() { - return portType; - } - - @Override - public OvsdbDatapathId dpid() { - return dpid; - } - - @Override - public OvsdbIfaceId ifaceid() { - return ifaceid; - } - - @Override - public int hashCode() { - return Objects.hash(mac, portname, portnumber, dpid, portType, ifaceid); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DefaultEventSubject) { - final DefaultEventSubject other = (DefaultEventSubject) obj; - return Objects.equals(this.mac, other.mac) - && Objects.equals(this.portname, other.portname) - && Objects.equals(this.portnumber, other.portnumber) - && Objects.equals(this.dpid, other.dpid) - && Objects.equals(this.portType, other.portType) - && Objects.equals(this.ifaceid, other.ifaceid); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("mac", mac).add("portname", portname) - .add("portnumber", portnumber).add("portType", portType) - .add("ipAddresses", ips).add("dpid", dpid).add("ifaceid", ifaceid) - .toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/EventSubject.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/EventSubject.java deleted file mode 100644 index d8aaef65..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/EventSubject.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -/** - * Representation for an entity that carries important information for a listener. - */ -public interface EventSubject { -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbBridge.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbBridge.java deleted file mode 100644 index 18c59e14..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbBridge.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * The class representing an ovsdb bridge. - * This class is immutable. - */ -public final class OvsdbBridge { - - private final OvsdbBridgeName bridgeName; - private final OvsdbDatapathId datapathId; - - /** - * Constructor from an OvsdbBridgeName bridgeName and an OvsdbDatapathId - * datapathId. - * - * @param bridgeName the bridgeName to use - * @param datapathId the datapathId to use - */ - public OvsdbBridge(OvsdbBridgeName bridgeName, OvsdbDatapathId datapathId) { - checkNotNull(bridgeName, "bridgeName is not null"); - checkNotNull(datapathId, "datapathId is not null"); - this.bridgeName = bridgeName; - this.datapathId = datapathId; - } - - /** - * Gets the bridge name of bridge. - * - * @return the bridge name of bridge - */ - public OvsdbBridgeName bridgeName() { - return bridgeName; - } - - /** - * Gets the datapathId of bridge. - * - * @return datapathId the datapathId to use - */ - public OvsdbDatapathId datapathId() { - return datapathId; - } - - @Override - public int hashCode() { - return Objects.hash(bridgeName, datapathId); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof OvsdbBridge) { - final OvsdbBridge otherOvsdbBridge = (OvsdbBridge) obj; - return Objects.equals(this.bridgeName, otherOvsdbBridge.bridgeName) - && Objects.equals(this.datapathId, - otherOvsdbBridge.datapathId); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("bridgeName", bridgeName.value()) - .add("datapathId", datapathId.value()).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbBridgeName.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbBridgeName.java deleted file mode 100644 index 759ec499..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbBridgeName.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * The class representing a bridge name. - * This class is immutable. - */ -public final class OvsdbBridgeName { - - private final String value; - - /** - * Constructor from a String. - * - * @param value the bridge name to use - */ - public OvsdbBridgeName(String value) { - checkNotNull(value, "value is not null"); - this.value = value; - } - - /** - * Gets the value of bridge name. - * - * @return the value of the bridge name - */ - public String value() { - return value; - } - - @Override - public int hashCode() { - return value.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof OvsdbBridgeName) { - final OvsdbBridgeName otherBridgeName = (OvsdbBridgeName) obj; - return Objects.equals(this.value, otherBridgeName.value); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("value", value).toString(); - } - -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbClientService.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbClientService.java deleted file mode 100644 index a35fa6cf..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbClientService.java +++ /dev/null @@ -1,301 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import com.google.common.util.concurrent.ListenableFuture; - -import org.onlab.packet.IpAddress; -import org.onosproject.net.DeviceId; -import org.onosproject.net.behaviour.ControllerInfo; -import org.onosproject.ovsdb.rfc.jsonrpc.OvsdbRPC; -import org.onosproject.ovsdb.rfc.message.OperationResult; -import org.onosproject.ovsdb.rfc.message.TableUpdates; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; -import org.onosproject.ovsdb.rfc.operations.Operation; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; - -import java.util.List; -import java.util.Map; -import java.util.Set; - -/** - * Represents to provider facing side of a node. - */ -public interface OvsdbClientService extends OvsdbRPC { - /** - * Gets the node identifier. - * - * @return node identifier - */ - OvsdbNodeId nodeId(); - - /** - * Creates the configuration for tunnel. - * - * @param srcIp source IP address - * @param dstIp destination IP address - */ - @Deprecated - void createTunnel(IpAddress srcIp, IpAddress dstIp); - - /** - * Creates a tunnel port with given options. - * - * @param bridgeName bridge name - * @param portName port name - * @param tunnelType tunnel type - * @param options tunnel options - * @return true if tunnel creation is successful, false otherwise - */ - boolean createTunnel(String bridgeName, String portName, String tunnelType, Map<String, String> options); - - /** - * Drops the configuration for tunnel. - * - * @param srcIp source IP address - * @param dstIp destination IP address - */ - void dropTunnel(IpAddress srcIp, IpAddress dstIp); - - /** - * Gets tunnels of node. - * - * @return set of tunnels; empty if no tunnel is find - */ - Set<OvsdbTunnel> getTunnels(); - - /** - * Creates a bridge. - * - * @param bridgeName bridge name - */ - void createBridge(String bridgeName); - - /** - * Creates a bridge. - * - * @param bridgeName bridge name - * @param dpid data path id - * @param exPortName external port name - */ - void createBridge(String bridgeName, String dpid, String exPortName); - - /** - * Creates a bridge with given name and dpid. - * Sets the bridge's controller with given controllers. - * - * @param bridgeName bridge name - * @param dpid data path id - * @param controllers controllers - * @return true if bridge creation is successful, false otherwise - */ - boolean createBridge(String bridgeName, String dpid, List<ControllerInfo> controllers); - - /** - * Drops a bridge. - * - * @param bridgeName bridge name - */ - void dropBridge(String bridgeName); - - /** - * Gets bridges of node. - * - * @return set of bridges; empty if no bridge is find - */ - Set<OvsdbBridge> getBridges(); - - /** - * Gets controllers of node. - * - * @param openflowDeviceId target device id - * @return set of controllers; empty if no controller is find - */ - Set<ControllerInfo> getControllers(DeviceId openflowDeviceId); - - /** - * Sets the Controllers for the specified bridge. - * <p> - * This method will replace the existing controller list with the new controller - * list. - * - * @param bridgeUuid bridge uuid - * @param controllers list of controllers - */ - void setControllersWithUUID(UUID bridgeUuid, List<ControllerInfo> controllers); - - /** - * Sets the Controllers for the specified device. - * <p> - * This method will replace the existing controller list with the new controller - * list. - * - * @param deviceId device id (likely Openflow device) - * @param controllers list of controllers - */ - void setControllersWithDeviceId(DeviceId deviceId, List<ControllerInfo> controllers); - - /** - * Creates a port. - * - * @param bridgeName bridge name - * @param portName port name - */ - void createPort(String bridgeName, String portName); - - /** - * Drops a port. - * - * @param bridgeName bridge name - * @param portName port name - */ - void dropPort(String bridgeName, String portName); - - /** - * Gets ports of bridge. - * - * @return set of ports; empty if no ports is find - */ - Set<OvsdbPort> getPorts(); - - /** - * Checks if the node is still connected. - * - * @return true if the node is still connected - */ - boolean isConnected(); - - /** - * Gets the Bridge uuid. - * - * @param bridgeName bridge name - * @return bridge uuid, empty if no uuid is find - */ - String getBridgeUuid(String bridgeName); - - /** - * Gets the Port uuid. - * - * @param portName port name - * @param bridgeUuid bridge uuid - * @return port uuid, empty if no uuid is find - */ - String getPortUuid(String portName, String bridgeUuid); - - /** - * Gets the Interface uuid. - * - * @param portUuid port uuid - * @param portName port name - * @return interface uuid, empty if no uuid is find - */ - String getInterfaceUuid(String portUuid, String portName); - - /** - * Gets the Controller uuid. - * - * @param controllerName controller name - * @param controllerTarget controller target - * @return controller uuid, empty if no uuid is find - */ - String getControllerUuid(String controllerName, String controllerTarget); - - /** - * Gets the OVS uuid. - * - * @param dbName database name - * @return ovs uuid, empty if no uuid is find - */ - String getOvsUuid(String dbName); - - /** - * Gets the OVSDB database schema. - * - * @param dbName database name - * @return database schema - */ - ListenableFuture<DatabaseSchema> getOvsdbSchema(String dbName); - - /** - * Gets the OVSDB table updates. - * - * @param dbName database name - * @param id random uuid - * @return table updates - */ - ListenableFuture<TableUpdates> monitorTables(String dbName, String id); - - /** - * Gets the OVSDB config operation result. - * - * @param dbName database name - * @param operations the list of operations - * @return operation results - */ - ListenableFuture<List<OperationResult>> transactConfig(String dbName, - List<Operation> operations); - - /** - * Gets the OVSDB database schema from local. - * - * @param dbName database name - * @return database schema - */ - DatabaseSchema getDatabaseSchema(String dbName); - - /** - * Gets the OVSDB row from local OVSDB store. - * - * @param dbName database name - * @param tableName table name - * @param uuid row uuid - * @return row OVSDB row - */ - Row getRow(String dbName, String tableName, String uuid); - - /** - * Removes the OVSDB row from local OVSDB store. - * - * @param dbName database name - * @param tableName table name - * @param uuid row uuid - */ - void removeRow(String dbName, String tableName, String uuid); - - /** - * Updates the local OVSDB store. - * - * @param dbName database name - * @param tableName table name - * @param uuid row uuid - * @param row OVSDB row - */ - void updateOvsdbStore(String dbName, String tableName, String uuid, Row row); - - /** - * Gets OVSDB local ports. - * - * @param ifaceids the ifaceid that needed - * @return OVSDB ports - */ - Set<OvsdbPort> getLocalPorts(Iterable<String> ifaceids); - - /** - * Disconnects the OVSDB server. - */ - void disconnect(); -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbConstant.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbConstant.java deleted file mode 100644 index e91c928a..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbConstant.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -/** - * Ovsdb related constants. - */ -public final class OvsdbConstant { - - /** - * Default constructor. - * - * The constructor is private to prevent creating an instance of this - * utility class. - */ - private OvsdbConstant() { - } - - /** Ovsdb database Open_vSwitch. */ - public static final String DATABASENAME = "Open_vSwitch"; - - /** Ovsdb table Bridge. */ - public static final String BRIDGE = "Bridge"; - - /** Ovsdb table Interface. */ - public static final String INTERFACE = "Interface"; - - /** Ovsdb table Controller. */ - public static final String CONTROLLER = "Controller"; - - /** Ovsdb table Port. */ - public static final String PORT = "Port"; - - /** Ovsdb bridge name. */ - public static final String INTEGRATION_BRIDGE = "br-int"; - - /** Ovsdb vxlan tunnel type. */ - public static final String TYPEVXLAN = "vxlan"; - - /** Openflow version. */ - public static final String OPENFLOW13 = "OpenFlow13"; - - /** Ovsdb external_id_interface_id.. */ - public static final String EXTERNAL_ID_INTERFACE_ID = "iface-id"; - - /** Ovsdb external_id_vm_mac. */ - public static final String EXTERNAL_ID_VM_MAC = "attached-mac"; - - /** Openflow port. */ - public static final int OFPORT = 6653; - - /** Ovsdb port. */ - public static final int OVSDBPORT = 6640; - -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbController.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbController.java deleted file mode 100644 index f22a5787..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbController.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import org.onlab.packet.IpAddress; -import org.onlab.packet.TpPort; - -import java.util.List; - -/** - * Abstraction of an ovsdb controller. Serves as an one stop shop for obtaining - * OvsdbNode and (un)register listeners on ovsdb events and ovsdb node events. - */ -public interface OvsdbController { - - /** - * Adds Node Event Listener. - * - * @param listener node listener - */ - void addNodeListener(OvsdbNodeListener listener); - - /** - * Removes Node Event Listener. - * - * @param listener node listener - */ - void removeNodeListener(OvsdbNodeListener listener); - - /** - * Adds ovsdb event listener. - * - * @param listener event listener - */ - void addOvsdbEventListener(OvsdbEventListener listener); - - /** - * Removes ovsdb event listener. - * - * @param listener event listener - */ - void removeOvsdbEventListener(OvsdbEventListener listener); - - /** - * Gets all the nodes information. - * - * @return the list of node id - */ - List<OvsdbNodeId> getNodeIds(); - - /** - * Gets an ovsdb client by node identifier. - * - * @param nodeId node identifier - * @return OvsdbClient ovsdb node information - */ - OvsdbClientService getOvsdbClient(OvsdbNodeId nodeId); - - /** - * Connect to the ovsdb server with given ip address and port number. - * - * @param ip ip address - * @param port port number - */ - void connect(IpAddress ip, TpPort port); -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbDatapathId.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbDatapathId.java deleted file mode 100644 index 02989afa..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbDatapathId.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; -import java.util.Objects; - -/** - * The class representing a datapathid. - * This class is immutable. - */ -public final class OvsdbDatapathId { - private final String value; - - /** - * Constructor from a String. - * - * @param value the datapathid to use - */ - public OvsdbDatapathId(String value) { - checkNotNull(value, "value is not null"); - this.value = value; - } - - /** - * Gets the value of datapathid. - * - * @return the value of datapathid - */ - public String value() { - return value; - } - - @Override - public int hashCode() { - return value.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof OvsdbDatapathId) { - final OvsdbDatapathId otherDatapathId = (OvsdbDatapathId) obj; - return Objects.equals(this.value, otherDatapathId.value); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("value", value).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbEvent.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbEvent.java deleted file mode 100644 index f68b3c8a..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbEvent.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import static com.google.common.base.MoreObjects.toStringHelper; - -/** - * The abstract event of ovsdb. - */ -public final class OvsdbEvent<S> { - - public enum Type { - /** - * Signifies that a new ovs port update has been detected. - */ - PORT_ADDED, - /** - * Signifies that a ovs port has been removed. - */ - PORT_REMOVED - } - - private final Type type; - private final S subject; - - /** - * Creates an event of a given type and for the specified event subject. - * - * @param type event type - * @param subject event subject - */ - public OvsdbEvent(Type type, S subject) { - this.type = type; - this.subject = subject; - } - - /** - * Returns the type of event. - * - * @return event type - */ - public Type type() { - return type; - } - - /** - * Returns the subject of event. - * - * @return subject to which this event pertains - */ - public S subject() { - return subject; - } - - @Override - public String toString() { - return toStringHelper(this).add("type", type()) - .add("subject", subject()).toString(); - } - -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbEventListener.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbEventListener.java deleted file mode 100644 index b7bf2b55..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbEventListener.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -/** - * Allows for providers interested in ovsdb events to be notified. - */ -public interface OvsdbEventListener { - /** - * Handles the ovsdb event. - * - * @param event ovsdb event - */ - void handle(OvsdbEvent<EventSubject> event); -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbEventSubject.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbEventSubject.java deleted file mode 100644 index 226a26e6..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbEventSubject.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import java.util.Set; - -import org.onlab.packet.IpAddress; -import org.onlab.packet.MacAddress; - -/** - * Represents for an entity that carry important information for listener. - */ -public interface OvsdbEventSubject extends EventSubject { - /** - * Returns the MAC address associated with this host (NIC). - * - * @return the MAC address of this host - */ - MacAddress hwAddress(); - - /** - * Returns the IP address associated with this host's MAC. - * - * @return host IP address - */ - Set<IpAddress> ipAddress(); - - /** - * Returns the Port name associated with the host. - * - * @return port name - */ - OvsdbPortName portName(); - - /** - * Returns the Port number associated with the host. - * - * @return port number - */ - OvsdbPortNumber portNumber(); - - /** - * Returns the Port type associated with the host. - * - * @return port type - */ - OvsdbPortType portType(); - - /** - * Returns the Ovs dpid associated with the host. - * - * @return Ovs dpid - */ - OvsdbDatapathId dpid(); - - /** - * Returns the vm ifaceid associated with the host. - * - * @return vm ifaceid - */ - OvsdbIfaceId ifaceid(); -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbIfaceId.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbIfaceId.java deleted file mode 100644 index bf724fa4..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbIfaceId.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; -import java.util.Objects; - -/** - * The class representing an ifaceid. - * This class is immutable. - */ -public class OvsdbIfaceId { - private final String value; - - /** - * Constructor from a String. - * - * @param value the ifaceid to use - */ - public OvsdbIfaceId(String value) { - checkNotNull(value, "value is not null"); - this.value = value; - } - - /** - * Gets the value of ifaceid. - * - * @return the value of ifaceid - */ - public String value() { - return value; - } - - @Override - public int hashCode() { - return value.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof OvsdbIfaceId) { - final OvsdbIfaceId otherIfaceId = (OvsdbIfaceId) obj; - return Objects.equals(this.value, otherIfaceId.value); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("value", value).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbNodeId.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbNodeId.java deleted file mode 100644 index 60146c85..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbNodeId.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -import org.onlab.packet.IpAddress; - -/** - * The class representing a nodeId of node which using ovsdb connection. - * This class is immutable. - */ -public final class OvsdbNodeId { - private static final String SCHEME = "ovsdb"; - private final String nodeId; - private final String ipAddress; - - /** - * Creates a new node identifier from an IpAddress ipAddress, a long port. - * - * @param ipAddress node IP address - * @param port node port - */ - public OvsdbNodeId(IpAddress ipAddress, long port) { - checkNotNull(ipAddress, "ipAddress is not null"); - this.ipAddress = ipAddress.toString(); - this.nodeId = ipAddress.toString(); - } - - @Override - public int hashCode() { - return nodeId.hashCode(); - } - - @Override - public boolean equals(Object other) { - if (!(other instanceof OvsdbNodeId)) { - return false; - } - - OvsdbNodeId otherNodeId = (OvsdbNodeId) other; - - return Objects.equals(otherNodeId.nodeId, this.nodeId); - } - - @Override - public String toString() { - return SCHEME + ":" + nodeId; - } - - /** - * Gets the value of the NodeId. - * - * @return the value of the NodeId. - */ - public String nodeId() { - return SCHEME + ":" + nodeId; - } - - /** - * Get the IP address of the node. - * - * @return the IP address of the node - */ - public String getIpAddress() { - return ipAddress; - } -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbNodeListener.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbNodeListener.java deleted file mode 100644 index ca732ef9..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbNodeListener.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -/** - * Allows for providers interested in node events to be notified. - */ -public interface OvsdbNodeListener { - - /** - * Notifies that the node was added. - * - * @param nodeId the node where the event occurred - */ - void nodeAdded(OvsdbNodeId nodeId); - - /** - * Notifies that the node was removed. - * - * @param nodeId the node where the event occurred - */ - void nodeRemoved(OvsdbNodeId nodeId); -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbPort.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbPort.java deleted file mode 100644 index deea42d7..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbPort.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * The class representing a ovsdb port. This class is immutable. - */ -public final class OvsdbPort { - - private final OvsdbPortNumber portNumber; - private final OvsdbPortName portName; - - /** - * Constructor from OvsdbPortNumber portNumber, OvsdbPortName portName. - * - * @param portNumber the portNumber to use - * @param portName the portName to use - */ - public OvsdbPort(OvsdbPortNumber portNumber, OvsdbPortName portName) { - checkNotNull(portNumber, "portNumber is not null"); - checkNotNull(portName, "portName is not null"); - this.portNumber = portNumber; - this.portName = portName; - } - - /** - * Gets the port number of port. - * - * @return the port number of port - */ - public OvsdbPortNumber portNumber() { - return portNumber; - } - - /** - * Gets the port name of port. - * - * @return the port name of port - */ - public OvsdbPortName portName() { - return portName; - } - - @Override - public int hashCode() { - return Objects.hash(portNumber, portName); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof OvsdbPort) { - final OvsdbPort otherOvsdbPort = (OvsdbPort) obj; - return Objects.equals(this.portNumber, otherOvsdbPort.portNumber) - && Objects.equals(this.portName, otherOvsdbPort.portName); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this) - .add("portNumber", String.valueOf(portNumber.value())) - .add("portName", portName.value()).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbPortName.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbPortName.java deleted file mode 100644 index 7d40e99f..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbPortName.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * The class representing a port number. - * This class is immutable. - */ -public final class OvsdbPortName { - - private final String value; - - /** - * Constructor from a String. - * - * @param value the port name to use - */ - public OvsdbPortName(String value) { - checkNotNull(value, "value is not null"); - this.value = value; - } - - /** - * Gets the value of port name. - * - * @return the value of port name - */ - public String value() { - return value; - } - - @Override - public int hashCode() { - return value.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof OvsdbPortName) { - final OvsdbPortName otherOvsdbPortName = (OvsdbPortName) obj; - return Objects.equals(this.value, otherOvsdbPortName.value); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("value", value).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbPortNumber.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbPortNumber.java deleted file mode 100644 index 86fc887a..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbPortNumber.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * The class representing a port number. - * This class is immutable. - */ -public final class OvsdbPortNumber { - - private final long value; - - /** - * Constructor from a long value. - * - * @param value the port number to use - */ - public OvsdbPortNumber(long value) { - this.value = value; - } - - /** - * Gets the value of port number. - * - * @return the value of port number - */ - public long value() { - return value; - } - - @Override - public int hashCode() { - return Objects.hashCode(value); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof OvsdbPortNumber) { - final OvsdbPortNumber ovsdbPortNumber = (OvsdbPortNumber) obj; - return Objects.equals(this.value, ovsdbPortNumber.value); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("value", value).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbPortType.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbPortType.java deleted file mode 100644 index fb7cdb00..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbPortType.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * The class representing a port type. - * This class is immutable. - */ -public class OvsdbPortType { - - private final String value; - - /** - * Constructor from a String. - * - * @param value the port type to use - */ - public OvsdbPortType(String value) { - checkNotNull(value, "value is not null"); - this.value = value; - } - - /** - * Gets the value of port type. - * - * @return the value of port type - */ - public String value() { - return value; - } - - @Override - public int hashCode() { - return value.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof OvsdbPortType) { - final OvsdbPortType otherOvsdbPortType = (OvsdbPortType) obj; - return Objects.equals(this.value, otherOvsdbPortType.value); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("value", value).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbRowStore.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbRowStore.java deleted file mode 100644 index bec0e2e9..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbRowStore.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import java.util.concurrent.ConcurrentMap; - -import org.onosproject.ovsdb.rfc.notation.Row; - -import com.google.common.collect.Maps; - -/** - * The class representing a table data. - */ -public class OvsdbRowStore { - - private final ConcurrentMap<String, Row> rowStore = Maps.newConcurrentMap(); - - /** - * Gets the row. - * - * @param uuid the key of the rowStore - * @return row the row of the rowStore - */ - public Row getRow(String uuid) { - return rowStore.get(uuid); - } - - /** - * Inserts a row to rowStore. - * - * @param uuid key of the row - * @param row a row of the table - */ - public void insertRow(String uuid, Row row) { - rowStore.put(uuid, row); - } - - /** - * Deletes a row to rowStore. - * - * @param uuid key of the row - */ - public void deleteRow(String uuid) { - rowStore.remove(uuid); - } - - /** - * Gets the rowStore. - * - * @return rowStore - */ - public ConcurrentMap<String, Row> getRowStore() { - return rowStore; - } - -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbStore.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbStore.java deleted file mode 100644 index 56704908..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbStore.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import java.util.concurrent.ConcurrentMap; - -import com.google.common.collect.Maps; - -/** - * The cache for local ovsdb database. - */ -public class OvsdbStore { - - private final ConcurrentMap<String, OvsdbTableStore> ovsdbStore = Maps.newConcurrentMap(); - - /** - * Gets the OvsdbTableStore. - * - * @param dbName ovsdb database name - * @return tableStore OvsdbTableStore - */ - public OvsdbTableStore getOvsdbTableStore(String dbName) { - OvsdbTableStore tableStore = ovsdbStore.get(dbName); - if (tableStore == null) { - return null; - } - return tableStore; - } - - /** - * Create or Update a value to ovsdbStore. - * - * @param dbName ovsdb database name - * @param tableStore a database tableStore. - */ - public void createOrUpdateOvsdbStore(String dbName, OvsdbTableStore tableStore) { - ovsdbStore.put(dbName, tableStore); - } - - /** - * Drops a value to rowStore. - * - * @param dbName ovsdb database name - */ - public void dropOvsdbStore(String dbName) { - ovsdbStore.remove(dbName); - } - - /** - * Gets the ovsdbStore. - * - * @return ovsdbStore - */ - public ConcurrentMap<String, OvsdbTableStore> getOvsdbStore() { - return ovsdbStore; - } - -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbTableStore.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbTableStore.java deleted file mode 100644 index 72b64f32..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbTableStore.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import java.util.concurrent.ConcurrentMap; - -import com.google.common.collect.Maps; - -/** - * The class representing a database data. - */ -public class OvsdbTableStore { - - private final ConcurrentMap<String, OvsdbRowStore> tableStore = Maps.newConcurrentMap(); - - /** - * Gets the ovsdbRowStore. - * - * @param tableName an ovsdb table name - * @return OvsdbRowStore the data of table - */ - public OvsdbRowStore getRows(String tableName) { - return tableStore.get(tableName); - } - - /** - * Creates or updates a value to tableStore. - * - * @param tableName key of tableName - * @param rowStore a row of table - */ - public void createOrUpdateTable(String tableName, OvsdbRowStore rowStore) { - tableStore.put(tableName, rowStore); - } - - /** - * Drops a value to table data. - * - * @param tableName key of tableName - */ - public void dropTable(String tableName) { - tableStore.remove(tableName); - } - - /** - * Gets tableStore. - * - * @return tableStore - */ - public ConcurrentMap<String, OvsdbRowStore> getTableStore() { - return tableStore; - } - -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbTunnel.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbTunnel.java deleted file mode 100644 index 8c857da4..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbTunnel.java +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -import org.onlab.packet.IpAddress; - -/** - * The class representing an ovsdb tunnel. - * This class is immutable. - */ -public final class OvsdbTunnel { - - private final IpAddress localIp; - private final IpAddress remoteIp; - - public enum Type { - VXLAN, GRE - } - - private final Type tunnelType; - private final OvsdbTunnelName tunnelName; - - /** - * Constructor from an IpAddress localIp, IpAddress remoteIp Type tunnelType, - * OvsdbTunnelName tunnelName. - * - * @param localIp the localIp to use - * @param remoteIp the remoteIp to use - * @param tunnelType the tunnelType to use - * @param tunnelName the tunnelName to use - */ - public OvsdbTunnel(IpAddress localIp, IpAddress remoteIp, Type tunnelType, - OvsdbTunnelName tunnelName) { - checkNotNull(localIp, "portName is not null"); - checkNotNull(remoteIp, "portName is not null"); - checkNotNull(tunnelName, "portName is not null"); - this.localIp = localIp; - this.remoteIp = remoteIp; - this.tunnelType = tunnelType; - this.tunnelName = tunnelName; - } - - /** - * Gets the local IP of tunnel. - * - * @return the local IP of tunnel - */ - public IpAddress localIp() { - return localIp; - } - - /** - * Gets the remote IP of tunnel. - * - * @return the remote IP of tunnel - */ - public IpAddress remoteIp() { - return remoteIp; - } - - /** - * Gets the tunnel type of tunnel. - * - * @return the tunnel type of tunnel - */ - public Type tunnelType() { - return tunnelType; - } - - /** - * Gets the tunnel name of tunnel. - * - * @return the tunnel name of tunnel - */ - public OvsdbTunnelName tunnelName() { - return tunnelName; - } - - @Override - public int hashCode() { - return Objects.hash(localIp, remoteIp, tunnelType, tunnelName); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof OvsdbTunnel) { - final OvsdbTunnel otherOvsdbTunnel = (OvsdbTunnel) obj; - return Objects.equals(this.localIp, otherOvsdbTunnel.localIp) - && Objects.equals(this.remoteIp, otherOvsdbTunnel.remoteIp) - && Objects.equals(this.tunnelType, - otherOvsdbTunnel.tunnelType) - && Objects.equals(this.tunnelName, - otherOvsdbTunnel.tunnelName); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("localIp", localIp.toString()) - .add("remoteIp", remoteIp.toString()) - .add("tunnelType", tunnelType).add("tunnelName", tunnelName) - .toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbTunnelName.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbTunnelName.java deleted file mode 100644 index 490d640b..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbTunnelName.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * The class representing a tunnel name. - * This class is immutable. - */ -public final class OvsdbTunnelName { - private final String value; - - /** - * Constructor from a String. - * - * @param value the tunnel name to use - */ - public OvsdbTunnelName(String value) { - checkNotNull(value, "value is not null"); - this.value = value; - } - - /** - * Gets the value of tunnel name. - * - * @return the value of tunnel name - */ - public String value() { - return value; - } - - @Override - public int hashCode() { - return value.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof OvsdbTunnelName) { - final OvsdbTunnelName otherOvsdbTunnelName = (OvsdbTunnelName) obj; - return Objects.equals(this.value, otherOvsdbTunnelName.value); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("value", value).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/DefaultOvsdbClient.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/DefaultOvsdbClient.java deleted file mode 100644 index 5f72606d..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/DefaultOvsdbClient.java +++ /dev/null @@ -1,1500 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller.driver; - -import com.fasterxml.jackson.databind.JsonNode; -import com.google.common.base.Function; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; -import com.google.common.util.concurrent.Futures; -import com.google.common.util.concurrent.ListenableFuture; -import com.google.common.util.concurrent.SettableFuture; - -import io.netty.channel.Channel; - -import org.onlab.packet.IpAddress; -import org.onosproject.net.DeviceId; -import org.onosproject.net.behaviour.ControllerInfo; -import org.onosproject.ovsdb.controller.OvsdbBridge; -import org.onosproject.ovsdb.controller.OvsdbBridgeName; -import org.onosproject.ovsdb.controller.OvsdbClientService; -import org.onosproject.ovsdb.controller.OvsdbConstant; -import org.onosproject.ovsdb.controller.OvsdbDatapathId; -import org.onosproject.ovsdb.controller.OvsdbNodeId; -import org.onosproject.ovsdb.controller.OvsdbPort; -import org.onosproject.ovsdb.controller.OvsdbPortName; -import org.onosproject.ovsdb.controller.OvsdbPortNumber; -import org.onosproject.ovsdb.controller.OvsdbRowStore; -import org.onosproject.ovsdb.controller.OvsdbStore; -import org.onosproject.ovsdb.controller.OvsdbTableStore; -import org.onosproject.ovsdb.controller.OvsdbTunnel; -import org.onosproject.ovsdb.rfc.exception.BridgeCreateException; -import org.onosproject.ovsdb.rfc.jsonrpc.Callback; -import org.onosproject.ovsdb.rfc.message.OperationResult; -import org.onosproject.ovsdb.rfc.message.TableUpdates; -import org.onosproject.ovsdb.rfc.notation.Condition; -import org.onosproject.ovsdb.rfc.notation.Mutation; -import org.onosproject.ovsdb.rfc.notation.OvsdbMap; -import org.onosproject.ovsdb.rfc.notation.OvsdbSet; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; -import org.onosproject.ovsdb.rfc.operations.Delete; -import org.onosproject.ovsdb.rfc.operations.Insert; -import org.onosproject.ovsdb.rfc.operations.Mutate; -import org.onosproject.ovsdb.rfc.operations.Operation; -import org.onosproject.ovsdb.rfc.operations.Update; -import org.onosproject.ovsdb.rfc.schema.ColumnSchema; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.schema.TableSchema; -import org.onosproject.ovsdb.rfc.table.Bridge; -import org.onosproject.ovsdb.rfc.table.Controller; -import org.onosproject.ovsdb.rfc.table.Interface; -import org.onosproject.ovsdb.rfc.table.OvsdbTable; -import org.onosproject.ovsdb.rfc.table.Port; -import org.onosproject.ovsdb.rfc.table.TableGenerator; -import org.onosproject.ovsdb.rfc.utils.ConditionUtil; -import org.onosproject.ovsdb.rfc.utils.FromJsonUtil; -import org.onosproject.ovsdb.rfc.utils.JsonRpcWriterUtil; -import org.onosproject.ovsdb.rfc.utils.MutationUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.net.InetSocketAddress; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.atomic.AtomicReference; -import java.util.stream.Collectors; - -/** - * An representation of an ovsdb client. - */ -public class DefaultOvsdbClient - implements OvsdbProviderService, OvsdbClientService { - - private final Logger log = LoggerFactory - .getLogger(DefaultOvsdbClient.class); - - private Channel channel; - - private OvsdbAgent agent; - private boolean connected; - private OvsdbNodeId nodeId; - private Callback monitorCallBack; - - private OvsdbStore ovsdbStore = new OvsdbStore(); - - private final Map<String, String> requestMethod = Maps.newHashMap(); - private final Map<String, SettableFuture<? extends Object>> requestResult = Maps - .newHashMap(); - - private final Map<String, DatabaseSchema> schema = Maps.newHashMap(); - private final Set<OvsdbTunnel> ovsdbTunnels = new HashSet<OvsdbTunnel>(); - - /** - * Creates an OvsdbClient. - * - * @param nodeId ovsdb node id - */ - public DefaultOvsdbClient(OvsdbNodeId nodeId) { - this.nodeId = nodeId; - } - - @Override - public OvsdbNodeId nodeId() { - return nodeId; - } - - @Override - public void setAgent(OvsdbAgent agent) { - if (this.agent == null) { - this.agent = agent; - } - } - - @Override - public void setChannel(Channel channel) { - this.channel = channel; - } - - @Override - public void setConnection(boolean connected) { - this.connected = connected; - } - - @Override - public boolean isConnected() { - return this.connected; - } - - @Override - public void nodeAdded() { - this.agent.addConnectedNode(nodeId, this); - } - - @Override - public void nodeRemoved() { - this.agent.removeConnectedNode(nodeId); - channel.disconnect(); - } - - /** - * Gets the ovsdb table store. - * - * @param dbName the ovsdb database name - * @return ovsTableStore, empty if table store is find - */ - private OvsdbTableStore getTableStore(String dbName) { - if (ovsdbStore == null) { - return null; - } - return ovsdbStore.getOvsdbTableStore(dbName); - } - - /** - * Gets the ovsdb row store. - * - * @param dbName the ovsdb database name - * @param tableName the ovsdb table name - * @return ovsRowStore, empty store if no rows exist in the table - */ - private OvsdbRowStore getRowStore(String dbName, String tableName) { - OvsdbTableStore tableStore = getTableStore(dbName); - if (tableStore == null) { - return null; - } - - OvsdbRowStore rowStore = tableStore.getRows(tableName); - if (rowStore == null) { - rowStore = new OvsdbRowStore(); - } - return rowStore; - } - - /** - * 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 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); - } - - @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 String getPortUuid(String portName, String bridgeUuid) { - DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME); - - Row bridgeRow = getRow(OvsdbConstant.DATABASENAME, - OvsdbConstant.BRIDGE, bridgeUuid); - - Bridge bridge = (Bridge) TableGenerator.getTable(dbSchema, bridgeRow, - OvsdbTable.BRIDGE); - if (bridge != null) { - OvsdbSet setPorts = (OvsdbSet) bridge.getPortsColumn().data(); - @SuppressWarnings("unchecked") - Set<UUID> ports = setPorts.set(); - if (ports == null || ports.size() == 0) { - log.warn("The port uuid is null"); - return null; - } - - for (UUID uuid : ports) { - Row portRow = getRow(OvsdbConstant.DATABASENAME, - OvsdbConstant.PORT, uuid.value()); - Port port = (Port) TableGenerator.getTable(dbSchema, portRow, - OvsdbTable.PORT); - if (port != null && portName.equalsIgnoreCase(port.getName())) { - return uuid.value(); - } - } - - } - return null; - } - - @Override - public String getInterfaceUuid(String portUuid, String portName) { - DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME); - - Row portRow = getRow(OvsdbConstant.DATABASENAME, OvsdbConstant.PORT, - portUuid); - Port port = (Port) TableGenerator.getTable(dbSchema, portRow, - OvsdbTable.PORT); - - if (port != null) { - OvsdbSet setInterfaces = (OvsdbSet) port.getInterfacesColumn().data(); - @SuppressWarnings("unchecked") - Set<UUID> interfaces = setInterfaces.set(); - - if (interfaces == null || interfaces.size() == 0) { - log.warn("The interface uuid is null"); - return null; - } - - for (UUID uuid : interfaces) { - Row intfRow = getRow(OvsdbConstant.DATABASENAME, - OvsdbConstant.INTERFACE, uuid.value()); - Interface intf = (Interface) TableGenerator - .getTable(dbSchema, intfRow, OvsdbTable.INTERFACE); - if (intf != null && portName.equalsIgnoreCase(intf.getName())) { - return uuid.value(); - } - } - - } - - return null; - } - - @Override - public String getBridgeUuid(String bridgeName) { - DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME); - - OvsdbRowStore rowStore = getRowStore(OvsdbConstant.DATABASENAME, - OvsdbConstant.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; - } - - @Override - public String getControllerUuid(String controllerName, - String controllerTarget) { - DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME); - OvsdbRowStore rowStore = getRowStore(OvsdbConstant.DATABASENAME, - OvsdbConstant.CONTROLLER); - if (rowStore == null) { - log.debug("The controller uuid is null"); - return null; - } - - ConcurrentMap<String, Row> controllerTableRows = rowStore.getRowStore(); - if (controllerTableRows != null) { - for (String uuid : controllerTableRows.keySet()) { - - Controller controller = (Controller) TableGenerator - .getTable(dbSchema, controllerTableRows.get(uuid), - OvsdbTable.CONTROLLER); - String target = (String) controller.getTargetColumn().data(); - if (target.equalsIgnoreCase(controllerTarget)) { - return uuid; - } - - } - } - return null; - } - - @Override - public String getOvsUuid(String dbName) { - OvsdbRowStore rowStore = getRowStore(OvsdbConstant.DATABASENAME, - OvsdbConstant.DATABASENAME); - if (rowStore == null) { - log.debug("The bridge uuid is null"); - return null; - } - ConcurrentMap<String, Row> ovsTableRows = rowStore.getRowStore(); - if (ovsTableRows != null) { - for (String uuid : ovsTableRows.keySet()) { - Row row = ovsTableRows.get(uuid); - String tableName = row.tableName(); - if (tableName.equals(dbName)) { - return uuid; - } - } - } - return null; - } - - @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; - } - - @Override - public void dropPort(String bridgeName, String portName) { - String bridgeUuid = getBridgeUuid(bridgeName); - if (bridgeUuid == null) { - log.error("Could not find Bridge {} in {}", bridgeName, nodeId); - return; - } - - String portUuid = getPortUuid(portName, bridgeUuid); - if (portUuid != null) { - log.info("Port {} delete", portName); - deleteConfig(OvsdbConstant.PORT, "_uuid", portUuid, - OvsdbConstant.BRIDGE, "ports"); - } - } - - @Override - public void createBridge(String bridgeName) { - log.debug("create bridge {}", bridgeName); - - DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME); - if (dbSchema == null) { - log.warn("The schema is null"); - return; - } - - Bridge bridge = (Bridge) TableGenerator.createTable(dbSchema, - OvsdbTable.BRIDGE); - if (bridge == null) { - log.debug("Can not create bridge"); - return; - } - - Set<String> failModes = new HashSet<>(); - failModes.add("secure"); - bridge.setFailMode(failModes); - - Set<String> protocols = new HashSet<>(); - protocols.add(OvsdbConstant.OPENFLOW13); - bridge.setProtocols(protocols); - - String ovsUuid = getOvsUuid(OvsdbConstant.DATABASENAME); - if (ovsUuid == null) { - log.warn("The Open_vSwitch is null"); - return; - } - - String bridgeUuid = getBridgeUuid(bridgeName); - if (bridgeUuid == null) { - log.debug("Create a new bridge"); - - bridge.setName(bridgeName); - bridgeUuid = insertConfig(OvsdbConstant.BRIDGE, "_uuid", - OvsdbConstant.DATABASENAME, "bridges", - ovsUuid, bridge.getRow()); - - if (bridgeUuid != null) { - Port port = (Port) TableGenerator.createTable(dbSchema, - OvsdbTable.PORT); - if (port != null) { - log.debug("the port is not null"); - port.setName(bridgeName); - - insertConfig(OvsdbConstant.PORT, "_uuid", "Bridge", "ports", bridgeUuid, - port.getRow()); - } - } else { - String message = BridgeCreateException.createMessage(ovsUuid); - throw new BridgeCreateException(message); - } - - } else { - log.info("Update a bridge"); - updateConfig(OvsdbConstant.BRIDGE, "_uuid", bridgeUuid, bridge.getRow()); - } - - setControllerAuto(bridgeUuid); - log.info("Create bridge success"); - } - - @Override - public void createBridge(String bridgeName, String dpid, String exPortName) { - log.debug("create bridge {}", bridgeName); - - DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME); - if (dbSchema == null) { - log.warn("The schema is null"); - return; - } - - Bridge bridge = (Bridge) TableGenerator.createTable(dbSchema, - OvsdbTable.BRIDGE); - if (bridge == null) { - log.debug("Can not create bridge"); - return; - } - - Set<String> failModes = new HashSet<>(); - failModes.add("secure"); - bridge.setFailMode(failModes); - - Set<String> protocols = new HashSet<>(); - protocols.add(OvsdbConstant.OPENFLOW13); - bridge.setProtocols(protocols); - - String ovsUuid = getOvsUuid(OvsdbConstant.DATABASENAME); - if (ovsUuid == null) { - log.warn("The Open_vSwitch is null"); - return; - } - - String bridgeUuid = getBridgeUuid(bridgeName); - if (bridgeUuid == null) { - log.debug("Create a new bridge"); - - bridge.setName(bridgeName); - if (dpid != null) { - Map<String, String> options = new HashMap<>(); - options.put("datapath-id", dpid); - bridge.setOtherConfig(options); - } - bridgeUuid = insertConfig(OvsdbConstant.BRIDGE, "_uuid", - OvsdbConstant.DATABASENAME, "bridges", - ovsUuid, bridge.getRow()); - - if (bridgeUuid != null) { - Port port = (Port) TableGenerator.createTable(dbSchema, - OvsdbTable.PORT); - if (port != null) { - log.debug("the port is not null"); - port.setName(bridgeName); - - insertConfig(OvsdbConstant.PORT, "_uuid", "Bridge", "ports", bridgeUuid, - port.getRow()); - } - } else { - String message = BridgeCreateException.createMessage(ovsUuid); - throw new BridgeCreateException(message); - } - - } else { - log.info("Update a bridge"); - updateConfig(OvsdbConstant.BRIDGE, "_uuid", bridgeUuid, bridge.getRow()); - } - // Create external port - if (exPortName != null) { - createPort(bridgeName, exPortName); - } - - setControllerAuto(bridgeUuid); - log.info("Create bridge success"); - } - - @Override - public boolean createBridge(String bridgeName, String dpid, List<ControllerInfo> controllers) { - - DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME); - String ovsUuid = getOvsUuid(OvsdbConstant.DATABASENAME); - - if (dbSchema == null || ovsUuid == null) { - log.warn("Couldn't find database Open_vSwitch"); - return false; - } - - Bridge bridge = (Bridge) TableGenerator.createTable(dbSchema, OvsdbTable.BRIDGE); - Set<String> failMode = new HashSet<>(Arrays.asList("secure")); - bridge.setFailMode(failMode); - - Set<String> protocols = new HashSet<>(Arrays.asList(OvsdbConstant.OPENFLOW13)); - bridge.setProtocols(protocols); - - Map<String, String> options = new HashMap<>(); - options.put("datapath-id", dpid); - bridge.setOtherConfig(options); - - String bridgeUuid = getBridgeUuid(bridgeName); - if (bridgeUuid == null) { - bridge.setName(bridgeName); - bridgeUuid = insertConfig(OvsdbConstant.BRIDGE, "_uuid", - OvsdbConstant.DATABASENAME, "bridges", - ovsUuid, bridge.getRow()); - } else { - updateConfig(OvsdbConstant.BRIDGE, "_uuid", bridgeUuid, bridge.getRow()); - } - - if (bridgeUuid != null) { - createPort(bridgeName, bridgeName); - } else { - log.warn("Failed to create bridge {} on {}", bridgeName, nodeId.toString()); - return false; - } - - setControllersWithUUID(UUID.uuid(bridgeUuid), controllers); - return true; - } - - /** - * Sets the bridge's controller automatically. - * <p/> - * The connection is a TCP connection to the local ONOS instance's IP - * and the default OpenFlow port. - * - * @param bridgeUuid bridge uuid - */ - private void setControllerAuto(String bridgeUuid) { - IpAddress ipAddress = IpAddress.valueOf(((InetSocketAddress) channel.localAddress()).getAddress()); - ControllerInfo controllerInfo = new ControllerInfo(ipAddress, OvsdbConstant.OFPORT, "tcp"); - log.debug("Automatically setting controller for bridge {} to {}", - bridgeUuid, controllerInfo.target()); - setControllersWithUUID(UUID.uuid(bridgeUuid), ImmutableList.of(controllerInfo)); - } - - @Override - public void setControllersWithUUID(UUID bridgeUuid, List<ControllerInfo> controllers) { - - DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME); - if (dbSchema == null) { - log.debug("There is no schema"); - return; - } - List<Controller> oldControllers = getControllers(bridgeUuid); - if (oldControllers == null) { - log.warn("There are no controllers"); - return; - } - - Set<UUID> newControllerUuids = new HashSet<>(); - - Set<ControllerInfo> newControllers = new HashSet<>(controllers); - List<Controller> removeControllers = new ArrayList<>(); - oldControllers.forEach(controller -> { - ControllerInfo controllerInfo = new ControllerInfo((String) controller.getTargetColumn().data()); - if (newControllers.contains(controllerInfo)) { - newControllers.remove(controllerInfo); - newControllerUuids.add(controller.getRow().uuid()); - } else { - removeControllers.add(controller); - } - }); - OvsdbRowStore controllerRowStore = getRowStore(OvsdbConstant.DATABASENAME, - OvsdbConstant.CONTROLLER); - if (controllerRowStore == null) { - log.debug("There is no controller table"); - return; - } - - removeControllers.forEach(c -> deleteConfig(OvsdbConstant.CONTROLLER, "_uuid", c.getRow().uuid().value(), - OvsdbConstant.BRIDGE, "controller")); - - newControllers.stream().map(c -> { - Controller controller = (Controller) TableGenerator - .createTable(dbSchema, OvsdbTable.CONTROLLER); - controller.setTarget(c.target()); - return controller; - }).forEach(c -> { - String uuid = insertConfig(OvsdbConstant.CONTROLLER, "_uuid", - OvsdbConstant.BRIDGE, "controller", bridgeUuid.value(), - c.getRow()); - newControllerUuids.add(UUID.uuid(uuid)); - - }); - - OvsdbRowStore rowStore = getRowStore(OvsdbConstant.DATABASENAME, - OvsdbConstant.BRIDGE); - if (rowStore == null) { - log.debug("There is no bridge table"); - return; - } - - Row bridgeRow = rowStore.getRow(bridgeUuid.value()); - Bridge bridge = (Bridge) TableGenerator.getTable(dbSchema, bridgeRow, OvsdbTable.BRIDGE); - bridge.setController(OvsdbSet.ovsdbSet(newControllerUuids)); - updateConfig(OvsdbConstant.BRIDGE, "_uuid", bridgeUuid.value(), bridge.getRow()); - } - - @Override - public void setControllersWithDeviceId(DeviceId deviceId, List<ControllerInfo> controllers) { - setControllersWithUUID(getBridgeUUID(deviceId), controllers); - } - - @Override - public void dropBridge(String bridgeName) { - String bridgeUUID = getBridgeUuid(bridgeName); - if (bridgeUUID == null) { - log.warn("Could not find bridge in node", nodeId.getIpAddress()); - return; - } - deleteConfig(OvsdbConstant.BRIDGE, "_uuid", bridgeUUID, - OvsdbConstant.DATABASENAME, "bridges"); - } - - @Override - public void createTunnel(IpAddress srcIp, IpAddress dstIp) { - String bridgeUuid = getBridgeUuid(OvsdbConstant.INTEGRATION_BRIDGE); - if (bridgeUuid == null) { - log.warn("Could not find bridge {} and Could not create tunnel. ", - OvsdbConstant.INTEGRATION_BRIDGE); - return; - } - - DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME); - String portName = getTunnelName(OvsdbConstant.TYPEVXLAN, dstIp); - String portUuid = getPortUuid(portName, bridgeUuid); - - Port port = (Port) TableGenerator - .createTable(dbSchema, OvsdbTable.PORT); - if (port != null) { - port.setName(portName); - } - - if (portUuid == null) { - portUuid = insertConfig(OvsdbConstant.PORT, "_uuid", OvsdbConstant.BRIDGE, - "ports", bridgeUuid, port.getRow()); - } else { - updateConfig(OvsdbConstant.PORT, "_uuid", portUuid, port.getRow()); - } - - // When a tunnel is created, A row is inserted into port table and - // interface table of the ovsdb node. - // and the following step is to get the interface uuid from local store - // in controller node. - // but it need spend some time synchronising data between node and - // controller. - // so loop to judge if interfaceUUid is null is necessary. - String interfaceUuid = null; - for (int i = 0; i < 10; i++) { - interfaceUuid = getInterfaceUuid(portUuid, portName); - if (interfaceUuid == null) { - try { - Thread.sleep(500); - } catch (InterruptedException e) { - log.warn("Interrupted while waiting to get interfaceUuid"); - Thread.currentThread().interrupt(); - } - } else { - break; - } - } - - if (interfaceUuid != null) { - - Interface tunInterface = (Interface) TableGenerator - .createTable(dbSchema, OvsdbTable.INTERFACE); - - if (tunInterface != null) { - - tunInterface.setType(OvsdbConstant.TYPEVXLAN); - Map<String, String> options = Maps.newHashMap(); - options.put("key", "flow"); - options.put("local_ip", srcIp.toString()); - options.put("remote_ip", dstIp.toString()); - tunInterface.setOptions(options); - updateConfig(OvsdbConstant.INTERFACE, "_uuid", interfaceUuid, - tunInterface.getRow()); - log.info("Tunnel added success", tunInterface); - - } - } - - return; - } - - @Override - public boolean createTunnel(String bridgeName, String portName, String tunnelType, Map<String, String> options) { - - String bridgeUuid = getBridgeUuid(bridgeName); - if (bridgeUuid == null) { - log.warn("Couldn't find bridge {} in {}", bridgeName, nodeId.getIpAddress()); - return false; - } - - if (getPortUuid(portName, bridgeUuid) != null) { - log.warn("Port {} already exists", portName); - // remove existing one and re-create? - return false; - } - - ArrayList<Operation> operations = Lists.newArrayList(); - DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME); - - // insert a new port to the port table - Port port = (Port) TableGenerator.createTable(dbSchema, OvsdbTable.PORT); - port.setName(portName); - Insert portInsert = new Insert(dbSchema.getTableSchema("Port"), "Port", port.getRow()); - portInsert.getRow().put("interfaces", UUID.uuid("Interface")); - operations.add(portInsert); - - // update the bridge table - Condition condition = ConditionUtil.equals("_uuid", UUID.uuid(bridgeUuid)); - Mutation mutation = MutationUtil.insert("ports", UUID.uuid("Port")); - List<Condition> conditions = new ArrayList<>(Arrays.asList(condition)); - List<Mutation> mutations = new ArrayList<>(Arrays.asList(mutation)); - operations.add(new Mutate(dbSchema.getTableSchema("Bridge"), conditions, mutations)); - - // insert a tunnel interface - Interface intf = (Interface) TableGenerator.createTable(dbSchema, OvsdbTable.INTERFACE); - intf.setName(portName); - intf.setType(tunnelType); - intf.setOptions(options); - Insert intfInsert = new Insert(dbSchema.getTableSchema("Interface"), "Interface", intf.getRow()); - operations.add(intfInsert); - - transactConfig(OvsdbConstant.DATABASENAME, operations); - return true; - } - - @Override - public void dropTunnel(IpAddress srcIp, IpAddress dstIp) { - String bridgeName = OvsdbConstant.INTEGRATION_BRIDGE; - String portName = getTunnelName(OvsdbConstant.TYPEVXLAN, dstIp); - String bridgeUuid = getBridgeUuid(OvsdbConstant.INTEGRATION_BRIDGE); - if (bridgeUuid == null) { - log.warn("Could not find bridge {} in {}", bridgeName, - nodeId.getIpAddress()); - return; - } - - String portUUID = getPortUuid(portName, bridgeUuid); - if (portUUID != null) { - log.info("Delete tunnel"); - deleteConfig(OvsdbConstant.PORT, "_uuid", portUUID, - OvsdbConstant.BRIDGE, "ports"); - } - - return; - } - - /** - * Delete transact config. - * - * @param childTableName child table name - * @param childColumnName child column name - * @param childUuid child row uuid - * @param parentTableName parent table name - * @param parentColumnName parent column - */ - private void deleteConfig(String childTableName, String childColumnName, - String childUuid, String parentTableName, - String parentColumnName) { - DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME); - TableSchema childTableSchema = dbSchema.getTableSchema(childTableName); - - ArrayList<Operation> operations = Lists.newArrayList(); - if (parentTableName != null && parentColumnName != null) { - TableSchema parentTableSchema = dbSchema - .getTableSchema(parentTableName); - ColumnSchema parentColumnSchema = parentTableSchema - .getColumnSchema(parentColumnName); - List<Mutation> mutations = Lists.newArrayList(); - Mutation mutation = MutationUtil.delete(parentColumnSchema.name(), - UUID.uuid(childUuid)); - mutations.add(mutation); - List<Condition> conditions = Lists.newArrayList(); - Condition condition = ConditionUtil.includes(parentColumnName, - UUID.uuid(childUuid)); - conditions.add(condition); - Mutate op = new Mutate(parentTableSchema, conditions, mutations); - operations.add(op); - } - - List<Condition> conditions = Lists.newArrayList(); - Condition condition = ConditionUtil.equals(childColumnName, UUID.uuid(childUuid)); - conditions.add(condition); - Delete del = new Delete(childTableSchema, conditions); - operations.add(del); - transactConfig(OvsdbConstant.DATABASENAME, operations); - - return; - } - - /** - * 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.equals(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); - } - - /** - * Insert transact config. - * - * @param childTableName child table name - * @param childColumnName child column name - * @param parentTableName parent table name - * @param parentColumnName parent column - * @param parentUuid parent uuid - * @param row the config data - * @return uuid, empty if no uuid is find - */ - private String insertConfig(String childTableName, String childColumnName, - String parentTableName, String parentColumnName, - String parentUuid, Row row) { - DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME); - TableSchema tableSchema = dbSchema.getTableSchema(childTableName); - - String namedUuid = childTableName; - Insert insert = new Insert(tableSchema, namedUuid, row); - - ArrayList<Operation> operations = Lists.newArrayList(); - operations.add(insert); - - if (parentTableName != null && parentColumnName != null) { - TableSchema parentTableSchema = dbSchema - .getTableSchema(parentTableName); - ColumnSchema parentColumnSchema = parentTableSchema - .getColumnSchema(parentColumnName); - - List<Mutation> mutations = Lists.newArrayList(); - Mutation mutation = MutationUtil.insert(parentColumnSchema.name(), - UUID.uuid(namedUuid)); - mutations.add(mutation); - - List<Condition> conditions = Lists.newArrayList(); - Condition condition = ConditionUtil.equals("_uuid", - UUID.uuid(parentUuid)); - conditions.add(condition); - - Mutate op = new Mutate(parentTableSchema, conditions, mutations); - operations.add(op); - } - if (childTableName.equalsIgnoreCase(OvsdbConstant.PORT)) { - log.info("Handle port insert"); - Insert intfInsert = handlePortInsertTable(OvsdbConstant.INTERFACE, - row); - - if (intfInsert != null) { - operations.add(intfInsert); - } - - Insert ins = (Insert) operations.get(0); - ins.getRow().put("interfaces", - UUID.uuid(OvsdbConstant.INTERFACE)); - } - - List<OperationResult> results; - try { - results = transactConfig(OvsdbConstant.DATABASENAME, operations) - .get(); - - return results.get(0).getUuid().value(); - } catch (InterruptedException e) { - log.warn("Interrupted while waiting to get result"); - Thread.currentThread().interrupt(); - } catch (ExecutionException e) { - log.error("Exception thrown while to get result"); - } - - return null; - } - - /** - * 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; - } - - /** - * Gets tunnel name. - * - * @param tunnelType - * @param dstIp the remote ip address - * @return tunnel name - */ - private String getTunnelName(String tunnelType, IpAddress dstIp) { - return tunnelType + "-" + dstIp.toString(); - } - - @Override - public ListenableFuture<DatabaseSchema> getOvsdbSchema(String dbName) { - if (dbName == null) { - return null; - } - DatabaseSchema databaseSchema = schema.get(dbName); - if (databaseSchema == null) { - List<String> dbNames = new ArrayList<String>(); - dbNames.add(dbName); - Function<JsonNode, DatabaseSchema> rowFunction = new Function<JsonNode, DatabaseSchema>() { - @Override - public DatabaseSchema apply(JsonNode input) { - log.info("Get ovsdb database schema {}", dbName); - DatabaseSchema dbSchema = FromJsonUtil - .jsonNodeToDbSchema(dbName, input); - if (dbSchema == null) { - log.debug("Get ovsdb database schema error"); - return null; - } - schema.put(dbName, dbSchema); - - return dbSchema; - } - }; - - ListenableFuture<JsonNode> input = getSchema(dbNames); - if (input != null) { - return Futures.transform(input, rowFunction); - } - return null; - } else { - return Futures.immediateFuture(databaseSchema); - } - } - - @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; - } - - @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; - } - - @Override - public ListenableFuture<JsonNode> getSchema(List<String> dbnames) { - String id = java.util.UUID.randomUUID().toString(); - String getSchemaString = JsonRpcWriterUtil.getSchemaStr(id, dbnames); - - SettableFuture<JsonNode> sf = SettableFuture.create(); - requestResult.put(id, sf); - requestMethod.put(id, "getSchema"); - - channel.writeAndFlush(getSchemaString); - return sf; - - } - - @Override - public ListenableFuture<List<String>> echo() { - String id = java.util.UUID.randomUUID().toString(); - String echoString = JsonRpcWriterUtil.echoStr(id); - - SettableFuture<List<String>> sf = SettableFuture.create(); - requestResult.put(id, sf); - requestMethod.put(id, "echo"); - - channel.writeAndFlush(echoString); - return sf; - - } - - @Override - public ListenableFuture<JsonNode> monitor(DatabaseSchema dbSchema, - String monitorId) { - String id = java.util.UUID.randomUUID().toString(); - String monitorString = JsonRpcWriterUtil.monitorStr(id, monitorId, - dbSchema); - - SettableFuture<JsonNode> sf = SettableFuture.create(); - requestResult.put(id, sf); - requestMethod.put(id, "monitor"); - - channel.writeAndFlush(monitorString); - return sf; - - } - - @Override - public ListenableFuture<List<String>> listDbs() { - String id = java.util.UUID.randomUUID().toString(); - String listDbsString = JsonRpcWriterUtil.listDbsStr(id); - - SettableFuture<List<String>> sf = SettableFuture.create(); - requestResult.put(id, sf); - requestMethod.put(id, "listDbs"); - - channel.writeAndFlush(listDbsString); - return sf; - - } - - @Override - public ListenableFuture<List<JsonNode>> transact(DatabaseSchema dbSchema, - List<Operation> operations) { - String id = java.util.UUID.randomUUID().toString(); - String transactString = JsonRpcWriterUtil.transactStr(id, dbSchema, - operations); - - SettableFuture<List<JsonNode>> sf = SettableFuture.create(); - requestResult.put(id, sf); - requestMethod.put(id, "transact"); - - channel.writeAndFlush(transactString); - return sf; - - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - @Override - public void processResult(JsonNode response) { - log.debug("Handle result"); - String requestId = response.get("id").asText(); - SettableFuture sf = requestResult.get(requestId); - if (sf == null) { - log.debug("No such future to process"); - return; - } - String methodName = requestMethod.get(requestId); - - Object result; - result = FromJsonUtil.jsonResultParser(response, methodName); - - sf.set(result); - return; - } - - @Override - public void processRequest(JsonNode requestJson) { - log.debug("Handle request"); - if (requestJson.get("method").asText().equalsIgnoreCase("echo")) { - log.debug("handle echo request"); - - String replyString = FromJsonUtil.getEchoRequestStr(requestJson); - channel.writeAndFlush(replyString); - - return; - } else { - FromJsonUtil - .jsonCallbackRequestParser(requestJson, monitorCallBack); - return; - } - } - - @Override - public void setCallback(Callback monitorCallback) { - this.monitorCallBack = monitorCallback; - } - - @Override - public Set<OvsdbTunnel> getTunnels() { - return ovsdbTunnels; - } - - @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; - } - - @Override - public Set<ControllerInfo> getControllers(DeviceId openflowDeviceId) { - UUID bridgeUuid = getBridgeUUID(openflowDeviceId); - if (bridgeUuid == null) { - log.warn("bad bridge Uuid"); - return null; - } - List<Controller> controllers = getControllers(bridgeUuid); - if (controllers == null) { - log.warn("bad list of controllers"); - return null; - } - return controllers.stream(). - map(controller -> new ControllerInfo( - (String) controller.getTargetColumn() - .data())).collect(Collectors.toSet()); - } - - private List<Controller> getControllers(UUID bridgeUuid) { - DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME); - if (dbSchema == null) { - return null; - } - OvsdbRowStore rowStore = getRowStore(OvsdbConstant.DATABASENAME, - OvsdbConstant.BRIDGE); - if (rowStore == null) { - log.debug("There is no bridge table"); - return null; - } - - Row bridgeRow = rowStore.getRow(bridgeUuid.value()); - Bridge bridge = (Bridge) TableGenerator. - getTable(dbSchema, bridgeRow, OvsdbTable.BRIDGE); - - //FIXME remove log - log.warn("type of controller column", bridge.getControllerColumn() - .data().getClass()); - Set<UUID> controllerUuids = (Set<UUID>) ((OvsdbSet) bridge - .getControllerColumn().data()).set(); -// Set<String> controllerUuidStrings = (Set<String>) bridge.getControllerColumn().data(); - - OvsdbRowStore controllerRowStore = getRowStore(OvsdbConstant.DATABASENAME, - OvsdbConstant.CONTROLLER); - if (controllerRowStore == null) { - log.debug("There is no controller table"); - return null; - } - - List<Controller> ovsdbControllers = new ArrayList<>(); - ConcurrentMap<String, Row> controllerTableRows = controllerRowStore.getRowStore(); - controllerTableRows.forEach((key, row) -> { - if (!controllerUuids.contains(UUID.uuid(key))) { - return; - } - Controller controller = (Controller) TableGenerator - .getTable(dbSchema, row, OvsdbTable.CONTROLLER); - ovsdbControllers.add(controller); - }); - return ovsdbControllers; - } - - - private UUID getBridgeUUID(DeviceId openflowDeviceId) { - DatabaseSchema dbSchema = schema.get(OvsdbConstant.DATABASENAME); - if (dbSchema == null) { - return null; - } - OvsdbRowStore rowStore = getRowStore(OvsdbConstant.DATABASENAME, - OvsdbConstant.BRIDGE); - if (rowStore == null) { - log.debug("There is no bridge table"); - return null; - } - - ConcurrentMap<String, Row> bridgeTableRows = rowStore.getRowStore(); - final AtomicReference<UUID> uuid = new AtomicReference<>(); - for (Map.Entry<String, Row> entry : bridgeTableRows.entrySet()) { - Bridge b = (Bridge) TableGenerator.getTable(dbSchema, - entry.getValue(), - OvsdbTable.BRIDGE); - if (matchesDpid(b, openflowDeviceId)) { - uuid.set(UUID.uuid(entry.getKey())); - break; - } - } - if (uuid.get() == null) { - log.debug("There is no bridge for {}", openflowDeviceId); - } - return uuid.get(); - - } - - private static boolean matchesDpid(Bridge b, DeviceId deviceId) { - String ofDpid = deviceId.toString().replace("of:", ""); - Set ofDeviceIds = ((OvsdbSet) b.getDatapathIdColumn().data()).set(); - //TODO Set<String> - return ofDeviceIds.contains(ofDpid); - } - - @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 DatabaseSchema getDatabaseSchema(String dbName) { - return schema.get(dbName); - } - - //Gets ovsdb port. - 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; - } - - ////Gets ovsdb bridge. - 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; - } - - //Gets ofPort in the interface. - private long getOfPort(Interface intf) { - OvsdbSet ofPortSet = (OvsdbSet) intf.getOpenFlowPortColumn().data(); - @SuppressWarnings("unchecked") - Set<Integer> ofPorts = ofPortSet.set(); - while (ofPorts == null || ofPorts.size() <= 0) { - log.debug("The ofport is null in {}", intf.getName()); - return -1; - } - // return (long) ofPorts.toArray()[0]; - Iterator<Integer> it = ofPorts.iterator(); - return Long.parseLong(it.next().toString()); - } - - @Override - public Set<OvsdbPort> getLocalPorts(Iterable<String> ifaceids) { - 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); - DatabaseSchema dbSchema = getDatabaseSchema(OvsdbConstant.DATABASENAME); - Interface intf = (Interface) TableGenerator - .getTable(dbSchema, row, OvsdbTable.INTERFACE); - if (intf == null || getIfaceid(intf) == null) { - continue; - } - String portName = intf.getName(); - Set<String> ifaceidSet = Sets.newHashSet(ifaceids); - if (portName.startsWith("vxlan") - || !ifaceidSet.contains(getIfaceid(intf))) { - continue; - } - long ofPort = getOfPort(intf); - if ((ofPort < 0) || (portName == null)) { - continue; - } - - OvsdbPort ovsdbPort = new OvsdbPort(new OvsdbPortNumber(ofPort), - new OvsdbPortName(portName)); - if (ovsdbPort != null) { - ovsdbPorts.add(ovsdbPort); - } - } - return ovsdbPorts; - } - - private String getIfaceid(Interface intf) { - OvsdbMap ovsdbMap = (OvsdbMap) intf.getExternalIdsColumn().data(); - @SuppressWarnings("unchecked") - Map<String, String> externalIds = ovsdbMap.map(); - if (externalIds.isEmpty()) { - log.warn("The external_ids is null"); - return null; - } - String ifaceid = externalIds - .get(OvsdbConstant.EXTERNAL_ID_INTERFACE_ID); - if (ifaceid == null) { - log.warn("The ifaceid is null"); - return null; - } - return ifaceid; - } - - @Override - public void disconnect() { - channel.disconnect(); - this.agent.removeConnectedNode(nodeId); - } -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/OvsdbAgent.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/OvsdbAgent.java deleted file mode 100644 index 70ffae8b..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/OvsdbAgent.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller.driver; - -import org.onosproject.ovsdb.controller.OvsdbNodeId; -import org.onosproject.ovsdb.controller.OvsdbClientService; - -/** - * Responsible for keeping track of the current set of nodes connected to the - * system. - */ -public interface OvsdbAgent { - /** - * Add a node that has just connected to the system. - * - * @param nodeId the nodeId to add - * @param ovsdbClient the actual node object. - */ - void addConnectedNode(OvsdbNodeId nodeId, OvsdbClientService ovsdbClient); - - /** - * Clear all state in controller node maps for a node that has disconnected - * from the local controller. Also release control for that node from the - * global repository. Notify node listeners. - * - * @param nodeId the node id to be removed. - */ - void removeConnectedNode(OvsdbNodeId nodeId); -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/OvsdbProviderService.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/OvsdbProviderService.java deleted file mode 100644 index 48f58d02..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/OvsdbProviderService.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller.driver; - -import io.netty.channel.Channel; - -import org.onosproject.ovsdb.rfc.jsonrpc.Callback; - -import com.fasterxml.jackson.databind.JsonNode; - -/** - * Represents the driver side of an ovsdb node. This interface should never be - * exposed to consumers. - */ -public interface OvsdbProviderService { - /** - * Sets the ovsdb agent to be used. This method can only be called once. - * - * @param agent the agent to set. - */ - void setAgent(OvsdbAgent agent); - - /** - * Sets the associated Netty channel for this node. - * - * @param channel the Netty channel - */ - void setChannel(Channel channel); - - /** - * Announces to the ovsdb agent that this node has added. - */ - void nodeAdded(); - - /** - * Announces to the ovsdb agent that this node has removed. - */ - void nodeRemoved(); - - /** - * Sets whether the node is connected. - * - * @param connected whether the node is connected - */ - void setConnection(boolean connected); - - /** - * Processes result from ovsdb. - * - * @param response JsonNode response from ovsdb - */ - void processResult(JsonNode response); - - /** - * processes request from ovsdb. - * - * @param request JsonNode request from ovsdb - */ - void processRequest(JsonNode request); - - /** - * Sets call back. - * - * @param monitorCallback the callback to set - */ - void setCallback(Callback monitorCallback); - -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/package-info.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/package-info.java deleted file mode 100644 index b14afdfb..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/driver/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Ovsdb controller node driver API. - */ -package org.onosproject.ovsdb.controller.driver;
\ No newline at end of file diff --git a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/package-info.java b/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/package-info.java deleted file mode 100644 index d6fb434c..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Ovsdb controller API. - */ -package org.onosproject.ovsdb.controller;
\ No newline at end of file diff --git a/framework/src/onos/protocols/ovsdb/api/src/test/java/org/onosproject/ovsdb/controller/driver/OvsdbClientServiceAdapter.java b/framework/src/onos/protocols/ovsdb/api/src/test/java/org/onosproject/ovsdb/controller/driver/OvsdbClientServiceAdapter.java deleted file mode 100644 index 5d80a7bf..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/test/java/org/onosproject/ovsdb/controller/driver/OvsdbClientServiceAdapter.java +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onosproject.ovsdb.controller.driver; - -import com.fasterxml.jackson.databind.JsonNode; -import com.google.common.util.concurrent.ListenableFuture; - -import org.onlab.packet.IpAddress; -import org.onosproject.net.DeviceId; -import org.onosproject.net.behaviour.ControllerInfo; -import org.onosproject.ovsdb.controller.OvsdbBridge; -import org.onosproject.ovsdb.controller.OvsdbClientService; -import org.onosproject.ovsdb.controller.OvsdbNodeId; -import org.onosproject.ovsdb.controller.OvsdbPort; -import org.onosproject.ovsdb.controller.OvsdbTunnel; -import org.onosproject.ovsdb.rfc.message.OperationResult; -import org.onosproject.ovsdb.rfc.message.TableUpdates; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; -import org.onosproject.ovsdb.rfc.operations.Operation; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; - -import java.util.List; -import java.util.Map; -import java.util.Set; - -/** - * Test Adapter for OvsdbClientService. - */ -public class OvsdbClientServiceAdapter implements OvsdbClientService { - - @Override - public OvsdbNodeId nodeId() { - return null; - } - - @Override - public void createTunnel(IpAddress srcIp, IpAddress dstIp) { - - } - - @Override - public boolean createTunnel(String bridgeName, String portName, String tunnelType, Map<String, String> options) { - return true; - } - - @Override - public void dropTunnel(IpAddress srcIp, IpAddress dstIp) { - - } - - @Override - public Set<OvsdbTunnel> getTunnels() { - return null; - } - - @Override - public void createBridge(String bridgeName) { - - } - - @Override - public boolean createBridge(String bridgeName, String dpid, List<ControllerInfo> controllers) { - return true; - } - - @Override - public void dropBridge(String bridgeName) { - - } - - @Override - public Set<OvsdbBridge> getBridges() { - return null; - } - - @Override - public Set<ControllerInfo> getControllers(DeviceId openflowDeviceId) { - return null; - } - - @Override - public void setControllersWithUUID(UUID bridgeUuid, List<ControllerInfo> controllers) { - - } - - @Override - public void setControllersWithDeviceId(DeviceId deviceId, List<ControllerInfo> controllers) { - - } - - @Override - public void createPort(String bridgeName, String portName) { - - } - - @Override - public void dropPort(String bridgeName, String portName) { - - } - - @Override - public Set<OvsdbPort> getPorts() { - return null; - } - - @Override - public boolean isConnected() { - return false; - } - - @Override - public String getBridgeUuid(String bridgeName) { - return null; - } - - @Override - public String getPortUuid(String portName, String bridgeUuid) { - return null; - } - - @Override - public String getInterfaceUuid(String portUuid, String portName) { - return null; - } - - @Override - public String getControllerUuid(String controllerName, String controllerTarget) { - return null; - } - - @Override - public String getOvsUuid(String dbName) { - return null; - } - - @Override - public ListenableFuture<DatabaseSchema> getOvsdbSchema(String dbName) { - return null; - } - - @Override - public ListenableFuture<TableUpdates> monitorTables(String dbName, String id) { - return null; - } - - @Override - public ListenableFuture<List<OperationResult>> transactConfig(String dbName, List<Operation> operations) { - return null; - } - - @Override - public DatabaseSchema getDatabaseSchema(String dbName) { - return null; - } - - @Override - public Row getRow(String dbName, String tableName, String uuid) { - return null; - } - - @Override - public void removeRow(String dbName, String tableName, String uuid) { - - } - - @Override - public void updateOvsdbStore(String dbName, String tableName, String uuid, Row row) { - - } - - @Override - public Set<OvsdbPort> getLocalPorts(Iterable<String> ifaceids) { - return null; - } - - @Override - public void disconnect() { - - } - - @Override - public ListenableFuture<JsonNode> getSchema(List<String> dbnames) { - return null; - } - - @Override - public ListenableFuture<List<String>> echo() { - return null; - } - - @Override - public ListenableFuture<JsonNode> monitor(DatabaseSchema dbSchema, String monitorId) { - return null; - } - - @Override - public ListenableFuture<List<String>> listDbs() { - return null; - } - - @Override - public ListenableFuture<List<JsonNode>> transact(DatabaseSchema dbSchema, List<Operation> operations) { - return null; - } - - @Override - public void createBridge(String bridgeName, String dpid, String exPortName) { - - } -} diff --git a/framework/src/onos/protocols/ovsdb/api/src/test/java/org/onosproject/ovsdb/controller/driver/OvsdbControllerAdapter.java b/framework/src/onos/protocols/ovsdb/api/src/test/java/org/onosproject/ovsdb/controller/driver/OvsdbControllerAdapter.java deleted file mode 100644 index 902113aa..00000000 --- a/framework/src/onos/protocols/ovsdb/api/src/test/java/org/onosproject/ovsdb/controller/driver/OvsdbControllerAdapter.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onosproject.ovsdb.controller.driver; - -import org.onlab.packet.IpAddress; -import org.onlab.packet.TpPort; -import org.onosproject.ovsdb.controller.OvsdbClientService; -import org.onosproject.ovsdb.controller.OvsdbController; -import org.onosproject.ovsdb.controller.OvsdbEventListener; -import org.onosproject.ovsdb.controller.OvsdbNodeId; -import org.onosproject.ovsdb.controller.OvsdbNodeListener; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.concurrent.ConcurrentHashMap; - -/** - * Test Adapter for OvsdbController. - */ -public class OvsdbControllerAdapter implements OvsdbController { - protected ConcurrentHashMap<OvsdbNodeId, OvsdbClientServiceAdapter> ovsdbClients = - new ConcurrentHashMap<OvsdbNodeId, OvsdbClientServiceAdapter>(); - - @Override - public void addNodeListener(OvsdbNodeListener listener) { - - } - - @Override - public void removeNodeListener(OvsdbNodeListener listener) { - - } - - @Override - public void addOvsdbEventListener(OvsdbEventListener listener) { - - } - - @Override - public void removeOvsdbEventListener(OvsdbEventListener listener) { - - } - - @Override - public List<OvsdbNodeId> getNodeIds() { - long port = 6653; - return new ArrayList<OvsdbNodeId>(Arrays.asList( - new OvsdbNodeId(IpAddress.valueOf("127.0.0.1"), port))); - } - - @Override - public OvsdbClientService getOvsdbClient(OvsdbNodeId nodeId) { - return ovsdbClients.get(nodeId); - } - - @Override - public void connect(IpAddress ip, TpPort port) { - - } -} diff --git a/framework/src/onos/protocols/ovsdb/ctl/pom.xml b/framework/src/onos/protocols/ovsdb/ctl/pom.xml deleted file mode 100644 index c9cfb9dc..00000000 --- a/framework/src/onos/protocols/ovsdb/ctl/pom.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Copyright 2015 Open Networking Laboratory - ~ - ~ Licensed under the Apache License, Version 2.0 (the "License"); - ~ you may not use this file except in compliance with the License. - ~ You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.onosproject</groupId> - <artifactId>onos-ovsdb</artifactId> - <version>1.4.0-rc1</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>onos-ovsdb-ctl</artifactId> - <packaging>bundle</packaging> - - <dependencies> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.scr.annotations</artifactId> - </dependency> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.compendium</artifactId> - </dependency> - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-ovsdb-api</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.onosproject</groupId> - <artifactId>onos-ovsdb-rfc</artifactId> - <version>${project.version}</version> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-scr-plugin</artifactId> - </plugin> - </plugins> - </build> -</project> diff --git a/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/ChannelConnectionListener.java b/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/ChannelConnectionListener.java deleted file mode 100644 index f17c25f7..00000000 --- a/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/ChannelConnectionListener.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller.impl; - -import io.netty.channel.ChannelFuture; -import io.netty.channel.ChannelFutureListener; - -import org.onosproject.ovsdb.controller.driver.OvsdbProviderService; - -/** - * The listener class. Handles when the node disconnect. - */ -public class ChannelConnectionListener implements ChannelFutureListener { - - private final OvsdbProviderService providerService; - - /** - * Constructor from a OvsdbProviderService providerService. - * - * @param providerService the providerService to use - */ - public ChannelConnectionListener(OvsdbProviderService providerService) { - this.providerService = providerService; - } - - @Override - public void operationComplete(ChannelFuture arg0) { - providerService.nodeRemoved(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/Controller.java b/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/Controller.java deleted file mode 100644 index fcbbff8e..00000000 --- a/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/Controller.java +++ /dev/null @@ -1,299 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller.impl; - -import io.netty.bootstrap.Bootstrap; -import io.netty.bootstrap.ServerBootstrap; -import io.netty.buffer.PooledByteBufAllocator; -import io.netty.channel.Channel; -import io.netty.channel.ChannelDuplexHandler; -import io.netty.channel.ChannelFuture; -import io.netty.channel.ChannelFutureListener; -import io.netty.channel.ChannelHandlerContext; -import io.netty.channel.ChannelInitializer; -import io.netty.channel.ChannelOption; -import io.netty.channel.ChannelPipeline; -import io.netty.channel.EventLoop; -import io.netty.channel.EventLoopGroup; -import io.netty.channel.ServerChannel; -import io.netty.channel.nio.NioEventLoopGroup; -import io.netty.channel.socket.SocketChannel; -import io.netty.channel.socket.nio.NioServerSocketChannel; -import io.netty.channel.socket.nio.NioSocketChannel; -import io.netty.handler.codec.string.StringEncoder; -import io.netty.handler.timeout.IdleState; -import io.netty.handler.timeout.IdleStateEvent; -import io.netty.handler.timeout.IdleStateHandler; -import io.netty.util.CharsetUtil; - -import java.net.InetSocketAddress; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicInteger; - -import org.onlab.packet.IpAddress; -import org.onlab.packet.TpPort; -import org.onosproject.ovsdb.controller.OvsdbConstant; -import org.onosproject.ovsdb.controller.OvsdbNodeId; -import org.onosproject.ovsdb.controller.driver.DefaultOvsdbClient; -import org.onosproject.ovsdb.controller.driver.OvsdbAgent; -import org.onosproject.ovsdb.controller.driver.OvsdbProviderService; -import org.onosproject.ovsdb.rfc.jsonrpc.Callback; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The main controller class. Handles all setup and network listeners - - * distributed OVSDBClient. - */ -public class Controller { - protected static final Logger log = LoggerFactory - .getLogger(Controller.class); - - private int ovsdbPort = OvsdbConstant.OVSDBPORT; - - private OvsdbAgent agent; - private Callback monitorCallback; - - private final ExecutorService executorService = Executors - .newFixedThreadPool(10); - - private EventLoopGroup bossGroup; - private EventLoopGroup workerGroup; - private Class<? extends ServerChannel> serverChannelClass; - - private static final int MAX_RETRY = 5; - private static final int IDLE_TIMEOUT_SEC = 10; - - /** - * Initialization. - */ - private void initEventLoopGroup() { - bossGroup = new NioEventLoopGroup(); - workerGroup = new NioEventLoopGroup(); - serverChannelClass = NioServerSocketChannel.class; - } - - /** - * Accepts incoming connections. - */ - private void startAcceptingConnections() throws InterruptedException { - ServerBootstrap b = new ServerBootstrap(); - - b.group(bossGroup, workerGroup).channel(serverChannelClass) - .childHandler(new OnosCommunicationChannelInitializer()); - b.option(ChannelOption.SO_BACKLOG, 128); - b.option(ChannelOption.WRITE_BUFFER_HIGH_WATER_MARK, 32 * 1024); - b.option(ChannelOption.WRITE_BUFFER_LOW_WATER_MARK, 8 * 1024); - b.option(ChannelOption.ALLOCATOR, PooledByteBufAllocator.DEFAULT); - b.childOption(ChannelOption.SO_KEEPALIVE, true); - b.bind(ovsdbPort).sync(); - } - - /** - * Tells controller that we're ready to accept OVSDB node loop. - * @throws InterruptedException if thread is interrupted - */ - public void run() throws InterruptedException { - initEventLoopGroup(); - startAcceptingConnections(); - } - - /** - * Adds channel pipeline to handle a new connected node. - */ - private class OnosCommunicationChannelInitializer - extends ChannelInitializer<SocketChannel> { - protected void initChannel(SocketChannel channel) throws Exception { - log.info("New channel created"); - channel.pipeline().addLast(new StringEncoder(CharsetUtil.UTF_8)); - channel.pipeline().addLast(new MessageDecoder()); - handleNewNodeConnection(channel); - - } - } - - /** - * Handles the new connection of node. - * - * @param channel the channel to use. - */ - private void handleNewNodeConnection(final Channel channel) { - executorService.execute(new Runnable() { - @Override - public void run() { - log.info("Handle new node connection"); - - IpAddress ipAddress = IpAddress - .valueOf(((InetSocketAddress) channel.remoteAddress()) - .getAddress().getHostAddress()); - long port = ((InetSocketAddress) channel.remoteAddress()) - .getPort(); - - log.info("Get connection from ip address {} : {}", - ipAddress.toString(), port); - - OvsdbNodeId nodeId = new OvsdbNodeId(ipAddress, port); - OvsdbProviderService ovsdbProviderService = getNodeInstance(nodeId, - agent, - monitorCallback, - channel); - ovsdbProviderService.setConnection(true); - OvsdbJsonRpcHandler ovsdbJsonRpcHandler = new OvsdbJsonRpcHandler( - nodeId); - ovsdbJsonRpcHandler - .setOvsdbProviderService(ovsdbProviderService); - channel.pipeline().addLast(ovsdbJsonRpcHandler); - - ovsdbProviderService.nodeAdded(); - ChannelFuture closeFuture = channel.closeFuture(); - closeFuture - .addListener(new ChannelConnectionListener( - ovsdbProviderService)); - } - }); - } - - /** - * Gets an OVSDB client instance. - * - * @param nodeId data OVSDB node id - * @param agent OvsdbAgent - * @param monitorCallback Callback - * @param channel Channel - * @return OvsdbProviderService instance - */ - protected OvsdbProviderService getNodeInstance(OvsdbNodeId nodeId, - OvsdbAgent agent, - Callback monitorCallback, - Channel channel) { - OvsdbProviderService ovsdbProviderService = new DefaultOvsdbClient( - nodeId); - ovsdbProviderService.setAgent(agent); - ovsdbProviderService.setCallback(monitorCallback); - ovsdbProviderService.setChannel(channel); - return ovsdbProviderService; - } - - /** - * Starts controller. - * - * @param agent OvsdbAgent - * @param monitorCallback Callback - */ - public void start(OvsdbAgent agent, Callback monitorCallback) { - this.agent = agent; - this.monitorCallback = monitorCallback; - try { - this.run(); - } catch (InterruptedException e) { - log.warn("Interrupted while waiting to start"); - Thread.currentThread().interrupt(); - } - } - - /** - * Stops controller. - * - */ - public void stop() { - workerGroup.shutdownGracefully(); - bossGroup.shutdownGracefully(); - } - - /** - * Connect to the ovsdb server with given ip address and port number. - * - * @param ip ip address - * @param port port number - */ - public void connect(IpAddress ip, TpPort port) { - ChannelFutureListener listener = new ConnectionListener(this, ip, port); - connectRetry(ip, port, listener); - } - - private void connectRetry(IpAddress ip, TpPort port, ChannelFutureListener listener) { - try { - Bootstrap b = new Bootstrap(); - b.group(workerGroup) - .channel(NioSocketChannel.class) - .option(ChannelOption.TCP_NODELAY, true) - .handler(new ChannelInitializer<SocketChannel>() { - - @Override - protected void initChannel(SocketChannel channel) throws Exception { - ChannelPipeline p = channel.pipeline(); - p.addLast(new MessageDecoder(), - new StringEncoder(CharsetUtil.UTF_8), - new IdleStateHandler(IDLE_TIMEOUT_SEC, 0, 0), - new ConnectionHandler()); - } - }); - b.remoteAddress(ip.toString(), port.toInt()); - b.connect().addListener(listener); - } catch (Exception e) { - log.warn("Connection to the ovsdb server {}:{} failed", ip.toString(), port.toString()); - } - } - - private class ConnectionListener implements ChannelFutureListener { - private Controller controller; - private IpAddress ip; - private TpPort port; - private AtomicInteger count = new AtomicInteger(); - - public ConnectionListener(Controller controller, - IpAddress ip, - TpPort port) { - this.controller = controller; - this.ip = ip; - this.port = port; - } - - @Override - public void operationComplete(ChannelFuture channelFuture) throws Exception { - if (!channelFuture.isSuccess()) { - channelFuture.channel().close(); - - if (count.incrementAndGet() < MAX_RETRY) { - final EventLoop loop = channelFuture.channel().eventLoop(); - - loop.schedule(() -> { - controller.connectRetry(this.ip, this.port, this); - }, 1L, TimeUnit.SECONDS); - } else { - log.info("Connection to the ovsdb {}:{} failed", - this.ip.toString(), this.port.toString()); - } - } else { - handleNewNodeConnection(channelFuture.channel()); - } - } - } - - private class ConnectionHandler extends ChannelDuplexHandler { - - @Override - public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception { - IdleStateEvent e = (IdleStateEvent) evt; - - if (e.state() == IdleState.READER_IDLE) { - ctx.close(); - } - } - } -} diff --git a/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/MessageDecoder.java b/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/MessageDecoder.java deleted file mode 100644 index e0e22753..00000000 --- a/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/MessageDecoder.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller.impl; - -import io.netty.buffer.ByteBuf; -import io.netty.channel.ChannelHandlerContext; -import io.netty.handler.codec.ByteToMessageDecoder; - -import java.util.List; - -import org.onosproject.ovsdb.rfc.jsonrpc.JsonReadContext; -import org.onosproject.ovsdb.rfc.utils.JsonRpcReaderUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Decoder for inbound messages. - */ -public class MessageDecoder extends ByteToMessageDecoder { - - private final Logger log = LoggerFactory.getLogger(MessageDecoder.class); - private final JsonReadContext context = new JsonReadContext(); - - /** - * Default constructor. - */ - public MessageDecoder() { - } - - @Override - protected void decode(ChannelHandlerContext ctx, ByteBuf buf, - List<Object> out) throws Exception { - log.debug("Message decoder"); - JsonRpcReaderUtil.readToJsonNode(buf, out, context); - } - - @Override - public void exceptionCaught(ChannelHandlerContext context, Throwable cause) { - log.error("Exception inside channel handling pipeline.", cause); - context.close(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/OvsdbControllerImpl.java b/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/OvsdbControllerImpl.java deleted file mode 100644 index c2cbbf8b..00000000 --- a/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/OvsdbControllerImpl.java +++ /dev/null @@ -1,418 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller.impl; - -import com.fasterxml.jackson.databind.JsonNode; -import com.google.common.collect.ImmutableList; -import org.apache.felix.scr.annotations.Activate; -import org.apache.felix.scr.annotations.Component; -import org.apache.felix.scr.annotations.Deactivate; -import org.apache.felix.scr.annotations.Service; -import org.onlab.packet.IpAddress; -import org.onlab.packet.MacAddress; -import org.onlab.packet.TpPort; -import org.onosproject.ovsdb.controller.DefaultEventSubject; -import org.onosproject.ovsdb.controller.EventSubject; -import org.onosproject.ovsdb.controller.OvsdbClientService; -import org.onosproject.ovsdb.controller.OvsdbConstant; -import org.onosproject.ovsdb.controller.OvsdbController; -import org.onosproject.ovsdb.controller.OvsdbDatapathId; -import org.onosproject.ovsdb.controller.OvsdbEvent; -import org.onosproject.ovsdb.controller.OvsdbEvent.Type; -import org.onosproject.ovsdb.controller.OvsdbEventListener; -import org.onosproject.ovsdb.controller.OvsdbIfaceId; -import org.onosproject.ovsdb.controller.OvsdbNodeId; -import org.onosproject.ovsdb.controller.OvsdbNodeListener; -import org.onosproject.ovsdb.controller.OvsdbPortName; -import org.onosproject.ovsdb.controller.OvsdbPortNumber; -import org.onosproject.ovsdb.controller.OvsdbPortType; -import org.onosproject.ovsdb.controller.driver.OvsdbAgent; -import org.onosproject.ovsdb.rfc.jsonrpc.Callback; -import org.onosproject.ovsdb.rfc.message.TableUpdate; -import org.onosproject.ovsdb.rfc.message.TableUpdates; -import org.onosproject.ovsdb.rfc.message.UpdateNotification; -import org.onosproject.ovsdb.rfc.notation.OvsdbMap; -import org.onosproject.ovsdb.rfc.notation.OvsdbSet; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.table.Bridge; -import org.onosproject.ovsdb.rfc.table.Interface; -import org.onosproject.ovsdb.rfc.table.OvsdbTable; -import org.onosproject.ovsdb.rfc.table.TableGenerator; -import org.onosproject.ovsdb.rfc.utils.FromJsonUtil; -import org.osgi.service.component.ComponentContext; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.math.BigInteger; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArraySet; -import java.util.concurrent.ExecutionException; - -import static com.google.common.base.Preconditions.checkNotNull; - -/** - * The implementation of OvsdbController. - */ -@Component(immediate = true) -@Service -public class OvsdbControllerImpl implements OvsdbController { - - public static final Logger log = LoggerFactory - .getLogger(OvsdbControllerImpl.class); - - protected ConcurrentHashMap<OvsdbNodeId, OvsdbClientService> ovsdbClients = - new ConcurrentHashMap<OvsdbNodeId, OvsdbClientService>(); - - protected OvsdbAgent agent = new InternalOvsdbNodeAgent(); - protected InternalMonitorCallBack updateCallback = new InternalMonitorCallBack(); - - protected Set<OvsdbNodeListener> ovsdbNodeListener = new CopyOnWriteArraySet<>(); - protected Set<OvsdbEventListener> ovsdbEventListener = new CopyOnWriteArraySet<>(); - - protected ConcurrentHashMap<String, OvsdbClientService> requestNotification = - new ConcurrentHashMap<String, OvsdbClientService>(); - - protected ConcurrentHashMap<String, String> requestDbName = new ConcurrentHashMap<String, String>(); - - private final Controller controller = new Controller(); - - @Activate - public void activate(ComponentContext context) { - controller.start(agent, updateCallback); - log.info("Started"); - } - - @Deactivate - public void deactivate() { - controller.stop(); - log.info("Stoped"); - } - - @Override - public void addNodeListener(OvsdbNodeListener listener) { - if (!ovsdbNodeListener.contains(listener)) { - this.ovsdbNodeListener.add(listener); - } - } - - @Override - public void removeNodeListener(OvsdbNodeListener listener) { - this.ovsdbNodeListener.remove(listener); - } - - @Override - public void addOvsdbEventListener(OvsdbEventListener listener) { - if (!ovsdbEventListener.contains(listener)) { - this.ovsdbEventListener.add(listener); - } - } - - @Override - public void removeOvsdbEventListener(OvsdbEventListener listener) { - this.ovsdbEventListener.remove(listener); - } - - @Override - public List<OvsdbNodeId> getNodeIds() { - return ImmutableList.copyOf(ovsdbClients.keySet()); - } - - @Override - public OvsdbClientService getOvsdbClient(OvsdbNodeId nodeId) { - return ovsdbClients.get(nodeId); - } - - @Override - public void connect(IpAddress ip, TpPort port) { - controller.connect(ip, port); - } - - /** - * Implementation of an Ovsdb Agent which is responsible for keeping track - * of connected node and the state in which they are. - */ - private class InternalOvsdbNodeAgent implements OvsdbAgent { - @Override - public void addConnectedNode(OvsdbNodeId nodeId, - OvsdbClientService ovsdbClient) { - - if (ovsdbClients.get(nodeId) != null) { - return; - } else { - ovsdbClients.put(nodeId, ovsdbClient); - - try { - List<String> dbNames = ovsdbClient.listDbs().get(); - for (String dbName : dbNames) { - DatabaseSchema dbSchema; - dbSchema = ovsdbClient.getOvsdbSchema(dbName).get(); - - log.debug("Begin to monitor tables"); - String id = java.util.UUID.randomUUID().toString(); - TableUpdates updates = ovsdbClient - .monitorTables(dbName, id).get(); - - requestDbName.put(id, dbName); - requestNotification.put(id, ovsdbClient); - - if (updates != null) { - processTableUpdates(ovsdbClient, updates, - dbSchema.name()); - } - } - } catch (InterruptedException e) { - log.warn("Interrupted while waiting to get message from ovsdb"); - Thread.currentThread().interrupt(); - } catch (ExecutionException e) { - log.error("Exception thrown while to get message from ovsdb"); - } - - log.debug("Add node to north"); - for (OvsdbNodeListener l : ovsdbNodeListener) { - l.nodeAdded(nodeId); - } - return; - } - } - - @Override - public void removeConnectedNode(OvsdbNodeId nodeId) { - ovsdbClients.remove(nodeId); - log.debug("Node connection is removed"); - for (OvsdbNodeListener l : ovsdbNodeListener) { - l.nodeRemoved(nodeId); - } - } - } - - /** - * Processes table updates. - * - * @param clientService OvsdbClientService instance - * @param updates TableUpdates instance - * @param dbName ovsdb database name - */ - private void processTableUpdates(OvsdbClientService clientService, - TableUpdates updates, String dbName) - throws InterruptedException { - checkNotNull(clientService, "OvsdbClientService is not null"); - - DatabaseSchema dbSchema = clientService.getDatabaseSchema(dbName); - - for (String tableName : updates.result().keySet()) { - TableUpdate update = updates.result().get(tableName); - for (UUID uuid : (Set<UUID>) update.rows().keySet()) { - log.debug("Begin to process table updates uuid: {}, databaseName: {}, tableName: {}", - uuid.value(), dbName, tableName); - - Row newRow = update.getNew(uuid); - if (newRow != null) { - clientService.updateOvsdbStore(dbName, tableName, - uuid.value(), newRow); - - if (OvsdbConstant.INTERFACE.equals(tableName)) { - dispatchInterfaceEvent(clientService, - newRow, - OvsdbEvent.Type.PORT_ADDED, - dbSchema); - } - } else if (update.getOld(uuid) != null) { - if (OvsdbConstant.INTERFACE.equals(tableName)) { - Row row = clientService.getRow(OvsdbConstant.DATABASENAME, tableName, uuid.value()); - dispatchInterfaceEvent(clientService, - row, - OvsdbEvent.Type.PORT_REMOVED, - dbSchema); - } - clientService.removeRow(dbName, tableName, uuid.value()); - } - } - } - } - - /** - * Dispatches event to the north. - * - * @param clientService OvsdbClientService instance - * @param newRow a new row - * @param oldRow an old row - * @param eventType type of event - * @param dbSchema ovsdb database schema - */ - private void dispatchInterfaceEvent(OvsdbClientService clientService, - Row row, - Type eventType, - DatabaseSchema dbSchema) { - - long dpid = getDataPathid(clientService, dbSchema); - Interface intf = (Interface) TableGenerator - .getTable(dbSchema, row, OvsdbTable.INTERFACE); - if (intf == null) { - return; - } - - String portType = (String) intf.getTypeColumn().data(); - long localPort = getOfPort(intf); - if (localPort < 0) { - return; - } - String[] macAndIfaceId = getMacAndIfaceid(intf); - if (macAndIfaceId == null) { - return; - } - - EventSubject eventSubject = new DefaultEventSubject(MacAddress.valueOf( - macAndIfaceId[0]), - new HashSet<IpAddress>(), - new OvsdbPortName(intf - .getName()), - new OvsdbPortNumber(localPort), - new OvsdbDatapathId(Long - .toString(dpid)), - new OvsdbPortType(portType), - new OvsdbIfaceId(macAndIfaceId[1])); - for (OvsdbEventListener listener : ovsdbEventListener) { - listener.handle(new OvsdbEvent<EventSubject>(eventType, - eventSubject)); - } - } - - /** - * Gets mac and iface from the table Interface. - * - * @param intf Interface instance - * @return attachedMac, ifaceid - */ - private String[] getMacAndIfaceid(Interface intf) { - OvsdbMap ovsdbMap = (OvsdbMap) intf.getExternalIdsColumn().data(); - @SuppressWarnings("unchecked") - Map<String, String> externalIds = ovsdbMap.map(); - if (externalIds == null) { - log.warn("The external_ids is null"); - return null; - } - - String attachedMac = externalIds.get(OvsdbConstant.EXTERNAL_ID_VM_MAC); - if (attachedMac == null) { - log.debug("The attachedMac is null"); //FIXME why always null? - return null; - } - String ifaceid = externalIds - .get(OvsdbConstant.EXTERNAL_ID_INTERFACE_ID); - if (ifaceid == null) { - log.warn("The ifaceid is null"); - return null; - } - return new String[]{attachedMac, ifaceid}; - } - - /** - * Gets ofPorts number from table Interface. - * - * @param intf Interface instance - * @return ofport the ofport number - */ - private long getOfPort(Interface intf) { - OvsdbSet ofPortSet = (OvsdbSet) intf.getOpenFlowPortColumn().data(); - @SuppressWarnings("unchecked") - Set<Integer> ofPorts = ofPortSet.set(); - while (ofPorts == null || ofPorts.size() <= 0) { - log.debug("The ofport is null in {}", intf.getName()); - return -1; - } - Iterator<Integer> it = ofPorts.iterator(); - return Long.parseLong(it.next().toString()); - } - - /** - * 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]); - } - - private long stringToLong(String values) { - long value = (new BigInteger(values.replaceAll(":", ""), 16)) - .longValue(); - return value; - } - - /** - * Implementation of an Callback which is responsible for receiving request - * infomation from ovsdb. - */ - private class InternalMonitorCallBack implements Callback { - @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(); - } - } - - @Override - public void locked(List<String> ids) { - // TODO Auto-generated method stub - } - - @Override - public void stolen(List<String> ids) { - // TODO Auto-generated method stub - } - - } - -} diff --git a/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/OvsdbJsonRpcHandler.java b/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/OvsdbJsonRpcHandler.java deleted file mode 100644 index 1956a1eb..00000000 --- a/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/OvsdbJsonRpcHandler.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.controller.impl; - -import io.netty.channel.ChannelHandlerContext; -import io.netty.channel.ChannelInboundHandlerAdapter; - -import org.onosproject.ovsdb.controller.OvsdbNodeId; -import org.onosproject.ovsdb.controller.driver.OvsdbProviderService; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.fasterxml.jackson.databind.JsonNode; -import com.google.common.base.Strings; - -/** - * Channel handler deals with the node connection and dispatches - * ovsdb messages to the appropriate locations. - */ -public final class OvsdbJsonRpcHandler extends ChannelInboundHandlerAdapter { - protected static final Logger log = LoggerFactory - .getLogger(OvsdbJsonRpcHandler.class); - private OvsdbNodeId ovsdbNodeId; - private OvsdbProviderService ovsdbProviderService; - - /** - * Constructor from a OvsdbNodeId ovsdbNodeId. - * - * @param ovsdbNodeId the ovsdbNodeId to use - */ - public OvsdbJsonRpcHandler(OvsdbNodeId ovsdbNodeId) { - super(); - this.ovsdbNodeId = ovsdbNodeId; - } - - /** - * Gets the ovsdbProviderService instance. - * - * @return the instance of the ovsdbProviderService - */ - public OvsdbProviderService getOvsdbProviderService() { - return ovsdbProviderService; - } - - /** - * Sets the ovsdbProviderService instance. - * - * @param ovsdbNodeDriver the ovsdbNodeDriver to use - */ - public void setOvsdbProviderService(OvsdbProviderService ovsdbNodeDriver) { - this.ovsdbProviderService = ovsdbNodeDriver; - } - - /** - * Gets the OvsdbNodeId instance. - * - * @return the instance of the OvsdbNodeId - */ - public OvsdbNodeId getNodeId() { - return ovsdbNodeId; - } - - /** - * Sets the ovsdb node id. - * - * @param ovsdbNodeId the ovsdbNodeId to use - */ - public void setNodeId(OvsdbNodeId ovsdbNodeId) { - this.ovsdbNodeId = ovsdbNodeId; - } - - /** - * Processes an JsonNode message received on the channel. - * - * @param jsonNode The OvsdbJsonRpcHandler that received the message - */ - private void processOvsdbMessage(JsonNode jsonNode) { - - log.debug("Handle ovsdb message"); - - if (jsonNode.has("result")) { - - log.debug("Handle ovsdb result"); - ovsdbProviderService.processResult(jsonNode); - - } else if (jsonNode.hasNonNull("method")) { - - log.debug("Handle ovsdb request"); - if (jsonNode.has("id") - && !Strings.isNullOrEmpty(jsonNode.get("id").asText())) { - ovsdbProviderService.processRequest(jsonNode); - } - - } - return; - } - - @Override - public void channelRead(ChannelHandlerContext ctx, Object msg) - throws Exception { - log.debug("Receive message from ovsdb"); - if (msg instanceof JsonNode) { - JsonNode jsonNode = (JsonNode) msg; - processOvsdbMessage(jsonNode); - } - } - - @Override - public void channelReadComplete(ChannelHandlerContext ctx) throws Exception { - ctx.flush(); - } - - @Override - public void exceptionCaught(ChannelHandlerContext context, Throwable cause) { - log.error("Exception inside channel handling pipeline.", cause); - context.close(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/package-info.java b/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/package-info.java deleted file mode 100644 index 379e947a..00000000 --- a/framework/src/onos/protocols/ovsdb/ctl/src/main/java/org/onosproject/ovsdb/controller/impl/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Implementation of the OVSDB controller IO subsystem. - */ -package org.onosproject.ovsdb.controller.impl;
\ No newline at end of file diff --git a/framework/src/onos/protocols/ovsdb/pom.xml b/framework/src/onos/protocols/ovsdb/pom.xml deleted file mode 100644 index 7a56d7fb..00000000 --- a/framework/src/onos/protocols/ovsdb/pom.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Copyright 2015 Open Networking Laboratory - ~ - ~ Licensed under the Apache License, Version 2.0 (the "License"); - ~ you may not use this file except in compliance with the License. - ~ You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.onosproject</groupId> - <artifactId>onos-protocols</artifactId> - <version>1.4.0-rc1</version> - <relativePath>../pom.xml</relativePath> - </parent> - - <artifactId>onos-ovsdb</artifactId> - <packaging>pom</packaging> - - <description>ONOS OVSDB southbound plugin</description> - - <modules> - <module>api</module> - <module>rfc</module> - <module>ctl</module> - </modules> - - <dependencies> - <dependency> - <groupId>io.netty</groupId> - <artifactId>netty-buffer</artifactId> - </dependency> - <dependency> - <groupId>io.netty</groupId> - <artifactId>netty-handler</artifactId> - </dependency> - </dependencies> - -</project>
\ No newline at end of file diff --git a/framework/src/onos/protocols/ovsdb/rfc/pom.xml b/framework/src/onos/protocols/ovsdb/rfc/pom.xml deleted file mode 100644 index c8b72d6f..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/pom.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Copyright 2015 Open Networking Laboratory - ~ - ~ Licensed under the Apache License, Version 2.0 (the "License"); - ~ you may not use this file except in compliance with the License. - ~ You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.onosproject</groupId> - <artifactId>onos-ovsdb</artifactId> - <version>1.4.0-rc1</version> - <relativePath>../pom.xml</relativePath> - </parent> - <artifactId>onos-ovsdb-rfc</artifactId> - <packaging>bundle</packaging> - - <dependencies> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.scr.annotations</artifactId> - </dependency> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>org.osgi.compendium</artifactId> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-scr-plugin</artifactId> - </plugin> - </plugins> - </build> - -</project> diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/AbnormalJsonNodeException.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/AbnormalJsonNodeException.java deleted file mode 100644 index d6c3357e..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/AbnormalJsonNodeException.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.exception; - -/** - * AbnormalJsonNodeException exception is thrown when the received JsonNode is invalid. - */ -public class AbnormalJsonNodeException extends RuntimeException { - private static final long serialVersionUID = 8328377718334680368L; - - /** - * Constructs a AbnormalJsonNodeException object. - * @param message error message - */ - public AbnormalJsonNodeException(String message) { - super(message); - } - - /** - * Constructs a AbnormalJsonNodeException object. - * @param message error message - * @param cause Throwable - */ - public AbnormalJsonNodeException(String message, Throwable cause) { - super(message, cause); - } - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/BridgeCreateException.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/BridgeCreateException.java deleted file mode 100644 index 986b50a3..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/BridgeCreateException.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.exception; - -import static com.google.common.base.MoreObjects.toStringHelper; - -/** - * This exception is thrown when Bridge creation fails. - */ -public class BridgeCreateException extends RuntimeException { - private static final long serialVersionUID = 1377521646616825676L; - - /** - * Constructs a BridgeCreateException object. - * @param message error message - */ - public BridgeCreateException(String message) { - super(message); - } - - /** - * Constructs a BridgeCreateException object. - * @param message error message - * @param cause Throwable - */ - public BridgeCreateException(String message, Throwable cause) { - super(message, cause); - } - - /** - * Create error message. - * @param ovsUuid ovs uuid name - * @return message - */ - public static String createMessage(String ovsUuid) { - String message = toStringHelper("BridgeCreateException") - .addValue("Create new bridge failed for " + ovsUuid).toString(); - return message; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/ColumnSchemaNotFoundException.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/ColumnSchemaNotFoundException.java deleted file mode 100644 index 6fa0580f..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/ColumnSchemaNotFoundException.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.exception; - -import static com.google.common.base.MoreObjects.toStringHelper; - -/** - * This exception is thrown when a ColumnSchema cannot be found. - */ -public class ColumnSchemaNotFoundException extends RuntimeException { - private static final long serialVersionUID = -4325190659387339524L; - - /** - * Constructs a ColumnSchemaNotFoundException object. - * @param message error message - */ - public ColumnSchemaNotFoundException(String message) { - super(message); - } - - /** - * Constructs a ColumnSchemaNotFoundException object. - * @param message error message - * @param cause Throwable - */ - public ColumnSchemaNotFoundException(String message, Throwable cause) { - super(message, cause); - } - - /** - * Create error message. - * @param columnName column name - * @param tableName table name - * @return message - */ - public static String createMessage(String columnName, String tableName) { - String message = toStringHelper("ColumnSchemaNotFoundException") - .addValue("Could not find ColumnSchema for " + columnName - + " in " + tableName).toString(); - return message; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/TableSchemaNotFoundException.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/TableSchemaNotFoundException.java deleted file mode 100644 index 423cabb0..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/TableSchemaNotFoundException.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.exception; - -import static com.google.common.base.MoreObjects.toStringHelper; - -/** - * This exception is thrown when a TableSchema cannot be found. - */ -public class TableSchemaNotFoundException extends RuntimeException { - private static final long serialVersionUID = 8431894450061740838L; - - /** - * Constructs a TableSchemaNotFoundException object. - * @param message error message - */ - public TableSchemaNotFoundException(String message) { - super(message); - } - - /** - * Constructs a TableSchemaNotFoundException object. - * @param message error message - * @param cause Throwable - */ - public TableSchemaNotFoundException(String message, Throwable cause) { - super(message, cause); - } - - /** - * Create error message. - * @param tableName table name - * @param schemaName database name - * @return message - */ - public static String createMessage(String tableName, String schemaName) { - String message = toStringHelper("TableSchemaNotFoundException") - .addValue("Can not find TableSchema for " + tableName + " in " - + schemaName).toString(); - return message; - } - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/UnsupportedException.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/UnsupportedException.java deleted file mode 100644 index 2c44ad37..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/UnsupportedException.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.exception; - -/** - * This exception is thrown when the caller invoke the unsupported method or - * use the encoding is not supported. - */ -public class UnsupportedException extends RuntimeException { - private static final long serialVersionUID = 1377011546616825375L; - - /** - * Constructs a UnsupportedException object. - * @param message error message - */ - public UnsupportedException(String message) { - super(message); - } - - /** - * Constructs a UnsupportedException object. - * @param message error message - * @param cause Throwable - */ - public UnsupportedException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/VersionMismatchException.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/VersionMismatchException.java deleted file mode 100644 index ad54938e..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/VersionMismatchException.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.exception; - - -/** - * This exception is used when the a table or row is accessed though a typed - * interface and the version requirements are not met. - */ -public class VersionMismatchException extends RuntimeException { - private static final long serialVersionUID = -8439624321110133595L; - - /** - * Constructs a VersionMismatchException object. - * @param message error message - */ - public VersionMismatchException(String message) { - super(message); - } - - /** - * Constructs a VersionMismatchException object. - * @param message error message - * @param cause Throwable - */ - public VersionMismatchException(String message, Throwable cause) { - super(message, cause); - } - - /** - * Create error message. - * @param actualVersion the actual version - * @param fromVersion the initial version - * @return message - */ - public static String createFromMessage(String actualVersion, String fromVersion) { - String message = "The fromVersion should less than the actualVersion.\n fromVersion: " - + fromVersion + ".\n" + "actualVersion: " + actualVersion; - return message; - } - - /** - * Create error message. - * @param actualVersion the actual version - * @param toVersion the end version - * @return message - */ - public static String createToMessage(String actualVersion, String toVersion) { - String message = "The toVersion should greater than the actualVersion.\n" - + "toVersion: " + toVersion + ".\n" + " actualVersion: " + actualVersion; - return message; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/package-info.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/package-info.java deleted file mode 100644 index 274c8d43..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/exception/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Exceptions used by the OVSDB implementation. - */ -package org.onosproject.ovsdb.rfc.exception; diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/Callback.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/Callback.java deleted file mode 100644 index f7ec8b67..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/Callback.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.jsonrpc; - -import java.util.List; - -import org.onosproject.ovsdb.rfc.message.UpdateNotification; - -/** - * The callback function interface will be used when the server send to the - * client report changes. - */ -public interface Callback { - /** - * The "update" notification is sent by the server to the client to report - * changes in tables that are being monitored following a "*monitor" - * request. - * @param updateNotification the information of the update - */ - void update(UpdateNotification updateNotification); - - /** - * The "locked" notification is provided to notify a client that it has been - * granted a lock that it had previously requested with the "lock" method. - * @param ids the locked ids - */ - void locked(List<String> ids); - - /** - * The "stolen" notification is provided to notify a client, which had - * previously obtained a lock, that another client has stolen ownership of - * that lock. - * @param ids the stolen ids - */ - void stolen(List<String> ids); - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/JsonReadContext.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/JsonReadContext.java deleted file mode 100644 index 8033f653..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/JsonReadContext.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.jsonrpc; - -import java.util.Stack; - -/** - * Context for decode parameters. - */ -public class JsonReadContext { - private Stack<Byte> bufStack; - private boolean isStartMatch; - private int lastReadBytes; - - /** - * Constructs a JsonReadContext object. This class only need initial - * parameter value for the readToJsonNode method of JsonRpcReaderUtil - * entity. - */ - public JsonReadContext() { - bufStack = new Stack<Byte>(); - isStartMatch = false; - lastReadBytes = 0; - } - - /** - * Return bufStack. - * @return bufStack - */ - public Stack<Byte> getBufStack() { - return bufStack; - } - - /** - * Set bufStack, used for match the braces and double quotes. - * @param bufStack Stack of Byte - */ - public void setBufStack(Stack<Byte> bufStack) { - this.bufStack = bufStack; - } - - /** - * Return isStartMatch. - * @return isStartMatch - */ - public boolean isStartMatch() { - return isStartMatch; - } - - /** - * Set isStartMatch. - * @param isStartMatch mark whether the matching has started - */ - public void setStartMatch(boolean isStartMatch) { - this.isStartMatch = isStartMatch; - } - - /** - * Return lastReadBytes. - * @return lastReadBytes - */ - public int getLastReadBytes() { - return lastReadBytes; - } - - /** - * Set lastReadBytes. - * @param lastReadBytes the bytes for last decoding incomplete record - */ - public void setLastReadBytes(int lastReadBytes) { - this.lastReadBytes = lastReadBytes; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/JsonRpcRequest.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/JsonRpcRequest.java deleted file mode 100644 index ecff096b..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/JsonRpcRequest.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.jsonrpc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.List; -import java.util.Objects; - -import com.google.common.collect.Lists; - -/** - * Json Rpc Request information that include id,method,params. - */ -public class JsonRpcRequest { - - private final String id; - private final String method; - private final List<Object> params; - - /** - * JsonRpcRequest Constructor. - * @param id the id node of request information - * @param method the method node of request information - */ - public JsonRpcRequest(String id, String method) { - checkNotNull(id, "id cannot be null"); - checkNotNull(method, "method cannot be null"); - this.id = id; - this.method = method; - this.params = Lists.newArrayList(); - } - - /** - * JsonRpcRequest Constructor. - * @param id the id node of request information - * @param method the method node of request information - * @param params the params node of request information - */ - public JsonRpcRequest(String id, String method, List<Object> params) { - checkNotNull(id, "id cannot be null"); - checkNotNull(method, "method cannot be null"); - checkNotNull(params, "params cannot be null"); - this.id = id; - this.method = method; - this.params = params; - } - - /** - * Returns id. - * @return id - */ - public String getId() { - return id; - } - - /** - * Returns method. - * @return method - */ - public String getMethod() { - return method; - } - - /** - * Returns params. - * @return params - */ - public List<Object> getParams() { - return params; - } - - @Override - public int hashCode() { - return Objects.hash(id, method, params); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof JsonRpcRequest) { - final JsonRpcRequest other = (JsonRpcRequest) obj; - return Objects.equals(this.id, other.id) - && Objects.equals(this.method, other.method) - && Objects.equals(this.params, other.params); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("id", id).add("method", method) - .add("params", params).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/JsonRpcResponse.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/JsonRpcResponse.java deleted file mode 100644 index a2f45414..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/JsonRpcResponse.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.jsonrpc; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.List; -import java.util.Objects; - -import com.google.common.collect.Lists; - -/** - * Json Rpc Response information that include id,error,result. - */ -public class JsonRpcResponse { - - private final String id; - private final String error; - private final List<Object> result; - - /** - * JsonRpcResponse Constructor. - * @param id the id node of response information - */ - public JsonRpcResponse(String id) { - checkNotNull(id, "id cannot be null"); - this.id = id; - this.error = null; - this.result = Lists.newArrayList(); - } - - /** - * JsonRpcResponse Constructor. - * @param id the id node of response information - * @param error the error node of response information - */ - public JsonRpcResponse(String id, String error) { - checkNotNull(id, "id cannot be null"); - checkNotNull(error, "error cannot be null"); - this.id = id; - this.error = error; - this.result = Lists.newArrayList(); - } - - /** - * JsonRpcResponse Constructor. - * @param id the id node of response information - * @param error the error node of response information - * @param result the result node of response information - */ - public JsonRpcResponse(String id, String error, List<Object> result) { - checkNotNull(id, "id cannot be null"); - checkNotNull(error, "error cannot be null"); - checkNotNull(result, "result cannot be null"); - this.id = id; - this.error = error; - this.result = result; - } - - /** - * Returns id. - * @return id - */ - public String getId() { - return id; - } - - /** - * Returns error. - * @return error - */ - public String getError() { - return error; - } - - /** - * Returns result. - * @return result - */ - public List<Object> getResult() { - return result; - } - - @Override - public int hashCode() { - return Objects.hash(id, error, result); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof JsonRpcResponse) { - final JsonRpcResponse other = (JsonRpcResponse) obj; - return Objects.equals(this.id, other.id) - && Objects.equals(this.error, other.error) - && Objects.equals(this.result, other.result); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("id", id).add("error", error) - .add("result", result).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/OvsdbRPC.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/OvsdbRPC.java deleted file mode 100644 index 5d08b143..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/OvsdbRPC.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.jsonrpc; - -import java.util.List; - -import org.onosproject.ovsdb.rfc.operations.Operation; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; - -import com.fasterxml.jackson.databind.JsonNode; -import com.google.common.util.concurrent.ListenableFuture; - -/** - * The following interface describe the RPC7047's methods that are supported. - */ -public interface OvsdbRPC { - - /** - * This operation retrieves a database-schema that describes hosted database - * db-name. - * @param dbnames database name - * @return ListenableFuture of JsonNode - */ - ListenableFuture<JsonNode> getSchema(List<String> dbnames); - - /** - * The "echo" method can be used by both clients and servers to verify the - * liveness of a database connection. - * @return return info - */ - ListenableFuture<List<String>> echo(); - - /** - * The "monitor" request enables a client to replicate tables or subsets of - * tables within an OVSDB database by requesting notifications of changes to - * those tables and by receiving the complete initial state of a table or a - * subset of a table. - * @param dbSchema databse schema - * @param monitorId a id for monitor - * @return ListenableFuture of JsonNode - */ - ListenableFuture<JsonNode> monitor(DatabaseSchema dbSchema, String monitorId); - - /** - * This operation retrieves an array whose elements are the names of the - * databases that can be accessed over this management protocol connection. - * @return database names - */ - ListenableFuture<List<String>> listDbs(); - - /** - * This RPC method causes the database server to execute a series of - * operations in the specified order on a given database. - * @param dbSchema database schema - * @param operations the operations to execute - * @return result the transact result - */ - ListenableFuture<List<JsonNode>> transact(DatabaseSchema dbSchema, - List<Operation> operations); - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/package-info.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/package-info.java deleted file mode 100644 index 7edf5b46..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/jsonrpc/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * RFC 7047 implementation. - */ -package org.onosproject.ovsdb.rfc.jsonrpc; diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/MonitorRequest.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/MonitorRequest.java deleted file mode 100644 index e7f5eaee..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/MonitorRequest.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.message; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; -import java.util.Set; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; - -/** - * Monitor Requst information that need to monitor table. - */ -@JsonInclude(JsonInclude.Include.NON_NULL) -public final class MonitorRequest { - @JsonIgnore - private final String tableName; - private final Set<String> columns; - private final MonitorSelect select; - - /** - * Constructs a MonitorRequest object. - * @param tableName table name - * @param columns a set of column name - * @param select monitor action - */ - public MonitorRequest(String tableName, Set<String> columns, - MonitorSelect select) { - checkNotNull(tableName, "table name cannot be null"); - checkNotNull(columns, "columns cannot be null"); - checkNotNull(select, "select cannot be null"); - this.tableName = tableName; - this.columns = columns; - this.select = select; - } - - /** - * Returns tableName. - * @return tableName - */ - public String getTableName() { - return tableName; - } - - /** - * Returns select. - * @return select - */ - public MonitorSelect getSelect() { - return select; - } - - /** - * Returns columns. - * @return columns - */ - public Set<String> getColumns() { - return columns; - } - - @Override - public int hashCode() { - return Objects.hash(tableName, select, columns); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof MonitorRequest) { - final MonitorRequest other = (MonitorRequest) obj; - return Objects.equals(this.tableName, other.tableName) - && Objects.equals(this.select, other.select) - && Objects.equals(this.columns, other.columns); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("tableName", tableName) - .add("select", select).add("columns", columns).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/MonitorSelect.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/MonitorSelect.java deleted file mode 100644 index 502fc4de..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/MonitorSelect.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.message; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; - -/** - * The contents of this object specify how the columns or table are to be - * monitored. - */ -public final class MonitorSelect { - - private final boolean initial; - private final boolean insert; - private final boolean delete; - private final boolean modify; - - /** - * Constructs a MonitorSelect object. - * @param initial whether monitor the initial action - * @param insert whether monitor the insert action - * @param delete whether monitor the delete action - * @param modify whether monitor the modify action - */ - public MonitorSelect(boolean initial, boolean insert, boolean delete, - boolean modify) { - this.initial = initial; - this.insert = insert; - this.delete = delete; - this.modify = modify; - } - - /** - * Returns initial. - * @return initial - */ - public boolean isInitial() { - return initial; - } - - /** - * Returns insert. - * @return insert - */ - public boolean isInsert() { - return insert; - } - - /** - * Returns delete. - * @return delete - */ - public boolean isDelete() { - return delete; - } - - /** - * Returns modify. - * @return modify - */ - public boolean isModify() { - return modify; - } - - @Override - public int hashCode() { - return Objects.hash(initial, insert, delete, modify); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof MonitorSelect) { - final MonitorSelect other = (MonitorSelect) obj; - return Objects.equals(this.initial, other.initial) - && Objects.equals(this.insert, other.insert) - && Objects.equals(this.delete, other.delete) - && Objects.equals(this.modify, other.modify); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("initial", initial) - .add("insert", insert).add("delete", delete) - .add("modify", modify).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/OperationResult.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/OperationResult.java deleted file mode 100644 index 99807355..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/OperationResult.java +++ /dev/null @@ -1,158 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.message; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.List; - -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; - -/** - * All results of ovs table operations. refer to RFC7047 5.2. - */ -@JsonIgnoreProperties(ignoreUnknown = true) -public final class OperationResult { - private int count; - private UUID uuid; - private List<Row> rows; - private String error; - private String details; - - /** - * Constructs a OperationResult object. When JsonNode is converted into - * OperationResult, need this constructor and also need setter method. - */ - public OperationResult() { - } - - /** - * Constructs a OperationResult object. - * @param rows List of Row entity - */ - public OperationResult(List<Row> rows) { - checkNotNull(rows, "rows cannot be null"); - this.rows = rows; - } - - /** - * Constructs a OperationResult object. - * @param count the count node of result - * @param uuid UUID entity - * @param rows List of Row entity - * @param error error message - * @param details details of error message - */ - public OperationResult(int count, UUID uuid, List<Row> rows, String error, - String details) { - checkNotNull(uuid, "uuid cannot be null"); - checkNotNull(rows, "rows cannot be null"); - checkNotNull(error, "error cannot be null"); - checkNotNull(details, "details cannot be null"); - this.count = count; - this.uuid = uuid; - this.rows = rows; - this.error = error; - this.details = details; - } - - /** - * Return count. - * @return count - */ - public int getCount() { - return count; - } - - /** - * Set count value. - * @param count the Operation message of count - */ - public void setCount(int count) { - this.count = count; - } - - /** - * Return uuid. - * @return uuid - */ - public UUID getUuid() { - return uuid; - } - - /** - * Set uuid value. - * @param uuid the Operation message of uuid - */ - public void setUuid(UUID uuid) { - checkNotNull(uuid, "uuid cannot be null"); - this.uuid = uuid; - } - - /** - * Return rows. - * @return List of Row - */ - public List<Row> getRows() { - return rows; - } - - /** - * Set rows value. - * @param rows the Operation message of rows - */ - public void setRows(List<Row> rows) { - checkNotNull(rows, "rows cannot be null"); - this.rows = rows; - } - - /** - * Return error. - * @return error - */ - public String getError() { - return error; - } - - /** - * Set error value. - * @param error the Operation message of error - */ - public void setError(String error) { - checkNotNull(error, "error cannot be null"); - this.error = error; - } - - /** - * Return details. - * @return details - */ - public String getDetails() { - return details; - } - - /** - * Set details value. - * @param details the Operation message of details - */ - public void setDetails(String details) { - checkNotNull(details, "details cannot be null"); - this.details = details; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/RowUpdate.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/RowUpdate.java deleted file mode 100644 index 221206ef..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/RowUpdate.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.message; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; - -/** - * A TableUpdate is an object that maps from the row's UUID to a RowUpdate object. - * A RowUpdate is an object with the following members: "old": row, "new": row. - * Refer to RFC 7047 Section 4.1.6. - */ -public final class RowUpdate { - private final UUID uuid; - private final Row oldRow; - private final Row newRow; - - /** - * Constructs a RowUpdate object. - * @param uuid UUID - * @param oldRow present for "delete" and "modify" updates - * @param newRow present for "initial", "insert", and "modify" updates - */ - public RowUpdate(UUID uuid, Row oldRow, Row newRow) { - checkNotNull(uuid, "uuid cannot be null"); - this.uuid = uuid; - this.oldRow = oldRow; - this.newRow = newRow; - } - - /** - * Return uuid. - * @return uuid - */ - public UUID uuid() { - return this.uuid; - } - - /** - * Return oldRow. - * @return oldRow - */ - public Row oldRow() { - return oldRow; - } - - /** - * Return newRow. - * @return newRow - */ - public Row newRow() { - return newRow; - } - - @Override - public int hashCode() { - return Objects.hash(uuid, oldRow, newRow); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof RowUpdate) { - final RowUpdate other = (RowUpdate) obj; - return Objects.equals(this.uuid, other.uuid) - && Objects.equals(this.oldRow, other.oldRow) - && Objects.equals(this.newRow, other.newRow); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("uuid", uuid).add("oldRow", oldRow) - .add("newRow", newRow).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/TableUpdate.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/TableUpdate.java deleted file mode 100644 index 0673b79e..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/TableUpdate.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.message; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Map; -import java.util.Objects; - -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; - -/** - * TableUpdate is an object that maps from the row's UUID to a RowUpdate object. - */ -public final class TableUpdate { - - private final Map<UUID, RowUpdate> rows; - - /** - * Constructs a TableUpdate object. - * @param rows the parameter of TableUpdate entity - */ - private TableUpdate(Map<UUID, RowUpdate> rows) { - this.rows = rows; - } - - /** - * Get TableUpdate entity. - * @param rows the parameter of TableUpdate entity - * @return TableUpdate entity - */ - public static TableUpdate tableUpdate(Map<UUID, RowUpdate> rows) { - checkNotNull(rows, "rows cannot be null"); - return new TableUpdate(rows); - } - - /** - * Return old row. - * @param uuid the key of rows - * @return Row old row - */ - public Row getOld(UUID uuid) { - RowUpdate rowUpdate = rows.get(uuid); - if (rowUpdate == null) { - return null; - } - return rowUpdate.oldRow(); - } - - /** - * Return new row. - * @param uuid the key of rows - * @return Row new row - */ - public Row getNew(UUID uuid) { - RowUpdate rowUpdate = rows.get(uuid); - if (rowUpdate == null) { - return null; - } - return rowUpdate.newRow(); - } - - /** - * Return rows. - * @return rows - */ - public Map<UUID, RowUpdate> rows() { - return rows; - } - - @Override - public int hashCode() { - return rows.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof TableUpdate) { - final TableUpdate other = (TableUpdate) obj; - return Objects.equals(this.rows, other.rows); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("rows", rows).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/TableUpdates.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/TableUpdates.java deleted file mode 100644 index e161016b..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/TableUpdates.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.message; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Map; -import java.util.Objects; - -import org.onosproject.ovsdb.rfc.schema.TableSchema; - -/** - * TableUpdates is an object that maps from a table name to a TableUpdate. - */ -public final class TableUpdates { - - private final Map<String, TableUpdate> result; - - /** - * Constructs a TableUpdates object. - * @param result the parameter of TableUpdates entity - */ - private TableUpdates(Map<String, TableUpdate> result) { - this.result = result; - } - - /** - * Get TableUpdates. - * @param result the parameter of TableUpdates entity - * @return TableUpdates - */ - public static TableUpdates tableUpdates(Map<String, TableUpdate> result) { - checkNotNull(result, "result cannot be null"); - return new TableUpdates(result); - } - - /** - * Return TableUpdate. - * @param table the TableSchema of TableUpdates - * @return TableUpdate - */ - public TableUpdate tableUpdate(TableSchema table) { - return this.result.get(table.name()); - } - - /** - * Return the map of TableUpdate. - * @return result - */ - public Map<String, TableUpdate> result() { - return result; - } - - @Override - public int hashCode() { - return result.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof TableUpdates) { - final TableUpdates other = (TableUpdates) obj; - return Objects.equals(this.result, other.result); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("result", result).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/UpdateNotification.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/UpdateNotification.java deleted file mode 100644 index d4f0513d..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/UpdateNotification.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.message; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -import org.onosproject.ovsdb.rfc.notation.json.UpdateNotificationConverter; - -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; - -/** - * The "update" notification is sent by the server to the client to report - * changes in tables that are being monitored following a "monitor" request. The - * "params" of the result JsonNode. - */ -@JsonDeserialize(converter = UpdateNotificationConverter.class) -public final class UpdateNotification { - private final Object jsonValue; - private final JsonNode tbUpdatesJsonNode; - - /** - * Constructs a UpdateNotification object. - * @param jsonValue the "json-value" in "params" of the result JsonNode - * @param tbUpdatesJsonNode the "table-updates" in "params" of the result JsonNode - */ - public UpdateNotification(Object jsonValue, JsonNode tbUpdatesJsonNode) { - checkNotNull(jsonValue, "jsonValue cannot be null"); - checkNotNull(tbUpdatesJsonNode, "tablebUpdates JsonNode cannot be null"); - this.jsonValue = jsonValue; - this.tbUpdatesJsonNode = tbUpdatesJsonNode; - } - - /** - * Return context. - * @return context - */ - public Object jsonValue() { - return jsonValue; - } - - /** - * Return tbUpdatesJsonNode. - * @return tbUpdatesJsonNode - */ - public JsonNode tbUpdatesJsonNode() { - return tbUpdatesJsonNode; - } - - @Override - public int hashCode() { - return Objects.hash(jsonValue, tbUpdatesJsonNode); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof UpdateNotification) { - final UpdateNotification other = (UpdateNotification) obj; - return Objects.equals(this.jsonValue, other.jsonValue) - && Objects.equals(this.tbUpdatesJsonNode, - other.tbUpdatesJsonNode); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("jsonValue", jsonValue) - .add("tbUpdatesJsonNode", tbUpdatesJsonNode).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/package-info.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/package-info.java deleted file mode 100644 index 1b301262..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/message/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * OVSDB message definitions. - */ -package org.onosproject.ovsdb.rfc.message; diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/Column.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/Column.java deleted file mode 100644 index 60f49442..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/Column.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * Column is the basic element of the OpenVswitch database. - */ -public final class Column { - private final String columnName; - private final Object data; - - /** - * Column constructor. - * @param columnName the column name - * @param obj the data of the column - */ - public Column(String columnName, Object obj) { - checkNotNull(columnName, "columnName cannot be null"); - checkNotNull(obj, "data cannot be null"); - this.columnName = columnName; - this.data = obj; - } - - /** - * Returns column data. - * @return column data - */ - public Object data() { - return data; - } - - /** - * Returns columnName. - * @return columnName - */ - public String columnName() { - return columnName; - } - - @Override - public int hashCode() { - return Objects.hash(columnName, data); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof Column) { - final Column other = (Column) obj; - return Objects.equals(this.columnName, other.columnName) - && Objects.equals(this.data, other.data); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("columnName", columnName) - .add("data", data).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/Condition.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/Condition.java deleted file mode 100644 index cbf35424..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/Condition.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -import org.onosproject.ovsdb.rfc.notation.json.ConditionSerializer; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; - -/** - * Condition is a 3-element JSON array of the form [column, function, value] - * that represents a test on a column value. - */ -@JsonSerialize(using = ConditionSerializer.class) -public final class Condition { - /** - * Function of Notation. Refer to RFC 7047 Section 5.1. - */ - public enum Function { - LESS_THAN("<"), LESS_THAN_OR_EQUALS("<="), EQUALS("=="), - NOT_EQUALS("!="), GREATER_THAN(">"), GREATER_THAN_OR_EQUALS(">="), - INCLUDES("includes"), EXCLUDES("excludes"); - - private final String function; - - private Function(String function) { - this.function = function; - } - - /** - * Returns the function for Function. - * @return the function - */ - public String function() { - return function; - } - } - - private final String column; - private final Function function; - private final Object value; - - /** - * Constructs a Condition object. - * @param column the column name - * @param function Function - * @param value column data - */ - public Condition(String column, Function function, Object value) { - checkNotNull(column, "column cannot be null"); - checkNotNull(function, "function cannot be null"); - checkNotNull(value, "value cannot be null"); - this.column = column; - this.function = function; - this.value = value; - } - - /** - * Returns column name. - * @return column name - */ - public String getColumn() { - return column; - } - - /** - * Returns Function. - * @return Function - */ - public Function getFunction() { - return function; - } - - /** - * Returns column data. - * @return column data - */ - public Object getValue() { - return value; - } - - @Override - public int hashCode() { - return Objects.hash(column, function, value); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof Condition) { - final Condition other = (Condition) obj; - return Objects.equals(this.column, other.column) - && Objects.equals(this.function, other.function) - && Objects.equals(this.value, other.value); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("column", column) - .add("function", function).add("value", value).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/Mutation.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/Mutation.java deleted file mode 100644 index 5b5293c2..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/Mutation.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -import org.onosproject.ovsdb.rfc.notation.json.MutationSerializer; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; - -/** - * Mutation is s 3-element JSON array of the form [column, mutator, value] that - * represents a change to a column value. - */ -@JsonSerialize(using = MutationSerializer.class) -public final class Mutation { - /** - * Mutator must be "+=", "-=", "*=", "/=", or (integer only) "%=". The value - * of column is changed to the sum, difference, product, quotient, or - * remainder, respectively, of column and value. - */ - public enum Mutator { - SUM("+="), DIFFERENCE("-="), PRODUCT("*="), QUOTIENT("/="), - REMAINDER("%="), INSERT("insert"), DELETE("delete"); - - private final String mutator; - - private Mutator(String mutator) { - this.mutator = mutator; - } - - /** - * Returns the mutator for Mutator. - * @return the mutator - */ - public String mutator() { - return mutator; - } - } - - private final String column; - private final Mutator mutator; - private final Object value; - - /** - * Mutation constructor. - * @param column the column name - * @param mutator Mutator - * @param value column data - */ - public Mutation(String column, Mutator mutator, Object value) { - checkNotNull(column, "column cannot be null"); - checkNotNull(mutator, "mutator cannot be null"); - checkNotNull(value, "value cannot be null"); - this.column = column; - this.mutator = mutator; - this.value = value; - } - - /** - * Returns column name. - * @return column name - */ - public String getColumn() { - return column; - } - - /** - * Returns Mutator. - * @return Mutator - */ - public Mutator getMutator() { - return mutator; - } - - /** - * Returns column data. - * @return column data - */ - public Object getValue() { - return value; - } - - @Override - public int hashCode() { - return Objects.hash(column, mutator, value); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof Mutation) { - final Mutation other = (Mutation) obj; - return Objects.equals(this.column, other.column) - && Objects.equals(this.mutator, other.mutator) - && Objects.equals(this.value, other.value); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("column", column) - .add("mutator", mutator).add("value", value).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/OvsdbMap.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/OvsdbMap.java deleted file mode 100644 index a62ab0db..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/OvsdbMap.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Map; -import java.util.Objects; - -import org.onosproject.ovsdb.rfc.notation.json.OvsdbMapSerializer; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; - -/** - * OvsdbMap is a 2-element JSON array that represents a database map value. - */ -@JsonSerialize(using = OvsdbMapSerializer.class) -public final class OvsdbMap { - - private final Map map; - - /** - * OvsdbMap constructor. - * @param map java.util.Map - */ - private OvsdbMap(Map map) { - checkNotNull(map, "map cannot be null"); - this.map = map; - } - - /** - * Returns map. - * @return map - */ - public Map map() { - return map; - } - - /** - * convert Map into OvsdbMap. - * @param map java.util.Map - * @return OvsdbMap - */ - public static OvsdbMap ovsdbMap(Map map) { - return new OvsdbMap(map); - } - - @Override - public int hashCode() { - return map.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof OvsdbMap) { - final OvsdbMap other = (OvsdbMap) obj; - return Objects.equals(this.map, other.map); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("map", map).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/OvsdbSet.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/OvsdbSet.java deleted file mode 100644 index 21f0b72b..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/OvsdbSet.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.json.OvsdbSetSerializer; - -import com.fasterxml.jackson.databind.annotation.JsonSerialize; - -/** - * OvsdbSet is either an atom, representing a set with exactly one element, or - * a 2-element JSON array that represents a database set value. - * - */ -@JsonSerialize(using = OvsdbSetSerializer.class) -public final class OvsdbSet { - - private final Set set; - - /** - * OvsdbSet constructor. - * @param set java.util.Set - */ - private OvsdbSet(Set set) { - checkNotNull(set, "set cannot be null"); - this.set = set; - } - - /** - * Returns set. - * @return set - */ - public Set set() { - return set; - } - - /** - * convert Set into OvsdbSet. - * @param set java.util.Set - * @return OvsdbSet - */ - public static OvsdbSet ovsdbSet(Set set) { - return new OvsdbSet(set); - } - - @Override - public int hashCode() { - return set.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof OvsdbSet) { - final OvsdbSet other = (OvsdbSet) obj; - return Objects.equals(this.set, other.set); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("set", set).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/RefTableRow.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/RefTableRow.java deleted file mode 100644 index 1b22a426..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/RefTableRow.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -import com.fasterxml.jackson.databind.JsonNode; - -/** - * The RefTable type that can be expanded to Row. Refer to RFC 7047 Section 3.2. - */ -public final class RefTableRow { - - private final String refTable; - private final JsonNode jsonNode; - - /** - * RefTableRow constructor. - * @param refTable the refTable value of JsonNode - * @param jsonNode JsonNode - */ - public RefTableRow(String refTable, JsonNode jsonNode) { - checkNotNull(refTable, "refTable cannot be null"); - checkNotNull(jsonNode, "jsonNode cannot be null"); - this.refTable = refTable; - this.jsonNode = jsonNode; - } - - /** - * Returns JsonNode. - * @return JsonNode - */ - public JsonNode jsonNode() { - return jsonNode; - } - - /** - * Returns refTable. - * @return refTable - */ - public String refTable() { - return refTable; - } - - @Override - public int hashCode() { - return Objects.hash(refTable, jsonNode); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof RefTableRow) { - final RefTableRow other = (RefTableRow) obj; - return Objects.equals(this.refTable, other.refTable) - && Objects.equals(this.jsonNode, other.jsonNode); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("refTable", refTable) - .add("jsonNode", jsonNode).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/Row.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/Row.java deleted file mode 100644 index 09088766..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/Row.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation; - -import com.google.common.collect.Maps; - -import java.util.Collection; -import java.util.Map; -import java.util.Objects; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -/** - * Row is the basic element of the OpenVswitch's table. - */ -public final class Row { - private String tableName; - private UUID uuid; - private Map<String, Column> columns; - - /** - * Row constructor. - */ - public Row() { - this.columns = Maps.newHashMap(); - } - - /** - * Row constructor. - * - * @param tableName table name - * @deprecated in Emu Release - */ - @Deprecated - private Row(String tableName) { - checkNotNull(tableName, "tableName cannot be null"); - this.tableName = tableName; - this.columns = Maps.newHashMap(); - } - - /** - * Row constructor. - * - * @param tableName table name - * @param columns Map of Column entity - * @param uuid UUID of the row - */ - public Row(String tableName, UUID uuid, Map<String, Column> columns) { - checkNotNull(tableName, "table name cannot be null"); - checkNotNull(uuid, "uuid cannot be null"); - checkNotNull(columns, "columns cannot be null"); - this.tableName = tableName; - this.uuid = uuid; - this.columns = columns; - } - - /** - * Returns tableName. - * - * @return tableName - */ - public String tableName() { - return tableName; - } - - /** - * Set tableName value. - * - * @param tableName table name - */ - public void setTableName(String tableName) { - this.tableName = tableName; - } - - /** - * Returns uuid. - * - * @return uuid - */ - public UUID uuid() { - return uuid; - } - - /** - * Sets uuid value. - * - * @param uuid new uuid - */ - public void setUuid(UUID uuid) { - this.uuid = uuid; - } - - /** - * Returns Column by ColumnSchema. - * - * @param columnName column name - * @return Column - */ - public Column getColumn(String columnName) { - return columns.get(columnName); - } - - /** - * Returns Collection of Column. - * - * @return Collection of Column - */ - public Collection<Column> getColumns() { - return columns.values(); - } - - /** - * add Column. - * - * @param columnName column name - * @param data Column entity - */ - public void addColumn(String columnName, Column data) { - this.columns.put(columnName, data); - } - - @Override - public int hashCode() { - return Objects.hash(tableName, columns); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof Row) { - final Row other = (Row) obj; - return Objects.equals(this.tableName, other.tableName) - && Objects.equals(this.columns, other.columns); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("tableName", tableName) - .add("columns", columns).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/UUID.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/UUID.java deleted file mode 100644 index 0177eea3..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/UUID.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -import org.onosproject.ovsdb.rfc.notation.json.UUIDConverter; -import org.onosproject.ovsdb.rfc.notation.json.UUIDSerializer; - -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; - -/** - * Handles both uuid and named-uuid. - */ -@JsonSerialize(using = UUIDSerializer.class) -@JsonDeserialize(converter = UUIDConverter.class) -public final class UUID { - private final String value; - - /** - * UUID constructor. - * @param value UUID value - */ - private UUID(String value) { - checkNotNull(value, "value cannot be null"); - this.value = value; - } - - /** - * Get UUID. - * @param value UUID value - * @return UUID - */ - public static UUID uuid(String value) { - return new UUID(value); - } - - /** - * Returns value. - * @return value - */ - public String value() { - return value; - } - - @Override - public int hashCode() { - return value.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof UUID) { - final UUID other = (UUID) obj; - return Objects.equals(this.value, other.value); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("value", value).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/ConditionSerializer.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/ConditionSerializer.java deleted file mode 100644 index 551a66a4..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/ConditionSerializer.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation.json; - -import java.io.IOException; - -import org.onosproject.ovsdb.rfc.notation.Condition; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; - -/** - * Condition Serializer. - */ -public class ConditionSerializer extends JsonSerializer<Condition> { - @Override - public void serialize(Condition condition, JsonGenerator generator, - SerializerProvider provider) - throws IOException, JsonProcessingException { - generator.writeStartArray(); - generator.writeString(condition.getColumn()); - generator.writeString(condition.getFunction().function()); - generator.writeObject(condition.getValue()); - generator.writeEndArray(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/MutationSerializer.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/MutationSerializer.java deleted file mode 100644 index a18b9e72..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/MutationSerializer.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation.json; - -import java.io.IOException; - -import org.onosproject.ovsdb.rfc.notation.Mutation; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; - -/** - * Mutation Serializer. - */ -public class MutationSerializer extends JsonSerializer<Mutation> { - @Override - public void serialize(Mutation condition, JsonGenerator generator, - SerializerProvider provider) - throws IOException, JsonProcessingException { - generator.writeStartArray(); - generator.writeString(condition.getColumn()); - generator.writeString(condition.getMutator().mutator()); - generator.writeObject(condition.getValue()); - generator.writeEndArray(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/OvsdbMapSerializer.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/OvsdbMapSerializer.java deleted file mode 100644 index 60fd3349..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/OvsdbMapSerializer.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation.json; - -import java.io.IOException; -import java.util.Map; - -import org.onosproject.ovsdb.rfc.notation.OvsdbMap; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; - -/** - * OvsdbMap Serializer. - */ -public class OvsdbMapSerializer extends JsonSerializer<OvsdbMap> { - @Override - public void serialize(OvsdbMap map, JsonGenerator generator, - SerializerProvider provider) - throws IOException, JsonProcessingException { - generator.writeStartArray(); - generator.writeString("map"); - generator.writeStartArray(); - Map javaMap = map.map(); - for (Object key : javaMap.keySet()) { - generator.writeStartArray(); - generator.writeObject(key); - generator.writeObject(javaMap.get(key)); - generator.writeEndArray(); - } - generator.writeEndArray(); - generator.writeEndArray(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/OvsdbSetSerializer.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/OvsdbSetSerializer.java deleted file mode 100644 index 509b2c53..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/OvsdbSetSerializer.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation.json; - -import java.io.IOException; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.OvsdbSet; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; - -/** - * OvsdbSet Serializer. - */ -public class OvsdbSetSerializer extends JsonSerializer<OvsdbSet> { - @Override - public void serialize(OvsdbSet set, JsonGenerator generator, - SerializerProvider provider) - throws IOException, JsonProcessingException { - generator.writeStartArray(); - generator.writeString("set"); - generator.writeStartArray(); - Set javaSet = set.set(); - for (Object key : javaSet) { - generator.writeObject(key); - } - generator.writeEndArray(); - generator.writeEndArray(); - } -}
\ No newline at end of file diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/UUIDConverter.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/UUIDConverter.java deleted file mode 100644 index 66a86633..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/UUIDConverter.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation.json; - -import org.onosproject.ovsdb.rfc.notation.UUID; - -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.util.StdConverter; - -/** - * UUIDConverter Converter. - */ -public class UUIDConverter extends StdConverter<JsonNode, UUID> { - - @Override - public UUID convert(JsonNode json) { - return UUID.uuid(json.get(1).asText()); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/UUIDSerializer.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/UUIDSerializer.java deleted file mode 100644 index 8fb5c49c..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/UUIDSerializer.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation.json; - -import java.io.IOException; - -import org.onosproject.ovsdb.rfc.notation.UUID; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.JsonSerializer; -import com.fasterxml.jackson.databind.SerializerProvider; - -/** - * UUID Serializer. - */ -public class UUIDSerializer extends JsonSerializer<UUID> { - @Override - public void serialize(UUID value, JsonGenerator generator, - SerializerProvider provider) throws IOException { - generator.writeStartArray(); - String reg = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"; - if (value.value().matches(reg)) { - generator.writeString("uuid"); - } else { - generator.writeString("named-uuid"); - } - generator.writeString(value.value()); - generator.writeEndArray(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/UpdateNotificationConverter.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/UpdateNotificationConverter.java deleted file mode 100644 index 2bb1b633..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/UpdateNotificationConverter.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.notation.json; - -import org.onosproject.ovsdb.rfc.message.UpdateNotification; - -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.util.StdConverter; - -/** - * UpdateNotificationDeser Converter. - */ -public class UpdateNotificationConverter - extends StdConverter<JsonNode, UpdateNotification> { - - @Override - public UpdateNotification convert(JsonNode value) { - return deserialize(value); - } - - /** - * JsonNode convert into UpdateNotification. - * @param node the "params" node of UpdateNotification JsonNode - */ - private UpdateNotification deserialize(JsonNode node) { - if (node.isArray()) { - if (node.size() == 2) { - return new UpdateNotification(node.get(0).asText(), node.get(1)); - } - } - return null; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/package-info.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/package-info.java deleted file mode 100644 index eb2e7c66..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/json/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * OVSDB JSON utilities. - */ -package org.onosproject.ovsdb.rfc.notation.json; diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/package-info.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/package-info.java deleted file mode 100644 index 1900dfef..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/notation/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * OVSDB primitives. - */ -package org.onosproject.ovsdb.rfc.notation; diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Abort.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Abort.java deleted file mode 100644 index 8751f70e..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Abort.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.operations; - -import org.onosproject.ovsdb.rfc.schema.TableSchema; - -/** - * assert operation.Refer to RFC 7047 Section 5.2. - */ -public final class Abort implements Operation { - - private final String op; - - /** - * Constructs a Abort object. - */ - public Abort() { - this.op = Operations.ABORT.op(); - } - - @Override - public String getOp() { - return op; - } - - @Override - public TableSchema getTableSchema() { - return null; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Assert.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Assert.java deleted file mode 100644 index 92a63361..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Assert.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.operations; - -import static com.google.common.base.Preconditions.checkNotNull; - -import org.onosproject.ovsdb.rfc.schema.TableSchema; - -/** - * assert operation.Refer to RFC 7047 Section 5.2. - */ -public final class Assert implements Operation { - - private final String op; - private final String lock; - - /** - * Constructs a Assert object. - * @param lock the lock member of assert operation - */ - public Assert(String lock) { - checkNotNull(lock, "lock cannot be null"); - this.op = Operations.ASSERT.op(); - this.lock = lock; - } - - /** - * Returns the lock member of assert operation. - * @return the lock member of assert operation - */ - public String getLock() { - return lock; - } - - @Override - public String getOp() { - return op; - } - - @Override - public TableSchema getTableSchema() { - return null; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Comment.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Comment.java deleted file mode 100644 index 2853e1ff..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Comment.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.operations; - -import static com.google.common.base.Preconditions.checkNotNull; - -import org.onosproject.ovsdb.rfc.schema.TableSchema; - -/** - * comment operation.Refer to RFC 7047 Section 5.2. - */ -public final class Comment implements Operation { - - private final String op; - private final String comment; - - /** - * Constructs a Comment object. - * @param comment the comment member of comment operation - */ - public Comment(String comment) { - checkNotNull(comment, "comment cannot be null"); - this.op = Operations.COMMENT.op(); - this.comment = comment; - } - - /** - * Returns the comment member of comment operation. - * @return the comment member of comment operation - */ - public String getComment() { - return comment; - } - - @Override - public String getOp() { - return op; - } - - @Override - public TableSchema getTableSchema() { - return null; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Commit.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Commit.java deleted file mode 100644 index c87fb6e9..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Commit.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.operations; - -import static com.google.common.base.Preconditions.checkNotNull; - -import org.onosproject.ovsdb.rfc.schema.TableSchema; - -/** - * commit operation.Refer to RFC 7047 Section 5.2. - */ -public final class Commit implements Operation { - - private final String op; - private final Boolean durable; - - /** - * Constructs a Commit object. - * @param durable the durable member of commit operation - */ - public Commit(Boolean durable) { - checkNotNull(durable, "durable cannot be null"); - this.op = Operations.COMMIT.op(); - this.durable = durable; - } - - /** - * Returns the durable member of commit operation. - * @return the durable member of commit operation - */ - public Boolean isDurable() { - return durable; - } - - @Override - public String getOp() { - return op; - } - - @Override - public TableSchema getTableSchema() { - return null; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Delete.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Delete.java deleted file mode 100644 index 08b5e522..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Delete.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.operations; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.List; - -import org.onosproject.ovsdb.rfc.notation.Condition; -import org.onosproject.ovsdb.rfc.schema.TableSchema; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * delete operation.Refer to RFC 7047 Section 5.2. - */ -public final class Delete implements Operation { - - @JsonIgnore - private final TableSchema tableSchema; - private final String op; - private final List<Condition> where; - - /** - * Constructs a Delete object. - * @param schema TableSchema entity - * @param where the List of Condition entity - */ - public Delete(TableSchema schema, List<Condition> where) { - checkNotNull(schema, "TableSchema cannot be null"); - checkNotNull(where, "where is not null"); - this.tableSchema = schema; - this.op = Operations.DELETE.op(); - this.where = where; - } - - /** - * Returns the where member of delete operation. - * @return the where member of delete operation - */ - public List<Condition> getWhere() { - return where; - } - - @Override - public String getOp() { - return op; - } - - @Override - public TableSchema getTableSchema() { - return tableSchema; - } - - /** - * For the use of serialization. - * @return the table member of update operation - */ - @JsonProperty - public String getTable() { - return tableSchema.name(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Insert.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Insert.java deleted file mode 100644 index 8545b43a..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Insert.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.operations; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Collection; -import java.util.Map; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.schema.TableSchema; -import org.onosproject.ovsdb.rfc.utils.TransValueUtil; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.google.common.collect.Maps; - -/** - * insert operation.Refer to RFC 7047 Section 5.2. - */ -public final class Insert implements Operation { - - @JsonIgnore - private final TableSchema tableSchema; - private final String op; - @JsonProperty("uuid-name") - private final String uuidName; - private final Map<String, Object> row; - - /** - * Constructs a Insert object. - * @param schema TableSchema entity - * @param uuidName uuid-name - * @param row Row entity - */ - public Insert(TableSchema schema, String uuidName, Row row) { - checkNotNull(schema, "TableSchema cannot be null"); - checkNotNull(uuidName, "uuid name cannot be null"); - checkNotNull(row, "row cannot be null"); - this.tableSchema = schema; - this.op = Operations.INSERT.op(); - this.uuidName = uuidName; - this.row = Maps.newHashMap(); - generateOperationRow(row); - } - - /** - * Row entity convert into the row format of insert operation. Refer to RFC - * 7047 Section 5.2. - * @param row Row entity - */ - private void generateOperationRow(Row row) { - Collection<Column> columns = row.getColumns(); - for (Column column : columns) { - String columnName = column.columnName(); - Object value = column.data(); - Object formatValue = TransValueUtil.getFormatData(value); - this.row.put(columnName, formatValue); - } - } - - /** - * Returns the uuid-name member of insert operation. - * @return the uuid-name member of insert operation - */ - public String getUuidName() { - return uuidName; - } - - /** - * Returns the row member of insert operation. - * @return the row member of insert operation - */ - public Map<String, Object> getRow() { - return row; - } - - @Override - public String getOp() { - return op; - } - - @Override - public TableSchema getTableSchema() { - return tableSchema; - } - - /** - * For the use of serialization. - * @return the table member of update operation - */ - @JsonProperty - public String getTable() { - return tableSchema.name(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Mutate.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Mutate.java deleted file mode 100644 index b2827797..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Mutate.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.operations; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.List; - -import org.onosproject.ovsdb.rfc.notation.Condition; -import org.onosproject.ovsdb.rfc.notation.Mutation; -import org.onosproject.ovsdb.rfc.schema.TableSchema; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * mutate operation.Refer to RFC 7047 Section 5.2. - */ -public final class Mutate implements Operation { - - @JsonIgnore - private final TableSchema tableSchema; - private final String op; - private final List<Condition> where; - private final List<Mutation> mutations; - - /** - * Constructs a Mutate object. - * @param schema TableSchema entity - * @param where the List of Condition entity - * @param mutations the List of Mutation entity - */ - public Mutate(TableSchema schema, List<Condition> where, - List<Mutation> mutations) { - checkNotNull(schema, "TableSchema cannot be null"); - checkNotNull(mutations, "mutations cannot be null"); - checkNotNull(where, "where cannot be null"); - this.tableSchema = schema; - this.op = Operations.MUTATE.op(); - this.where = where; - this.mutations = mutations; - } - - /** - * Returns the mutations member of mutate operation. - * @return the mutations member of mutate operation - */ - public List<Mutation> getMutations() { - return mutations; - } - - /** - * Returns the where member of mutate operation. - * @return the where member of mutate operation - */ - public List<Condition> getWhere() { - return where; - } - - @Override - public String getOp() { - return op; - } - - @Override - public TableSchema getTableSchema() { - return tableSchema; - } - - /** - * For the use of serialization. - * @return the table member of update operation - */ - @JsonProperty - public String getTable() { - return tableSchema.name(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Operation.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Operation.java deleted file mode 100644 index 3e2dff1f..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Operation.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.operations; - -import org.onosproject.ovsdb.rfc.schema.TableSchema; - -/** - * Operation interface. - */ -public interface Operation { - - /** - * Returns the op member of update operation. - * @return the op member of update operation - */ - String getOp(); - - /** - * Returns TableSchema entity. - * @return TableSchema entity - */ - TableSchema getTableSchema(); - - /** - * Operations must be "insert", "select", "update", "mutate", "delete", - * "commit", "abort", "comment", "assert". Refer to RFC 7047 Section 5.2. - */ - public enum Operations { - INSERT("insert"), SELECT("select"), UPDATE("update"), MUTATE("mutate"), - DELETE("delete"), COMMIT("commit"), ABORT("abort"), COMMENT("comment"), - ASSERT("assert"); - - private String op; - - private Operations(String op) { - this.op = op; - } - - /** - * Returns the op for Operations. - * @return the op - */ - public String op() { - return op; - } - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Select.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Select.java deleted file mode 100644 index ba1ec74f..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Select.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.operations; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.List; - -import org.onosproject.ovsdb.rfc.notation.Condition; -import org.onosproject.ovsdb.rfc.schema.TableSchema; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * select operation.Refer to RFC 7047 Section 5.2. - */ -public final class Select implements Operation { - - @JsonIgnore - private final TableSchema tableSchema; - private final String op; - private final List<Condition> where; - private final List<String> columns; - - /** - * Constructs a Select object. - * @param schema TableSchema entity - * @param where the List of Condition entity - * @param columns the List of column name - */ - public Select(TableSchema schema, List<Condition> where, List<String> columns) { - checkNotNull(schema, "TableSchema cannot be null"); - checkNotNull(where, "where cannot be null"); - checkNotNull(columns, "columns cannot be null"); - this.tableSchema = schema; - this.op = Operations.SELECT.op(); - this.where = where; - this.columns = columns; - } - - /** - * Returns the columns member of select operation. - * @return the columns member of select operation - */ - public List<String> getColumns() { - return columns; - } - - /** - * Returns the where member of select operation. - * @return the where member of select operation - */ - public List<Condition> getWhere() { - return where; - } - - @Override - public String getOp() { - return op; - } - - @Override - public TableSchema getTableSchema() { - return tableSchema; - } - - /** - * For the use of serialization. - * @return the table member of update operation - */ - @JsonProperty - public String getTable() { - return tableSchema.name(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Update.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Update.java deleted file mode 100644 index 81a1cab1..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/Update.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.operations; - -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Collection; -import java.util.List; -import java.util.Map; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Condition; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.schema.TableSchema; -import org.onosproject.ovsdb.rfc.utils.TransValueUtil; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.google.common.collect.Maps; - -/** - * update operation.Refer to RFC 7047 Section 5.2. - */ -public final class Update implements Operation { - - @JsonIgnore - private final TableSchema tableSchema; - private final String op; - private final Map<String, Object> row; - private final List<Condition> where; - - /** - * Constructs a Update object. - * @param schema TableSchema entity - * @param row Row entity - * @param where the List of Condition entity - */ - public Update(TableSchema schema, Row row, List<Condition> where) { - checkNotNull(schema, "TableSchema cannot be null"); - checkNotNull(row, "row cannot be null"); - checkNotNull(where, "where cannot be null"); - this.tableSchema = schema; - this.op = Operations.UPDATE.op(); - this.row = Maps.newHashMap(); - this.where = where; - generateOperationRow(row); - } - - /** - * Row entity convert into the row format of update operation. Refer to RFC - * 7047 Section 5.2. - * @param row Row entity - */ - private void generateOperationRow(Row row) { - Collection<Column> columns = row.getColumns(); - for (Column column : columns) { - String columnName = column.columnName(); - Object value = column.data(); - Object formatValue = TransValueUtil.getFormatData(value); - this.row.put(columnName, formatValue); - } - } - - /** - * Returns the row member of update operation. - * @return the row member of update operation - */ - public Map<String, Object> getRow() { - return row; - } - - /** - * Returns the where member of update operation. - * @return the where member of update operation - */ - public List<Condition> getWhere() { - return where; - } - - @Override - public String getOp() { - return op; - } - - @Override - public TableSchema getTableSchema() { - return tableSchema; - } - - /** - * For the use of serialization. - * @return the table member of update operation - */ - @JsonProperty - public String getTable() { - return tableSchema.name(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/package-info.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/package-info.java deleted file mode 100644 index 77fb9f3c..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/operations/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * OVSDB operations. - */ -package org.onosproject.ovsdb.rfc.operations; diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/ColumnSchema.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/ColumnSchema.java deleted file mode 100644 index 23eb2be7..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/ColumnSchema.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -import org.onosproject.ovsdb.rfc.schema.type.ColumnType; - -/** - * A schema for the column represented by column-schema. - */ -public final class ColumnSchema { - private final String name; - private final ColumnType type; - - /** - * Constructs a ColumnSchema object. - * @param name the column name - * @param columnType the column type - */ - public ColumnSchema(String name, ColumnType columnType) { - checkNotNull(name, "name cannot be null"); - checkNotNull(columnType, "column type cannot be null"); - this.name = name; - this.type = columnType; - } - - /** - * Returns the name of column. - * @return the name of column - */ - public String name() { - return name; - } - - /** - * Returns the type of column. - * @return the type of column - */ - public ColumnType type() { - return type; - } - - @Override - public int hashCode() { - return Objects.hash(name, type); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof ColumnSchema) { - final ColumnSchema other = (ColumnSchema) obj; - return Objects.equals(this.name, other.name) - && Objects.equals(this.type, other.type); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("name", name).add("type", type) - .toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/DatabaseSchema.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/DatabaseSchema.java deleted file mode 100644 index 298afc68..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/DatabaseSchema.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Map; -import java.util.Objects; -import java.util.Set; - -/** - * A schema for the database represented by database-schema, which consists of - * a set of tables. - */ -public final class DatabaseSchema { - - private final String name; - private final String version; - private final Map<String, TableSchema> tableSchemas; - - /** - * Constructs a DatabaseSchema object. - * @param name the name of database - * @param version the version of database - * @param tableSchemas a map of TableSchema - */ - public DatabaseSchema(String name, String version, - Map<String, TableSchema> tableSchemas) { - checkNotNull(name, "name cannot be null"); - checkNotNull(version, "version cannot be null"); - checkNotNull(tableSchemas, "tableSchemas cannot be null"); - this.name = name; - this.version = version; - this.tableSchemas = tableSchemas; - } - - /** - * Returns the name of database. - * @return the name of database - */ - public String name() { - return name; - } - - /** - * Returns the version of database. - * @return the version of database - */ - public String version() { - return version; - } - - /** - * Returns a map of TableSchema. - * @return a map of TableSchema - */ - public Map<String, TableSchema> tableSchemas() { - return tableSchemas; - } - - /** - * Returns a set of table name. - * @return a set of table name - */ - public Set<String> getTableNames() { - return this.tableSchemas.keySet(); - } - - /** - * Determine whether contain the table. - * @param tableName table name - * @return boolean - */ - public boolean hasTable(String tableName) { - return this.getTableNames().contains(tableName); - } - - /** - * Returns the TableSchema whose name is the tableName. - * @param tableName table name - * @return TableSchema - */ - public TableSchema getTableSchema(String tableName) { - TableSchema table = tableSchemas.get(tableName); - return table; - } - - /** - * generate initialization columns in each table namely _uuid and _version. - */ - public void generateInitializationColumns() { - for (TableSchema tableSchema : tableSchemas.values()) { - tableSchema.generateInitializationColumns(); - } - } - - @Override - public int hashCode() { - return Objects.hash(name, version, tableSchemas); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof DatabaseSchema) { - final DatabaseSchema other = (DatabaseSchema) obj; - return Objects.equals(this.name, other.name) - && Objects.equals(this.version, other.version) - && Objects.equals(this.tableSchemas, other.tableSchemas); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("name", name).add("version", version) - .add("tableSchemas", tableSchemas).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/TableSchema.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/TableSchema.java deleted file mode 100644 index 248745dd..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/TableSchema.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Map; -import java.util.Objects; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.schema.type.AtomicColumnType; -import org.onosproject.ovsdb.rfc.schema.type.UuidBaseType; - -/** - * A schema for the table represented by table-schema, which consists of a set - * of columns. - */ -public final class TableSchema { - - private final String name; - private final Map<String, ColumnSchema> columnSchemas; - - /** - * Constructs a TableSchema object. - * @param name the name of table - * @param columnSchemas a map of ColumnSchema - */ - public TableSchema(String name, Map<String, ColumnSchema> columnSchemas) { - checkNotNull(name, "name cannot be null"); - checkNotNull(columnSchemas, "columnSchemas cannot be null"); - this.name = name; - this.columnSchemas = columnSchemas; - } - - /** - * Returns the name of table. - * @return the name of table - */ - public String name() { - return name; - } - - /** - * Returns a map of ColumnSchema. - * @return a map of ColumnSchema - */ - public Map<String, ColumnSchema> columnSchemas() { - return this.columnSchemas; - } - - /** - * Returns a set of column name. - * @return a set of column name - */ - public Set<String> getColumnNames() { - return this.columnSchemas.keySet(); - } - - /** - * Determine whether contain the column. - * @param columnName column name - * @return boolean - */ - public boolean hasColumn(String columnName) { - return this.getColumnNames().contains(columnName); - } - - /** - * Returns the ColumnSchema whose name is the columnName. - * @param columnName column name - * @return ColumnSchema - */ - public ColumnSchema getColumnSchema(String columnName) { - return this.columnSchemas.get(columnName); - } - - /** - * Refer to RFC 7047 Section 3.2. generate initialization columns in each - * table namely _uuid and _version. - */ - public void generateInitializationColumns() { - columnSchemas - .put("_uuid", - new ColumnSchema("_uuid", - new AtomicColumnType(new UuidBaseType()))); - columnSchemas - .put("_version", - new ColumnSchema("_version", - new AtomicColumnType(new UuidBaseType()))); - } - - @Override - public int hashCode() { - return Objects.hash(name, columnSchemas); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof TableSchema) { - final TableSchema other = (TableSchema) obj; - return Objects.equals(this.name, other.name) - && Objects.equals(this.columnSchemas, other.columnSchemas); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("name", name) - .add("columnSchemas", columnSchemas).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/package-info.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/package-info.java deleted file mode 100644 index 9a27037c..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * OVSDB schema. - */ -package org.onosproject.ovsdb.rfc.schema; diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/AtomicColumnType.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/AtomicColumnType.java deleted file mode 100644 index 881755ae..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/AtomicColumnType.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema.type; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * The "atomic-type" specifies the type of data stored in this column. Refer - * to RFC 7047 Section 3.2. - */ -public final class AtomicColumnType implements ColumnType { - private final BaseType baseType; - private final int min; - private final int max; - - /** - * Constructs a AtomicColumnType object. - * @param baseType BaseType entity - */ - public AtomicColumnType(BaseType baseType) { - checkNotNull(baseType, "BaseType cannot be null"); - this.baseType = baseType; - this.min = 1; - this.max = 1; - } - - /** - * Constructs a AtomicColumnType object. - * @param baseType BaseType entity - * @param min min constraint - * @param max max constraint - */ - public AtomicColumnType(BaseType baseType, int min, int max) { - checkNotNull(baseType, "BaseType cannot be null"); - this.baseType = baseType; - this.min = min; - this.max = max; - } - - /** - * Get baseType. - * @return baseType - */ - public BaseType baseType() { - return baseType; - } - - /** - * Get min. - * @return min - */ - public int min() { - return min; - } - - /** - * Get max. - * @return max - */ - public int max() { - return max; - } - - @Override - public int hashCode() { - return Objects.hash(baseType, min, max); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof AtomicColumnType) { - final AtomicColumnType other = (AtomicColumnType) obj; - return Objects.equals(this.baseType, other.baseType) - && Objects.equals(this.min, other.min) - && Objects.equals(this.max, other.max); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("baseType", baseType).add("min", min) - .add("max", max).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/BaseType.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/BaseType.java deleted file mode 100644 index d2614c12..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/BaseType.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema.type; - -/** - * One of the strings "integer", "real", "boolean", "string", or "uuid", - * representing the specified scalar type. Refer to RFC 7047 Section 3.2. - */ -public interface BaseType { - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/BaseTypeFactory.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/BaseTypeFactory.java deleted file mode 100644 index 86dbb2e6..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/BaseTypeFactory.java +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema.type; - -import java.util.Set; - -import org.onosproject.ovsdb.rfc.exception.AbnormalJsonNodeException; -import org.onosproject.ovsdb.rfc.schema.type.UuidBaseType.RefType; -import org.onosproject.ovsdb.rfc.utils.ObjectMapperUtil; - -import com.fasterxml.jackson.databind.JsonNode; -import com.google.common.collect.Sets; - -/** - * BaseType Factory class. - */ -public final class BaseTypeFactory { - - /** - * Constructs a BaseTypeFactory object. This class should not be - * instantiated. - */ - private BaseTypeFactory() { - } - - /** - * Create a BaseType from the JsonNode. - * @param baseTypeJson the BaseType JsonNode - * @param keyorval the key node or value node - * @return BaseType - */ - public static BaseType getBaseTypeFromJson(JsonNode baseTypeJson, String keyorval) { - if (baseTypeJson.isValueNode()) { - String type = baseTypeJson.asText().trim(); - return fromTypeStr(type); - } else { - if (!baseTypeJson.has(keyorval)) { - String message = "Abnormal BaseType JsonNode, it should contain 'key' or 'value' node but was not found" - + ObjectMapperUtil.convertToString(baseTypeJson); - throw new AbnormalJsonNodeException(message); - } - return fromJsonNode(baseTypeJson.get(keyorval)); - } - } - - /** - * Get BaseType by the type value of JsonNode. - * @param type the type value of JsonNode - * @return BaseType - */ - private static BaseType fromTypeStr(String type) { - switch (type) { - case "boolean": - return new BooleanBaseType(); - case "integer": - return new IntegerBaseType(); - case "real": - return new RealBaseType(); - case "string": - return new StringBaseType(); - case "uuid": - return new UuidBaseType(); - default: - return null; - } - } - - /** - * json like "string" or json like {"type" : "string", "enum": ["set", - * ["access", "native-tagged"]]}" for key or value. - * @param type JsonNode - */ - private static BaseType fromJsonNode(JsonNode type) { - if (type.isTextual()) { - return fromTypeStr(type.asText()); - } else if (type.isObject() && type.has("type")) { - String typeStr = type.get("type").asText(); - switch (typeStr) { - case "boolean": - return new BooleanBaseType(); - case "integer": - return getIntegerBaseType(type); - case "real": - return getRealBaseType(type); - case "string": - return getStringBaseType(type); - case "uuid": - return getUuidBaseType(type); - default: - return null; - } - } - return null; - } - - /** - * Get IntegerBaseType by the type value of JsonNode which contains the - * constraints. - * @param type the type value of JsonNode - * @return IntegerBaseType - */ - private static IntegerBaseType getIntegerBaseType(JsonNode type) { - int min = Integer.MIN_VALUE; - int max = Integer.MAX_VALUE; - Set<Integer> enums = Sets.newHashSet(); - JsonNode node = type.get("minInteger"); - if (node != null) { - min = node.asInt(); - } - node = type.get("maxInteger"); - if (node != null) { - max = node.asInt(); - } - if (type.has("enum")) { - JsonNode anEnum = type.get("enum").get(1); - for (JsonNode n : anEnum) { - enums.add(n.asInt()); - } - } - return new IntegerBaseType(min, max, enums); - } - - /** - * Get RealBaseType by the type value of JsonNode which contains the - * constraints. - * @param type the type value of JsonNode - * @return RealBaseType - */ - private static RealBaseType getRealBaseType(JsonNode type) { - double min = Double.MIN_VALUE; - double max = Double.MAX_VALUE; - Set<Double> enums = Sets.newHashSet(); - JsonNode node = type.get("minReal"); - if (node != null) { - min = node.asDouble(); - } - node = type.get("maxReal"); - if (node != null) { - max = node.asDouble(); - } - if (type.has("enum")) { - JsonNode anEnum = type.get("enum").get(1); - for (JsonNode n : anEnum) { - enums.add(n.asDouble()); - } - } - return new RealBaseType(min, max, enums); - } - - /** - * Get StringBaseType by the type value of JsonNode which contains the - * constraints. - * @param type the type value of JsonNode - * @return StringBaseType - */ - private static StringBaseType getStringBaseType(JsonNode type) { - int minLength = Integer.MIN_VALUE; - int maxLength = Integer.MAX_VALUE; - Set<String> enums = Sets.newHashSet(); - JsonNode node = type.get("minLength"); - if (node != null) { - minLength = node.asInt(); - } - node = type.get("maxLength"); - if (node != null) { - maxLength = node.asInt(); - } - if (type.has("enum")) { - JsonNode enumVal = type.get("enum"); - if (enumVal.isArray()) { - JsonNode anEnum = enumVal.get(1); - for (JsonNode n : anEnum) { - enums.add(n.asText()); - } - } else if (enumVal.isTextual()) { - enums.add(enumVal.asText()); - } - } - return new StringBaseType(minLength, maxLength, enums); - } - - /** - * Get UuidBaseType by the type value of JsonNode which contains the - * constraints. - * @param type the type value of JsonNode - * @return UuidBaseType - */ - private static UuidBaseType getUuidBaseType(JsonNode type) { - String refTable = null; - String refType = RefType.STRONG.refType(); - JsonNode node = type.get("refTable"); - if (node != null) { - refTable = node.asText(); - } - node = type.get("refType"); - if (node != null) { - refType = node.asText(); - } - return new UuidBaseType(refTable, refType); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/BooleanBaseType.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/BooleanBaseType.java deleted file mode 100644 index d42337a5..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/BooleanBaseType.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema.type; - -import static com.google.common.base.MoreObjects.toStringHelper; - -/** - * One of the strings "integer", "real", "boolean", "string", or "uuid", - * representing the specified scalar type. Refer to RFC 7047 Section 3.2. - * Because BooleanBaseType has no constraint conditions, and in order to be - * consistent with other BaseType, so this class is empty except for the - * toString method. - */ -public final class BooleanBaseType implements BaseType { - - @Override - public String toString() { - return toStringHelper(this).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/ColumnType.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/ColumnType.java deleted file mode 100644 index 20f1bbac..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/ColumnType.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema.type; - -/** - * The "type" specifies the type of data stored in this column. Refer to RFC - * 7047 Section 3.2. - */ -public interface ColumnType { - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/ColumnTypeFactory.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/ColumnTypeFactory.java deleted file mode 100644 index 47b34a6b..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/ColumnTypeFactory.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema.type; - -import org.onosproject.ovsdb.rfc.exception.AbnormalJsonNodeException; -import org.onosproject.ovsdb.rfc.utils.ObjectMapperUtil; - -import com.fasterxml.jackson.databind.JsonNode; - -/** - * ColumnType Factory class. - */ -public final class ColumnTypeFactory { - - /** - * Constructs a ColumnTypeFactory object. This class should not be - * instantiated. - */ - private ColumnTypeFactory() { - } - - /** - * Those Json's key/value pairs. - */ - public enum Type { - KEY("key"), VALUE("value"); - - private final String type; - - private Type(String type) { - this.type = type; - } - - /** - * Returns the type for Type. - * @return the type - */ - public String type() { - return type; - } - } - - /** - * JsonNode like - * "flow_tables":{"type":{"key":{"maxInteger":254,"minInteger":0,"type": - * "integer"},"min":0,"value":{"type":"uuid","refTable":"Flow_Table"},"max": - * "unlimited"}}. - * @param columnTypeJson the ColumnType JsonNode - * @return ColumnType - */ - public static ColumnType getColumnTypeFromJson(JsonNode columnTypeJson) { - if (!columnTypeJson.isObject() || !columnTypeJson.has(Type.VALUE.type())) { - return createAtomicColumnType(columnTypeJson); - } else if (!columnTypeJson.isValueNode() && columnTypeJson.has(Type.VALUE.type())) { - return createKeyValuedColumnType(columnTypeJson); - } - String message = "Abnormal ColumnType JsonNode, it should be AtomicColumnType or KeyValuedColumnType" - + ObjectMapperUtil.convertToString(columnTypeJson); - throw new AbnormalJsonNodeException(message); - } - - /** - * Create AtomicColumnType entity. - * @param json JsonNode - * @return AtomicColumnType entity - */ - private static AtomicColumnType createAtomicColumnType(JsonNode json) { - BaseType baseType = BaseTypeFactory.getBaseTypeFromJson(json, Type.KEY.type()); - int min = 1; - int max = 1; - JsonNode node = json.get("min"); - if (node != null && node.isNumber()) { - min = node.asInt(); - } - node = json.get("max"); - if (node != null) { - if (node.isNumber()) { - max = node.asInt(); - } else if (node.isTextual() && "unlimited".equals(node.asText())) { - max = Integer.MAX_VALUE; - } - } - return new AtomicColumnType(baseType, min, max); - } - - /** - * Create KeyValuedColumnType entity. - * @param json JsonNode - * @return KeyValuedColumnType entity - */ - private static KeyValuedColumnType createKeyValuedColumnType(JsonNode json) { - BaseType keyType = BaseTypeFactory.getBaseTypeFromJson(json, Type.KEY.type()); - BaseType valueType = BaseTypeFactory.getBaseTypeFromJson(json, Type.VALUE.type()); - int min = 1; - int max = 1; - JsonNode node = json.get("min"); - if (node != null && node.isNumber()) { - min = node.asInt(); - } - node = json.get("max"); - if (node != null) { - if (node.isNumber()) { - max = node.asInt(); - } else if (node.isTextual() && "unlimited".equals(node.asText())) { - max = Integer.MAX_VALUE; - } - } - return new KeyValuedColumnType(keyType, valueType, min, max); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/IntegerBaseType.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/IntegerBaseType.java deleted file mode 100644 index 91939515..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/IntegerBaseType.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema.type; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; -import java.util.Set; - -import com.google.common.collect.Sets; - -/** - * One of the strings "integer", "real", "boolean", "string", or "uuid", - * representing the specified scalar type. Refer to RFC 7047 Section 3.2. - */ -public final class IntegerBaseType implements BaseType { - private final int min; - private final int max; - private final Set<Integer> enums; - - /** - * Constructs a IntegerBaseType object. - */ - public IntegerBaseType() { - this.min = Integer.MIN_VALUE; - this.max = Integer.MAX_VALUE; - this.enums = Sets.newHashSet(); - } - - /** - * Constructs a IntegerBaseType object. - * @param min min constraint - * @param max max constraint - * @param enums enums constraint - */ - public IntegerBaseType(int min, int max, Set<Integer> enums) { - this.min = min; - this.max = max; - this.enums = enums; - } - - /** - * Get min. - * @return min - */ - public int min() { - return min; - } - - /** - * Get max. - * @return max - */ - public int max() { - return max; - } - - /** - * Get enums. - * @return enums - */ - public Set<Integer> enums() { - return enums; - } - - @Override - public int hashCode() { - return Objects.hash(min, max, enums); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof IntegerBaseType) { - final IntegerBaseType other = (IntegerBaseType) obj; - return Objects.equals(this.enums, other.enums) - && Objects.equals(this.min, other.min) - && Objects.equals(this.max, other.max); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("min", min).add("max", max) - .add("enums", enums).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/KeyValuedColumnType.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/KeyValuedColumnType.java deleted file mode 100644 index 8407457a..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/KeyValuedColumnType.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema.type; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * a JSON object that describes the type of a database column, with key and - * value. Refer to RFC 7047 Section 3.2. - */ -public final class KeyValuedColumnType implements ColumnType { - private final BaseType keyType; - private final BaseType valueType; - private final int min; - private final int max; - - /** - * Constructs a KeyValuedColumnType object. - * @param keyType BaseType entity - * @param valueType BaseType entity - * @param min min constraint - * @param max max constraint - */ - public KeyValuedColumnType(BaseType keyType, BaseType valueType, int min, - int max) { - checkNotNull(keyType, "keyType cannot be null"); - checkNotNull(valueType, "valueType cannot be null"); - this.keyType = keyType; - this.valueType = valueType; - this.min = min; - this.max = max; - } - - /** - * Get keyType. - * @return keyType - */ - public BaseType keyType() { - return keyType; - } - - /** - * Get valueType. - * @return valueType - */ - public BaseType valueType() { - return valueType; - } - - /** - * Get min. - * @return min - */ - public int min() { - return min; - } - - /** - * Get max. - * @return max - */ - public int max() { - return max; - } - - @Override - public int hashCode() { - return Objects.hash(keyType, valueType, min, max); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof KeyValuedColumnType) { - final KeyValuedColumnType other = (KeyValuedColumnType) obj; - return Objects.equals(this.keyType, other.keyType) - && Objects.equals(this.valueType, other.valueType) - && Objects.equals(this.min, other.min) - && Objects.equals(this.max, other.max); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("keyType", keyType) - .add("valueType", valueType).add("min", min).add("max", max) - .toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/RealBaseType.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/RealBaseType.java deleted file mode 100644 index 6704e30a..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/RealBaseType.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema.type; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; -import java.util.Set; - -import com.google.common.collect.Sets; - -/** - * One of the strings "integer", "real", "boolean", "string", or "uuid", - * representing the specified scalar type. Refer to RFC 7047 Section 3.2. - */ -public final class RealBaseType implements BaseType { - private final double min; - private final double max; - private final Set<Double> enums; - - /** - * Constructs a RealBaseType object. - */ - public RealBaseType() { - this.min = Double.MIN_VALUE; - this.max = Double.MAX_VALUE; - this.enums = Sets.newHashSet(); - } - - /** - * Constructs a RealBaseType object. - * @param min min constraint - * @param max max constraint - * @param enums enums constraint - */ - public RealBaseType(double min, double max, Set<Double> enums) { - this.min = min; - this.max = max; - this.enums = enums; - } - - /** - * Get min. - * @return min - */ - public double getMin() { - return min; - } - - /** - * Get max. - * @return max - */ - public double getMax() { - return max; - } - - /** - * Get enums. - * @return enums - */ - public Set<Double> getEnums() { - return enums; - } - - @Override - public int hashCode() { - return Objects.hash(min, max, enums); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof RealBaseType) { - final RealBaseType other = (RealBaseType) obj; - return Objects.equals(this.enums, other.enums) - && Objects.equals(this.min, other.min) - && Objects.equals(this.max, other.max); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("min", min).add("max", max) - .add("enums", enums).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/StringBaseType.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/StringBaseType.java deleted file mode 100644 index 96d2f739..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/StringBaseType.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema.type; - -import static com.google.common.base.MoreObjects.toStringHelper; - -import java.util.Objects; -import java.util.Set; - -import com.google.common.collect.Sets; - -/** - * One of the strings "integer", "real", "boolean", "string", or "uuid", - * representing the specified scalar type. Refer to RFC 7047 Section 3.2. - */ -public final class StringBaseType implements BaseType { - private final int minLength; - private final int maxLength; - private final Set<String> enums; - - /** - * Constructs a StringBaseType object. - */ - public StringBaseType() { - this.minLength = Integer.MIN_VALUE; - this.maxLength = Integer.MAX_VALUE; - this.enums = Sets.newHashSet(); - } - - /** - * Constructs a StringBaseType object. - * @param minLength minLength constraint - * @param maxLength maxLength constraint - * @param enums enums constraint - */ - public StringBaseType(int minLength, int maxLength, Set<String> enums) { - this.minLength = minLength; - this.maxLength = maxLength; - this.enums = enums; - } - - /** - * Get minLength. - * @return minLength - */ - public int getMinLength() { - return minLength; - } - - /** - * Get maxLength. - * @return maxLength - */ - public int getMaxLength() { - return maxLength; - } - - /** - * Get enums. - * @return enums - */ - public Set<String> getEnums() { - return enums; - } - - @Override - public int hashCode() { - return Objects.hash(minLength, maxLength, enums); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof StringBaseType) { - final StringBaseType other = (StringBaseType) obj; - return Objects.equals(this.enums, other.enums) - && Objects.equals(this.minLength, other.minLength) - && Objects.equals(this.maxLength, other.maxLength); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("minLength", minLength) - .add("maxLength", maxLength).add("enums", enums).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/UuidBaseType.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/UuidBaseType.java deleted file mode 100644 index 46e0d9fa..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/UuidBaseType.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.schema.type; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -/** - * One of the strings "integer", "real", "boolean", "string", or "uuid", - * representing the specified scalar type. Refer to RFC 7047 Section 3.2. - */ -public final class UuidBaseType implements BaseType { - /** - * RefType is strong or weak. refer to base-type of RFC 7047 Section 3.2. - */ - public enum RefType { - STRONG("strong"), WEAK("weak"); - - private String refType; - - private RefType(String refType) { - this.refType = refType; - } - - /** - * Returns the refType for RefType. - * @return the refType - */ - public String refType() { - return refType; - } - } - - private final String refTable; - private final String refType; - - /** - * Constructs a UuidBaseType object. - */ - public UuidBaseType() { - this.refTable = null; - this.refType = RefType.STRONG.refType(); - } - - /** - * Constructs a UuidBaseType object. - * @param refTable refTable constraint - * @param refType refType constraint - */ - public UuidBaseType(String refTable, String refType) { - checkNotNull(refType, "refType cannot be null"); - this.refTable = refTable; - this.refType = refType; - } - - /** - * Get refTable. - * @return refTable - */ - public String getRefTable() { - return refTable; - } - - /** - * Get refType. - * @return refType - */ - public String getRefType() { - return refType; - } - - @Override - public int hashCode() { - return Objects.hash(refTable, refType); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof UuidBaseType) { - final UuidBaseType other = (UuidBaseType) obj; - return Objects.equals(this.refTable, other.refTable) - && Objects.equals(this.refType, other.refType); - } - return false; - } - - @Override - public String toString() { - return toStringHelper(this).add("refTable", refTable) - .add("refType", refType).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/package-info.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/package-info.java deleted file mode 100644 index eade2e28..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * OVSDB schema types. - */ -package org.onosproject.ovsdb.rfc.schema.type; diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Bridge.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Bridge.java deleted file mode 100644 index 0b5ffeff..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Bridge.java +++ /dev/null @@ -1,560 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.OvsdbSet; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -import java.util.Map; -import java.util.Set; - -/** - * This class provides operations of Bridge Table. - */ -public class Bridge extends AbstractOvsdbTableService { - - /** - * Bridge table column name. - */ - public enum BridgeColumn { - NAME("name"), DATAPATHTYPE("datapath_type"), DATAPATHID("datapath_id"), - STPENABLE("stpenable"), PORTS("ports"), MIRRORS("mirrors"), - NETFLOW("netflow"), SFLOW("sflow"), IPFIX("ipfix"), - CONTROLLER("controller"), PROTOCOLS("protocols"), - FAILMODE("fail_mode"), STATUS("status"), OTHERCONFIG("other_config"), - EXTERNALIDS("external_ids"), FLOODVLANS("flood_vlans"), - FLOWTABLES("flow_tables"); - - private final String columnName; - - private BridgeColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for BridgeColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a Bridge object. Generate Bridge Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public Bridge(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.BRIDGE, VersionNum.VERSION100); - } - - /** - * Get the Column entity which column name is "name" from the Row entity of - * attributes. - * @return the Column entity which column name is "name" - */ - public Column getNameColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.NAME - .columnName(), - "getNameColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "name" to the Row entity of - * attributes. - * @param name the column data which column name is "name" - */ - public void setName(String name) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.NAME - .columnName(), - "setName", - VersionNum.VERSION100); - super.setDataHandler(columndesc, name); - } - - /** - * Get the column data which column name is "name" from the Row entity of - * attributes. - * @return the column data which column name is "name" - */ - public String getName() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.NAME - .columnName(), - "getName", - VersionNum.VERSION100); - return (String) super.getDataHandler(columndesc); - } - - /** - * Get the Column entity which column name is "datapath_type" from the Row - * entity of attributes. - * @return the Column entity which column name is "datapath_type" - */ - public Column getDatapathTypeColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.DATAPATHTYPE - .columnName(), - "getDatapathTypeColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "datapath_type" to the Row - * entity of attributes. - * @param datapathType the column data which column name is "datapath_type" - */ - public void setDatapathType(String datapathType) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.DATAPATHTYPE - .columnName(), - "setDatapathType", - VersionNum.VERSION100); - super.setDataHandler(columndesc, datapathType); - } - - /** - * Get the Column entity which column name is "datapath_id" from the Row - * entity of attributes. - * @return the Column entity which column name is "datapath_id" - */ - public Column getDatapathIdColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.DATAPATHID - .columnName(), - "getDatapathIdColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "datapath_id" to the Row entity - * of attributes. - * @param datapathId the column data which column name is "datapath_id" - */ - public void setDatapathId(Set<String> datapathId) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.DATAPATHID - .columnName(), - "setDatapathId", - VersionNum.VERSION100); - super.setDataHandler(columndesc, datapathId); - } - - /** - * Get the Column entity which column name is "stpenable" from the Row - * entity of attributes. - * @return the Column entity which column name is "stpenable" - */ - public Column getStpEnableColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.STPENABLE - .columnName(), - "getStpEnableColumn", - VersionNum.VERSION620); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "stpenable" to the Row entity of - * attributes. - * @param stpenable the column data which column name is "stpenable" - */ - public void setStpEnable(Boolean stpenable) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.STPENABLE - .columnName(), - "setStpEnable", - VersionNum.VERSION620); - super.setDataHandler(columndesc, stpenable); - } - - /** - * Get the Column entity which column name is "ports" from the Row entity of - * attributes. - * @return the Column entity which column name is "ports" - */ - public Column getPortsColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.PORTS - .columnName(), - "getPortsColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "ports" to the Row entity of - * attributes. - * @param ports the column data which column name is "ports" - */ - public void setPorts(Set<UUID> ports) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.PORTS - .columnName(), - "setPorts", - VersionNum.VERSION100); - super.setDataHandler(columndesc, ports); - } - - /** - * Get the Column entity which column name is "mirrors" from the Row entity - * of attributes. - * @return the Column entity which column name is "mirrors" - */ - public Column getMirrorsColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.MIRRORS - .columnName(), - "getMirrorsColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "mirrors" to the Row entity of - * attributes. - * @param mirrors the column data which column name is "mirrors" - */ - public void setMirrors(Set<UUID> mirrors) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.MIRRORS - .columnName(), - "setMirrors", - VersionNum.VERSION100); - super.setDataHandler(columndesc, mirrors); - } - - /** - * Get the Column entity which column name is "netflow" from the Row entity - * of attributes. - * @return the Column entity which column name is "netflow" - */ - public Column getNetflowColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.NETFLOW - .columnName(), - "getNetflowColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "netflow" to the Row entity of - * attributes. - * @param netflow the column data which column name is "netflow" - */ - public void setNetflow(Set<UUID> netflow) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.NETFLOW - .columnName(), - "setNetflow", - VersionNum.VERSION100); - super.setDataHandler(columndesc, netflow); - } - - /** - * Get the Column entity which column name is "sflow" from the Row entity of - * attributes. - * @return the Column entity which column name is "sflow" - */ - public Column getSflowColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.SFLOW - .columnName(), - "getSflowColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "sflow" to the Row entity of - * attributes. - * @param sflow the column data which column name is "sflow" - */ - public void setSflow(Set<UUID> sflow) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.SFLOW - .columnName(), - "setSflow", - VersionNum.VERSION100); - super.setDataHandler(columndesc, sflow); - } - - /** - * Get the Column entity which column name is "ipfix" from the Row entity of - * attributes. - * @return the Column entity which column name is "ipfix" - */ - public Column getIpfixColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.IPFIX - .columnName(), - "getIpfixColumn", - VersionNum.VERSION710); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "ipfix" to the Row entity of - * attributes. - * @param ipfix the column data which column name is "ipfix" - */ - public void setIpfix(Set<UUID> ipfix) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.IPFIX - .columnName(), - "setIpfix", - VersionNum.VERSION710); - super.setDataHandler(columndesc, ipfix); - } - - /** - * Get the Column entity which column name is "controller" from the Row - * entity of attributes. - * @return the Column entity which column name is "controller" - */ - public Column getControllerColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.CONTROLLER - .columnName(), - "getControllerColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "controller" to the Row entity - * of attributes. - * @param controller the column data which column name is "controller" - */ - public void setController(OvsdbSet controller) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.CONTROLLER - .columnName(), - "setController", - VersionNum.VERSION100); - super.setDataHandler(columndesc, controller); - } - - /** - * Get the Column entity which column name is "protocols" from the Row - * entity of attributes. - * @return the Column entity which column name is "protocols" - */ - public Column getProtocolsColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.PROTOCOLS - .columnName(), - "getProtocolsColumn", - VersionNum.VERSION6111); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "protocols" to the Row entity of - * attributes. - * @param protocols the column data which column name is "protocols" - */ - public void setProtocols(Set<String> protocols) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.PROTOCOLS - .columnName(), - "setProtocols", - VersionNum.VERSION6111); - super.setDataHandler(columndesc, protocols); - } - - /** - * Get the Column entity which column name is "fail_mode" from the Row - * entity of attributes. - * @return the Column entity which column name is "fail_mode" - */ - public Column getFailModeColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.FAILMODE - .columnName(), - "getFailModeColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "fail_mode" to the Row entity of - * attributes. - * @param failMode the column data which column name is "fail_mode" - */ - public void setFailMode(Set<String> failMode) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.FAILMODE - .columnName(), - "setFailMode", - VersionNum.VERSION100); - super.setDataHandler(columndesc, failMode); - } - - /** - * Get the Column entity which column name is "status" from the Row entity - * of attributes. - * @return the Column entity which column name is "status" - */ - public Column getStatusColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.STATUS - .columnName(), - "getStatusColumn", - VersionNum.VERSION620); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "status" to the Row entity of - * attributes. - * @param status the column data which column name is "status" - */ - public void setStatus(Map<String, String> status) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.STATUS - .columnName(), - "setStatus", - VersionNum.VERSION620); - super.setDataHandler(columndesc, status); - } - - /** - * Get the Column entity which column name is "other_config" from the Row - * entity of attributes. - * @return the Column entity which column name is "other_config" - */ - public Column getOtherConfigColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.OTHERCONFIG - .columnName(), - "getOtherConfigColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "other_config" to the Row entity - * of attributes. - * @param otherConfig the column data which column name is "other_config" - */ - public void setOtherConfig(Map<String, String> otherConfig) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.OTHERCONFIG - .columnName(), - "setOtherConfig", - VersionNum.VERSION100); - super.setDataHandler(columndesc, otherConfig); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity which column name is "external_ids" - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.EXTERNALIDS - .columnName(), - "getExternalIdsColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.EXTERNALIDS - .columnName(), - "setExternalIds", - VersionNum.VERSION100); - super.setDataHandler(columndesc, externalIds); - } - - /** - * Get the Column entity which column name is "flood_vlans" from the Row - * entity of attributes. - * @return the Column entity which column name is "flood_vlans" - */ - public Column getFloodVlansColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.FLOODVLANS - .columnName(), - "getFloodVlansColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "flood_vlans" to the Row entity - * of attributes. - * @param vlans the column data which column name is "flood_vlans" - */ - public void setFloodVlans(Set<Long> vlans) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.FLOODVLANS - .columnName(), - "setFloodVlans", - VersionNum.VERSION100); - super.setDataHandler(columndesc, vlans); - } - - /** - * Get the Column entity which column name is "flow_tables" from the Row - * entity of attributes. - * @return the Column entity which column name is "flow_tables" - */ - public Column getFlowTablesColumn() { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.FLOWTABLES - .columnName(), - "getFlowTablesColumn", - VersionNum.VERSION650); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "flow_tables" to the Row entity - * of attributes. - * @param flowTables the column data which column name is "flow_tables" - */ - public void setFlowTables(Map<Long, UUID> flowTables) { - ColumnDescription columndesc = new ColumnDescription( - BridgeColumn.FLOWTABLES - .columnName(), - "setFlowTables", - VersionNum.VERSION650); - super.setDataHandler(columndesc, flowTables); - } - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Controller.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Controller.java deleted file mode 100644 index 912526cc..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Controller.java +++ /dev/null @@ -1,556 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import java.util.Map; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -/** - * This class provides operations of Controller Table. - */ -public class Controller extends AbstractOvsdbTableService { - - /** - * Controller table column name. - */ - public enum ControllerColumn { - TARGET("target"), BURSTLIMIT("controller_burst_limit"), - RATELIMIT("controller_rate_limit"), CONNECTIONMODE("connection_mode"), - ENABLEASYNCMESSAGES("enable_async_messages"), - EXTERNALIDS("external_ids"), LOCALNETMASK("local_netmask"), - LOCALGATEWAY("local_gateway"), STATUS("status"), ROLE("role"), - INACTIVITYPROBE("inactivity_probe"), ISCONNECTED("is_connected"), - OTHERCONFIG("other_config"), MAXBACKOFF("max_backoff"), - LOCALIP("local_ip"), - DISCOVERUPDATERESOLVCONF("discover_update_resolv_conf"), - DISCOVERACCEPTREGEX("discover_accept_regex"); - - private final String columnName; - - private ControllerColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for ControllerColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a Controller object. Generate Controller Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public Controller(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.CONTROLLER, VersionNum.VERSION100); - } - - /** - * Get the Column entity which column name is "target" from the Row entity - * of attributes. - * @return the Column entity which column name is "target" - */ - public Column getTargetColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.TARGET - .columnName(), - "getTargetColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "target" to the Row entity of - * attributes. - * @param target the column data which column name is "target" - */ - public void setTarget(String target) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.TARGET - .columnName(), - "setTarget", - VersionNum.VERSION100); - super.setDataHandler(columndesc, target); - } - - /** - * Get the Column entity which column name is "controller_burst_limit" from - * the Row entity of attributes. - * @return the Column entity which column name is "controller_burst_limit" - */ - public Column getBurstLimitColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.BURSTLIMIT - .columnName(), - "getBurstLimitColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "controller_burst_limit" to the - * Row entity of attributes. - * @param burstLimit the column data which column name is - * "controller_burst_limit" - */ - public void setBurstLimit(Long burstLimit) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.BURSTLIMIT - .columnName(), - "setBurstLimit", - VersionNum.VERSION100); - super.setDataHandler(columndesc, burstLimit); - } - - /** - * Get the Column entity which column name is "controller_rate_limit" from - * the Row entity of attributes. - * @return the Column entity which column name is "controller_rate_limit" - */ - public Column getRateLimitColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.RATELIMIT - .columnName(), - "getRateLimitColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "controller_rate_limit" to the - * Row entity of attributes. - * @param rateLimit the column data which column name is - * "controller_rate_limit" - */ - public void setRateLimit(Long rateLimit) { - ColumnDescription columndesc = new ColumnDescription( - "controller_rate_limit", - "setRateLimit", - VersionNum.VERSION100); - super.setDataHandler(columndesc, rateLimit); - } - - /** - * Get the Column entity which column name is "connection_mode" from the Row - * entity of attributes. - * @return the Column entity which column name is "connection_mode" - */ - public Column getConnectionModeColumn() { - ColumnDescription columndesc = new ColumnDescription( - "connection_mode", - "getConnectionModeColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "connection_mode" to the Row - * entity of attributes. - * @param connectionMode the column data which column name is - * "connection_mode" - */ - public void setConnectionMode(Set<String> connectionMode) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.RATELIMIT - .columnName(), - "setConnectionMode", - VersionNum.VERSION100); - super.setDataHandler(columndesc, connectionMode); - } - - /** - * Get the Column entity which column name is "enable_async_messages" from - * the Row entity of attributes. - * @return the Column entity which column name is "enable_async_messages" - */ - public Column getEnableAsyncMessagesColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.ENABLEASYNCMESSAGES - .columnName(), - "getEnableAsyncMessagesColumn", - VersionNum.VERSION670); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "enable_async_messages" to the - * Row entity of attributes. - * @param enableAsyncMessages the column data which column name is - * "enable_async_messages" - */ - public void setEnableAsyncMessages(Set<Boolean> enableAsyncMessages) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.ENABLEASYNCMESSAGES - .columnName(), - "setEnableAsyncMessages", - VersionNum.VERSION670); - super.setDataHandler(columndesc, enableAsyncMessages); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity which column name is "external_ids" - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.EXTERNALIDS - .columnName(), - "getExternalIdsColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.EXTERNALIDS - .columnName(), - "setExternalIds", - VersionNum.VERSION100); - super.setDataHandler(columndesc, externalIds); - } - - /** - * Get the Column entity which column name is "local_netmask" from the Row - * entity of attributes. - * @return the Column entity which column name is "local_netmask" - */ - public Column getLocalNetmaskColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.LOCALNETMASK - .columnName(), - "getLocalNetmaskColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "local_netmask" to the Row - * entity of attributes. - * @param localNetmask the column data which column name is "local_netmask" - */ - public void setLocalNetmask(Set<String> localNetmask) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.LOCALNETMASK - .columnName(), - "setLocalNetmask", - VersionNum.VERSION100); - super.setDataHandler(columndesc, localNetmask); - } - - /** - * Get the Column entity which column name is "local_gateway" from the Row - * entity of attributes. - * @return the Column entity which column name is "local_gateway" - */ - public Column getLocalGatewayColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.LOCALGATEWAY - .columnName(), - "getLocalGatewayColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "local_gateway" to the Row - * entity of attributes. - * @param localGateway the column data which column name is "local_gateway" - */ - public void setLocalGateway(Set<String> localGateway) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.LOCALGATEWAY - .columnName(), - "setLocalGateway", - VersionNum.VERSION100); - super.setDataHandler(columndesc, localGateway); - } - - /** - * Get the Column entity which column name is "status" from the Row entity - * of attributes. - * @return the Column entity which column name is "status" - */ - public Column getStatusColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.STATUS - .columnName(), - "getStatusColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "status" to the Row entity of - * attributes. - * @param status the column data which column name is "status" - */ - public void setStatus(Map<String, String> status) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.STATUS - .columnName(), - "setStatus", - VersionNum.VERSION100); - super.setDataHandler(columndesc, status); - } - - /** - * Get the Column entity which column name is "role" from the Row entity of - * attributes. - * @return the Column entity which column name is "role" - */ - public Column getRoleColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.ROLE - .columnName(), - "getRoleColumn", - VersionNum.VERSION110); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "role" to the Row entity of - * attributes. - * @param role the column data which column name is "role" - */ - public void setRole(Set<String> role) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.ROLE - .columnName(), - "setRole", - VersionNum.VERSION110); - super.setDataHandler(columndesc, role); - } - - /** - * Get the Column entity which column name is "inactivity_probe" from the - * Row entity of attributes. - * @return the Column entity which column name is "inactivity_probe" - */ - public Column getInactivityProbeColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.INACTIVITYPROBE - .columnName(), - "getInactivityProbeColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "inactivity_probe" to the Row - * entity of attributes. - * @param inactivityProbe the column data which column name is - * "inactivity_probe" - */ - public void setInactivityProbe(Set<Long> inactivityProbe) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.INACTIVITYPROBE - .columnName(), - "setInactivityProbe", - VersionNum.VERSION100); - super.setDataHandler(columndesc, inactivityProbe); - } - - /** - * Get the Column entity which column name is "is_connected" from the Row - * entity of attributes. - * @return the Column entity which column name is "is_connected" - */ - public Column getIsConnectedColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.ISCONNECTED - .columnName(), - "getIsConnectedColumn", - VersionNum.VERSION110); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "is_connected" to the Row entity - * of attributes. - * @param isConnected the column data which column name is "is_connected" - */ - public void setIsConnected(Boolean isConnected) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.ISCONNECTED - .columnName(), - "setIsConnected", - VersionNum.VERSION110); - super.setDataHandler(columndesc, isConnected); - } - - /** - * Get the Column entity which column name is "other_config" from the Row - * entity of attributes. - * @return the Column entity which column name is "other_config" - */ - public Column getOtherConfigColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.OTHERCONFIG - .columnName(), - "getOtherConfigColumn", - VersionNum.VERSION680); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "other_config" to the Row entity - * of attributes. - * @param otherConfig the column data which column name is "other_config" - */ - public void setOtherConfig(Map<String, String> otherConfig) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.OTHERCONFIG - .columnName(), - "setOtherConfig", - VersionNum.VERSION680); - super.setDataHandler(columndesc, otherConfig); - } - - /** - * Get the Column entity which column name is "max_backoff" from the Row - * entity of attributes. - * @return the Column entity which column name is "max_backoff" - */ - public Column getMaxBackoffColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.MAXBACKOFF - .columnName(), - "getMaxBackoffColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "max_backoff" to the Row entity - * of attributes. - * @param maxBackoff the column data which column name is "max_backoff" - */ - public void setMaxBackoff(Long maxBackoff) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.MAXBACKOFF - .columnName(), - "setMaxBackoff", - VersionNum.VERSION100); - super.setDataHandler(columndesc, maxBackoff); - } - - /** - * Get the Column entity which column name is "local_ip" from the Row entity - * of attributes. - * @return the Column entity which column name is "local_ip" - */ - public Column getLocalIpColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.LOCALIP - .columnName(), - "getLocalIpColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "local_ip" to the Row entity of - * attributes. - * @param localIp the column data which column name is "local_ip" - */ - public void setLocalIp(Set<String> localIp) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.LOCALIP - .columnName(), - "setLocalIp", - VersionNum.VERSION100); - super.setDataHandler(columndesc, localIp); - } - - /** - * Get the Column entity which column name is "discover_update_resolv_conf" - * from the Row entity of attributes. - * @return the Column entity which column name is - * "discover_update_resolv_conf" - */ - public Column getDiscoverUpdateResolvConfColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.DISCOVERUPDATERESOLVCONF - .columnName(), - "getDiscoverUpdateResolvConfColumn", - VersionNum.VERSION100, - VersionNum.VERSION300); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "discover_update_resolv_conf" to - * the Row entity of attributes. - * @param discoverUpdateResolvConf the column data which column name is - * "discover_update_resolv_conf" - */ - public void setDiscoverUpdateResolvConf(Set<String> discoverUpdateResolvConf) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.DISCOVERUPDATERESOLVCONF - .columnName(), - "setDiscoverUpdateResolvConf", - VersionNum.VERSION100, - VersionNum.VERSION300); - super.setDataHandler(columndesc, discoverUpdateResolvConf); - } - - /** - * Get the Column entity which column name is "discover_accept_regex" from - * the Row entity of attributes. - * @return the Column entity which column name is "discover_accept_regex" - */ - public Column getDiscoverAcceptRegexColumn() { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.DISCOVERACCEPTREGEX - .columnName(), - "getDiscoverAcceptRegexColumn", - VersionNum.VERSION100, - VersionNum.VERSION300); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "discover_accept_regex" to the - * Row entity of attributes. - * @param discoverAcceptRegex the column data which column name is - * "discover_accept_regex" - */ - public void setDiscoverAcceptRegex(Set<String> discoverAcceptRegex) { - ColumnDescription columndesc = new ColumnDescription( - ControllerColumn.DISCOVERACCEPTREGEX - .columnName(), - "setDiscoverAcceptRegex", - VersionNum.VERSION100, - VersionNum.VERSION300); - super.setDataHandler(columndesc, discoverAcceptRegex); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/FlowSampleCollectorSet.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/FlowSampleCollectorSet.java deleted file mode 100644 index 05a0354f..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/FlowSampleCollectorSet.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import java.util.Map; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -/** - * This class provides operations of FlowSampleCollectorSet Table. - */ -public class FlowSampleCollectorSet extends AbstractOvsdbTableService { - /** - * FlowSampleCollectorSet table column name. - */ - public enum FlowSampleCollectorSetColumn { - ID("id"), BRIDGE("bridge"), IPFIX("ipfix"), EXTERNALIDS("external_ids"); - - private final String columnName; - - private FlowSampleCollectorSetColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for FlowSampleCollectorSetColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a FlowSampleCollectorSet object. Generate - * FlowSampleCollectorSet Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public FlowSampleCollectorSet(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.FLOWSAMPLECOLLECTORSET, VersionNum.VERSION710); - } - - /** - * Get the Column entity which column name is "id" from the Row entity of - * attributes. - * @return the Column entity which column name is "id" - */ - public Column getIdColumn() { - ColumnDescription columndesc = new ColumnDescription(FlowSampleCollectorSetColumn.ID.columnName(), - "getIdColumn", VersionNum.VERSION710); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "id" to the Row entity of - * attributes. - * @param id the column data which column name is "id" - */ - public void setId(Long id) { - ColumnDescription columndesc = new ColumnDescription(FlowSampleCollectorSetColumn.ID.columnName(), - "setId", VersionNum.VERSION710); - super.setDataHandler(columndesc, id); - } - - /** - * Get the Column entity which column name is "bridge" from the Row entity - * of attributes. - * @return the Column entity which column name is "bridge" - */ - public Column getBridgeColumn() { - ColumnDescription columndesc = new ColumnDescription(FlowSampleCollectorSetColumn.BRIDGE.columnName(), - "getBridgeColumn", VersionNum.VERSION710); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "bridge" to the Row entity of - * attributes. - * @param bridge the column data which column name is "bridge" - */ - public void setBridge(UUID bridge) { - ColumnDescription columndesc = new ColumnDescription(FlowSampleCollectorSetColumn.BRIDGE.columnName(), - "setBridge", VersionNum.VERSION710); - super.setDataHandler(columndesc, bridge); - } - - /** - * Get the Column entity which column name is "ipfix" from the Row entity of - * attributes. - * @return the Column entity which column name is "ipfix" - */ - public Column getIpfixColumn() { - ColumnDescription columndesc = new ColumnDescription(FlowSampleCollectorSetColumn.IPFIX.columnName(), - "getIpfixColumn", VersionNum.VERSION710); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "ipfix" to the Row entity of - * attributes. - * @param ipfix the column data which column name is "ipfix" - */ - public void setIpfix(UUID ipfix) { - ColumnDescription columndesc = new ColumnDescription(FlowSampleCollectorSetColumn.IPFIX.columnName(), - "setIpfix", VersionNum.VERSION710); - super.setDataHandler(columndesc, ipfix); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity which column name is "external_ids" - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription(FlowSampleCollectorSetColumn.EXTERNALIDS - .columnName(), - "getExternalIdsColumn", VersionNum.VERSION710); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription(FlowSampleCollectorSetColumn.EXTERNALIDS - .columnName(), - "setExternalIds", VersionNum.VERSION710); - super.setDataHandler(columndesc, externalIds); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/FlowTable.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/FlowTable.java deleted file mode 100644 index ed1c217a..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/FlowTable.java +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import java.util.Map; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -/** - * This class provides operations of FlowTable Table. - */ -public class FlowTable extends AbstractOvsdbTableService { - /** - * FlowTable table column name. - */ - public enum FlowTableColumn { - FLOWLIMIT("flow_limit"), OVERFLOWPOLICY("overflow_policy"), GROUPS("groups"), NAME("name"), - PREFIXES("prefixes"), EXTERNALIDS("external_ids"); - - private final String columnName; - - private FlowTableColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for FlowTableColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a FlowTable object. Generate FlowTable Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public FlowTable(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.FLWTABLE, VersionNum.VERSION650); - } - - /** - * Get the Column entity which column name is "flow_limit" from the Row - * entity of attributes. - * @return the Column entity which column name is "flow_limit" - */ - public Column getFlowLimitColumn() { - ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.FLOWLIMIT.columnName(), - "getFlowLimitColumn", VersionNum.VERSION650); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "flow_limit" to the Row entity - * of attributes. - * @param flowLimit the column data which column name is "flow_limit" - */ - public void setFlowLimit(Set<Long> flowLimit) { - ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.FLOWLIMIT.columnName(), - "setFlowLimit", VersionNum.VERSION650); - super.setDataHandler(columndesc, flowLimit); - } - - /** - * Get the Column entity which column name is "overflow_policy" from the Row - * entity of attributes. - * @return the Column entity which column name is "overflow_policy" - */ - public Column getOverflowPolicyColumn() { - ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.OVERFLOWPOLICY.columnName(), - "getOverflowPolicyColumn", VersionNum.VERSION650); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "overflow_policy" to the Row - * entity of attributes. - * @param overflowPolicy the column data which column name is - * "overflow_policy" - */ - public void setOverflowPolicy(Set<String> overflowPolicy) { - ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.OVERFLOWPOLICY.columnName(), - "setOverflowPolicy", VersionNum.VERSION650); - super.setDataHandler(columndesc, overflowPolicy); - } - - /** - * Get the Column entity which column name is "groups" from the Row entity - * of attributes. - * @return the Column entity which column name is "groups" - */ - public Column getGroupsColumn() { - ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.GROUPS.columnName(), - "getGroupsColumn", VersionNum.VERSION650); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "groups" to the Row entity of - * attributes. - * @param groups the column data which column name is "groups" - */ - public void setGroups(Set<String> groups) { - ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.GROUPS.columnName(), - "setGroups", VersionNum.VERSION650); - super.setDataHandler(columndesc, groups); - } - - /** - * Get the Column entity which column name is "name" from the Row entity of - * attributes. - * @return the Column entity which column name is "name" - */ - public Column getNameColumn() { - ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.NAME.columnName(), - "getNameColumn", VersionNum.VERSION650); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "name" to the Row entity of - * attributes. - * @param name the column data which column name is "name" - */ - public void setName(Set<String> name) { - ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.NAME.columnName(), - "setName", - VersionNum.VERSION650); - super.setDataHandler(columndesc, name); - } - - /** - * Get the Column entity which column name is "prefixes" from the Row entity - * of attributes. - * @return the Column entity which column name is "prefixes" - */ - public Column getPrefixesColumn() { - ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.PREFIXES.columnName(), - "getPrefixesColumn", VersionNum.VERSION740); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "prefixes" to the Row entity of - * attributes. - * @param prefixes the column data which column name is "prefixes" - */ - public void setPrefixes(Set<String> prefixes) { - ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.PREFIXES.columnName(), - "setPrefixes", VersionNum.VERSION740); - super.setDataHandler(columndesc, prefixes); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity which column name is "external_ids" - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.EXTERNALIDS.columnName(), - "getExternalIdsColumn", VersionNum.VERSION750); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription(FlowTableColumn.EXTERNALIDS.columnName(), - "setExternalIds", VersionNum.VERSION750); - super.setDataHandler(columndesc, externalIds); - } - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Interface.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Interface.java deleted file mode 100644 index ee946287..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Interface.java +++ /dev/null @@ -1,1024 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import java.util.Map; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -/** - * This class provides operations of Interface Table. - */ -public class Interface extends AbstractOvsdbTableService { - - /** - * Interface table column name. - */ - public enum InterfaceColumn { - NAME("name"), TYPE("type"), OPTIONS("options"), - INGRESSPOLICINGRATE("ingress_policing_rate"), - INGRESSPOLICINGBURST("ingress_policing_burst"), MACINUSE("mac_in_use"), - MAC("mac"), IFINDEX("ifindex"), EXTERNALIDS("external_ids"), - OFPORT("ofport"), OFPORTREQUEST("ofport_request"), BFD("bfd"), - BFDSTATUS("bfd_status"), MONITOR("monitor"), CFMMPID("cfm_mpid"), - CFMREMOTEMPID("cfm_remote_mpid"), CFMREMOTEMPIDS("cfm_remote_mpids"), - CFMFLAPCOUNT("cfm_flap_count"), CFMFAULT("cfm_fault"), - CFMFAULTSTATUS("cfm_fault_status"), - CFMREMOTEOPSTATE("cfm_remote_opstate"), CFMHEALTH("cfm_health"), - LACPCURRENT("lacp_current"), OTHERCONFIG("other_config"), - STATISTICS("statistics"), STATUS("status"), ADMINSTATE("admin_state"), - LINKSTATE("link_state"), LINKRESETS("link_resets"), - LINKSPEED("link_speed"), DUPLEX("duplex"), MTU("mtu"), ERROR("error"); - - private final String columnName; - - private InterfaceColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for InterfaceColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a Interface object. Generate Interface Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public Interface(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.INTERFACE, VersionNum.VERSION100); - } - - /** - * Get the Column entity which column name is "name" from the Row entity of - * attributes. - * @return the Column entity which column name is "name" - */ - public Column getNameColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.NAME - .columnName(), - "getNameColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "name" to the Row entity of - * attributes. - * @param name the column data which column name is "name" - */ - public void setName(String name) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.NAME - .columnName(), - "setName", - VersionNum.VERSION100); - super.setDataHandler(columndesc, name); - } - - /** - * Get the column data which column name is "name" from the Row entity of - * attributes. - * @return the column data which column name is "name" - */ - public String getName() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.NAME - .columnName(), - "getName", - VersionNum.VERSION100); - return (String) super.getDataHandler(columndesc); - } - - /** - * Get the Column entity which column name is "type" from the Row entity of - * attributes. - * @return the Column entity which column name is "type" - */ - public Column getTypeColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.TYPE - .columnName(), - "getTypeColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "type" to the Row entity of - * attributes. - * @param type the column data which column name is "type" - */ - public void setType(String type) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.TYPE - .columnName(), - "setType", - VersionNum.VERSION100); - super.setDataHandler(columndesc, type); - } - - /** - * Get the Column entity which column name is "options" from the Row entity - * of attributes. - * @return the Column entity which column name is "options" - */ - public Column getOptionsColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.OPTIONS - .columnName(), - "getOptionsColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "options" to the Row entity of - * attributes. - * @param options the column data which column name is "options" - */ - public void setOptions(Map<String, String> options) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.OPTIONS - .columnName(), - "setOptions", - VersionNum.VERSION100); - super.setDataHandler(columndesc, options); - } - - /** - * Get the Column entity which column name is "ingress_policing_rate" from - * the Row entity of attributes. - * @return the Column entity which column name is "ingress_policing_rate" - */ - public Column getIngressPolicingRateColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.INGRESSPOLICINGRATE - .columnName(), - "getIngressPolicingRateColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "ingress_policing_rate" to the - * Row entity of attributes. - * @param ingressPolicingRate the column data which column name is - * "ingress_policing_rate" - */ - public void setIngressPolicingRate(Set<Long> ingressPolicingRate) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.INGRESSPOLICINGRATE - .columnName(), - "setIngressPolicingRate", - VersionNum.VERSION100); - super.setDataHandler(columndesc, ingressPolicingRate); - } - - /** - * Get the Column entity which column name is "ingress_policing_burst" from - * the Row entity of attributes. - * @return the Column entity which column name is "ingress_policing_burst" - */ - public Column getIngressPolicingBurstColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.INGRESSPOLICINGBURST - .columnName(), - "getIngressPolicingBurstColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "ingress_policing_burst" to the - * Row entity of attributes. - * @param ingressPolicingBurst the column data which column name is - * "ingress_policing_burst" - */ - public void setIngressPolicingBurst(Set<Long> ingressPolicingBurst) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.INGRESSPOLICINGBURST - .columnName(), - "setIngressPolicingBurst", - VersionNum.VERSION100); - super.setDataHandler(columndesc, ingressPolicingBurst); - } - - /** - * Get the Column entity which column name is "mac_in_use" from the Row - * entity of attributes. - * @return the Column entity which column name is "mac_in_use" - */ - public Column getMacInUseColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.MACINUSE - .columnName(), - "getMacInUseColumn", - VersionNum.VERSION710); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "mac_in_use" to the Row entity - * of attributes. - * @param macInUse the column data which column name is "mac_in_use" - */ - public void setMacInUse(Set<String> macInUse) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.MACINUSE - .columnName(), - "setMacInUse", - VersionNum.VERSION710); - super.setDataHandler(columndesc, macInUse); - } - - /** - * Get the Column entity which column name is "mac" from the Row entity of - * attributes. - * @return the Column entity which column name is "mac" - */ - public Column getMacColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.MAC - .columnName(), - "getMacColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "mac" to the Row entity of - * attributes. - * @param mac the column data which column name is "mac" - */ - public void setMac(Set<String> mac) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.MAC - .columnName(), - "setMac", - VersionNum.VERSION100); - super.setDataHandler(columndesc, mac); - } - - /** - * Get the Column entity which column name is "ifindex" from the Row entity - * of attributes. - * @return the Column entity which column name is "ifindex" - */ - public Column getIfIndexColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.IFINDEX - .columnName(), - "getIfIndexColumn", - VersionNum.VERSION721); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "ifindex" to the Row entity of - * attributes. - * @param ifIndex the column data which column name is "ifindex" - */ - public void setIfIndex(Long ifIndex) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.IFINDEX - .columnName(), - "setIfIndex", - VersionNum.VERSION721); - super.setDataHandler(columndesc, ifIndex); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity which column name is "external_ids" - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.EXTERNALIDS - .columnName(), - "getExternalIdsColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.EXTERNALIDS - .columnName(), - "setExternalIds", - VersionNum.VERSION100); - super.setDataHandler(columndesc, externalIds); - } - - /** - * Get the Column entity which column name is "ofport" from the Row entity - * of attributes. - * @return the Column entity which column name is "ofport" - */ - public Column getOpenFlowPortColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.OFPORT - .columnName(), - "getOpenFlowPortColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "ofport" to the Row entity of - * attributes. - * @param openFlowPort the column data which column name is "ofport" - */ - public void setOpenFlowPort(Set<Long> openFlowPort) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.OFPORT - .columnName(), - "setOpenFlowPort", - VersionNum.VERSION100); - super.setDataHandler(columndesc, openFlowPort); - } - - /** - * Get the Column entity which column name is "ofport_request" from the Row - * entity of attributes. - * @return the Column entity which column name is "ofport_request" - */ - public Column getOpenFlowPortRequestColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.OFPORTREQUEST - .columnName(), - "getOpenFlowPortRequestColumn", - VersionNum.VERSION620); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "ofport_request" to the Row - * entity of attributes. - * @param openFlowPortRequest the column data which column name is - * "ofport_request" - */ - public void setOpenFlowPortRequest(String openFlowPortRequest) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.OFPORTREQUEST - .columnName(), - "setOpenFlowPortRequest", - VersionNum.VERSION620); - super.setDataHandler(columndesc, openFlowPortRequest); - } - - /** - * Get the Column entity which column name is "bfd" from the Row entity of - * attributes. - * @return the Column entity which column name is "bfd" - */ - public Column getBfdColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.BFD - .columnName(), - "getBfdColumn", - VersionNum.VERSION720); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "bfd" to the Row entity of - * attributes. - * @param bfd the column data which column name is "bfd" - */ - public void setBfd(Map<String, String> bfd) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.BFD - .columnName(), - "setBfd", - VersionNum.VERSION720); - super.setDataHandler(columndesc, bfd); - } - - /** - * Get the Column entity which column name is "bfd_status" from the Row - * entity of attributes. - * @return the Column entity which column name is "bfd_status" - */ - public Column getBfdStatusColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.BFDSTATUS - .columnName(), - "getBfdStatusColumn", - VersionNum.VERSION720); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "bfd_status" to the Row entity - * of attributes. - * @param bfdStatus the column data which column name is "bfd_status" - */ - public void setBfdStatus(Map<String, String> bfdStatus) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.BFDSTATUS - .columnName(), - "setBfdStatus", - VersionNum.VERSION720); - super.setDataHandler(columndesc, bfdStatus); - } - - /** - * Get the Column entity which column name is "monitor" from the Row entity - * of attributes. - * @return the Column entity which column name is "monitor" - */ - public Column getMonitorColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.MONITOR - .columnName(), - "getMonitorColumn", - VersionNum.VERSION100, - VersionNum.VERSION350); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "monitor" to the Row entity of - * attributes. - * @param monitor the column data which column name is "monitor" - */ - public void setMonitor(String monitor) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.MONITOR - .columnName(), - "setMonitor", - VersionNum.VERSION100, - VersionNum.VERSION350); - super.setDataHandler(columndesc, monitor); - } - - /** - * Get the Column entity which column name is "cfm_mpid" from the Row entity - * of attributes. - * @return the Column entity which column name is "cfm_mpid" - */ - public Column getCfmMpidColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMMPID - .columnName(), - "getCfmMpidColumn", - VersionNum.VERSION400); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "cfm_mpid" to the Row entity of - * attributes. - * @param cfmMpid the column data which column name is "cfm_mpid" - */ - public void setCfmMpid(Set<Long> cfmMpid) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMMPID - .columnName(), - "setCfmMpid", - VersionNum.VERSION400); - super.setDataHandler(columndesc, cfmMpid); - } - - /** - * Get the Column entity which column name is "cfm_remote_mpid" from the Row - * entity of attributes. - * @return the Column entity which column name is "cfm_remote_mpid" - */ - public Column getCfmRemoteMpidColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMREMOTEMPID - .columnName(), - "getCfmRemoteMpidColumn", - VersionNum.VERSION400, - VersionNum.VERSION520); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "cfm_remote_mpid" to the Row - * entity of attributes. - * @param cfmRemoteMpid the column data which column name is - * "cfm_remote_mpid" - */ - public void setCfmRemoteMpid(Set<Long> cfmRemoteMpid) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMREMOTEMPID - .columnName(), - "setCfmRemoteMpid", - VersionNum.VERSION400, - VersionNum.VERSION520); - super.setDataHandler(columndesc, cfmRemoteMpid); - } - - /** - * Get the Column entity which column name is "cfm_remote_mpids" from the - * Row entity of attributes. - * @return the Column entity which column name is "cfm_remote_mpids" - */ - public Column getCfmRemoteMpidsColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMREMOTEMPIDS - .columnName(), - "getCfmRemoteMpidsColumn", - VersionNum.VERSION600); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "cfm_remote_mpids" to the Row - * entity of attributes. - * @param cfmRemoteMpids the column data which column name is - * "cfm_remote_mpids" - */ - public void setCfmRemoteMpids(Set<Long> cfmRemoteMpids) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMREMOTEMPIDS - .columnName(), - "setCfmRemoteMpids", - VersionNum.VERSION600); - super.setDataHandler(columndesc, cfmRemoteMpids); - } - - /** - * Get the Column entity which column name is "cfm_flap_count" from the Row - * entity of attributes. - * @return the Column entity which column name is "cfm_flap_count" - */ - public Column getCfmFlapCountColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMFLAPCOUNT - .columnName(), - "getCfmFlapCountColumn", - VersionNum.VERSION730); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "cfm_flap_count" to the Row - * entity of attributes. - * @param cfmFlapCount the column data which column name is "cfm_flap_count" - */ - public void setCfmFlapCount(Set<Long> cfmFlapCount) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMFLAPCOUNT - .columnName(), - "setCfmFlapCount", - VersionNum.VERSION730); - super.setDataHandler(columndesc, cfmFlapCount); - } - - /** - * Get the Column entity which column name is "cfm_fault" from the Row - * entity of attributes. - * @return the Column entity which column name is "cfm_fault" - */ - public Column getCfmFaultColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMFAULT - .columnName(), - "getCfmFaultColumn", - VersionNum.VERSION400); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "cfm_fault" to the Row entity of - * attributes. - * @param cfmFault the column data which column name is "cfm_fault" - */ - public void setCfmFault(Set<Boolean> cfmFault) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMFAULT - .columnName(), - "setCfmFault", - VersionNum.VERSION400); - super.setDataHandler(columndesc, cfmFault); - } - - /** - * Get the Column entity which column name is "cfm_fault_status" from the - * Row entity of attributes. - * @return the Column entity which column name is "cfm_fault_status" - */ - public Column getCfmFaultStatusColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMFAULTSTATUS - .columnName(), - "getCfmFaultStatusColumn", - VersionNum.VERSION660); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "cfm_fault_status" to the Row - * entity of attributes. - * @param cfmFaultStatus the column data which column name is - * "cfm_fault_status" - */ - public void setCfmFaultStatus(Set<String> cfmFaultStatus) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMFAULTSTATUS - .columnName(), - "setCfmFaultStatus", - VersionNum.VERSION660); - super.setDataHandler(columndesc, cfmFaultStatus); - } - - /** - * Get the Column entity which column name is "cfm_remote_opstate" from the - * Row entity of attributes. - * @return the Column entity which column name is "cfm_remote_opstate" - */ - public Column getCfmRemoteOpStateColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMREMOTEOPSTATE - .columnName(), - "getCfmRemoteOpStateColumn", - VersionNum.VERSION6100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "cfm_remote_opstate" to the Row - * entity of attributes. - * @param cfmRemoteOpState the column data which column name is - * "cfm_remote_opstate" - */ - public void setCfmRemoteOpState(Set<String> cfmRemoteOpState) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMREMOTEOPSTATE - .columnName(), - "setCfmRemoteOpState", - VersionNum.VERSION6100); - super.setDataHandler(columndesc, cfmRemoteOpState); - } - - /** - * Get the Column entity which column name is "cfm_health" from the Row - * entity of attributes. - * @return the Column entity which column name is "cfm_health" - */ - public Column getCfmHealthColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMHEALTH - .columnName(), - "getCfmHealthColumn", - VersionNum.VERSION690); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "cfm_health" to the Row entity - * of attributes. - * @param cfmHealth the column data which column name is "cfm_health" - */ - public void setCfmHealth(Set<Long> cfmHealth) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.CFMHEALTH - .columnName(), - "setCfmHealth", - VersionNum.VERSION690); - super.setDataHandler(columndesc, cfmHealth); - } - - /** - * Get the Column entity which column name is "lacp_current" from the Row - * entity of attributes. - * @return the Column entity which column name is "lacp_current" - */ - public Column getLacpCurrentColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.LACPCURRENT - .columnName(), - "getLacpCurrentColumn", - VersionNum.VERSION330); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "lacp_current" to the Row entity - * of attributes. - * @param lacpCurrent the column data which column name is "lacp_current" - */ - public void setLacpCurrent(Set<Boolean> lacpCurrent) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.LACPCURRENT - .columnName(), - "setLacpCurrent", - VersionNum.VERSION330); - super.setDataHandler(columndesc, lacpCurrent); - } - - /** - * Get the Column entity which column name is "other_config" from the Row - * entity of attributes. - * @return the Column entity which column name is "other_config" - */ - public Column getOtherConfigColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.OTHERCONFIG - .columnName(), - "getOtherConfigColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "other_config" to the Row entity - * of attributes. - * @param otherConfig the column data which column name is "other_config" - */ - public void setOtherConfig(Map<String, String> otherConfig) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.OTHERCONFIG - .columnName(), - "setOtherConfig", - VersionNum.VERSION100); - super.setDataHandler(columndesc, otherConfig); - } - - /** - * Get the Column entity which column name is "statistics" from the Row - * entity of attributes. - * @return the Column entity which column name is "statistics" - */ - public Column getStatisticsColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.STATISTICS - .columnName(), - "getStatisticsColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "statistics" to the Row entity - * of attributes. - * @param statistics the column data which column name is "statistics" - */ - public void setStatistics(Map<String, Long> statistics) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.STATISTICS - .columnName(), - "setStatistics", - VersionNum.VERSION100); - super.setDataHandler(columndesc, statistics); - } - - /** - * Get the Column entity which column name is "status" from the Row entity - * of attributes. - * @return the Column entity which column name is "status" - */ - public Column getStatusColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.STATUS - .columnName(), - "getStatusColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "status" to the Row entity of - * attributes. - * @param status the column data which column name is "status" - */ - public void setStatus(Map<String, String> status) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.STATUS - .columnName(), - "setStatus", - VersionNum.VERSION100); - super.setDataHandler(columndesc, status); - } - - /** - * Get the Column entity which column name is "admin_state" from the Row - * entity of attributes. - * @return the Column entity which column name is "admin_state" - */ - public Column getAdminStateColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.ADMINSTATE - .columnName(), - "getAdminStateColumn", - VersionNum.VERSION106); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "admin_state" to the Row entity - * of attributes. - * @param adminState the column data which column name is "admin_state" - */ - public void setAdminState(Set<String> adminState) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.ADMINSTATE - .columnName(), - "setAdminState", - VersionNum.VERSION106); - super.setDataHandler(columndesc, adminState); - } - - /** - * Get the Column entity which column name is "link_state" from the Row - * entity of attributes. - * @return the Column entity which column name is "link_state" - */ - public Column getLinkStateColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.LINKSTATE - .columnName(), - "getLinkStateColumn", - VersionNum.VERSION106); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "link_state" to the Row entity - * of attributes. - * @param linkState the column data which column name is "link_state" - */ - public void setLinkState(Map<String, String> linkState) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.LINKSTATE - .columnName(), - "setLinkState", - VersionNum.VERSION106); - super.setDataHandler(columndesc, linkState); - } - - /** - * Get the Column entity which column name is "link_resets" from the Row - * entity of attributes. - * @return the Column entity which column name is "link_resets" - */ - public Column getLinkResetsColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.LINKRESETS - .columnName(), - "getLinkResetsColumn", - VersionNum.VERSION620); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "link_resets" to the Row entity - * of attributes. - * @param linkResets the column data which column name is "link_resets" - */ - public void setLinkResets(Set<String> linkResets) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.LINKRESETS - .columnName(), - "setLinkResets", - VersionNum.VERSION620); - super.setDataHandler(columndesc, linkResets); - } - - /** - * Get the Column entity which column name is "link_speed" from the Row - * entity of attributes. - * @return the Column entity which column name is "link_speed" - */ - public Column getLinkSpeedColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.LINKSPEED - .columnName(), - "getLinkSpeedColumn", - VersionNum.VERSION106); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "link_speed" to the Row entity - * of attributes. - * @param linkSpeed the column data which column name is "link_speed" - */ - public void setLinkSpeed(Set<Long> linkSpeed) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.LINKSPEED - .columnName(), - "setLinkSpeed", - VersionNum.VERSION106); - super.setDataHandler(columndesc, linkSpeed); - } - - /** - * Get the Column entity which column name is "duplex" from the Row entity - * of attributes. - * @return the Column entity which column name is "duplex" - */ - public Column getDuplexColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.DUPLEX - .columnName(), - "getDuplexColumn", - VersionNum.VERSION106); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "duplex" to the Row entity of - * attributes. - * @param duplex the column data which column name is "duplex" - */ - public void setDuplex(Set<Long> duplex) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.DUPLEX - .columnName(), - "setDuplex", - VersionNum.VERSION106); - super.setDataHandler(columndesc, duplex); - } - - /** - * Get the Column entity which column name is "mtu" from the Row entity of - * attributes. - * @return the Column entity which column name is "mtu" - */ - public Column getMtuColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.MTU - .columnName(), - "getMtuColumn", - VersionNum.VERSION106); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "mtu" to the Row entity of - * attributes. - * @param mtu the column data which column name is "mtu" - */ - public void setMtu(Set<Long> mtu) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.MTU - .columnName(), - "setMtu", - VersionNum.VERSION106); - super.setDataHandler(columndesc, mtu); - } - - /** - * Get the Column entity which column name is "error" from the Row entity of - * attributes. - * @return the Column entity which column name is "error" - */ - public Column getErrorColumn() { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.ERROR - .columnName(), - "getErrorColumn", - VersionNum.VERSION770); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "error" to the Row entity of - * attributes. - * @param error the column data which column name is "error" - */ - public void setError(Set<String> error) { - ColumnDescription columndesc = new ColumnDescription( - InterfaceColumn.ERROR - .columnName(), - "setError", - VersionNum.VERSION770); - super.setDataHandler(columndesc, error); - } - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Ipfix.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Ipfix.java deleted file mode 100644 index c29f2e01..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Ipfix.java +++ /dev/null @@ -1,220 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import java.util.Map; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -/** - * This class provides operations of Ipfix Table. - */ -public class Ipfix extends AbstractOvsdbTableService { - /** - * Ipfix table column name. - */ - public enum IpfixColumn { - TARGETS("targets"), SAMPLING("sampling"), OBSDOMAINID("obs_domain_id"), OBSPOINTID("obs_point_id"), - CACHEACTIVETIMEOUT("cache_active_timeout"), EXTERNALIDS("external_ids"), - CACHEMAXFLOWS("cache_max_flows"); - - private final String columnName; - - private IpfixColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for IpfixColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a Ipfix object. Generate Ipfix Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public Ipfix(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.IPFIX, VersionNum.VERSION710); - } - - /** - * Get the Column entity which column name is "targets" from the Row entity - * of attributes. - * @return the Column entity which column name is "targets" - */ - public Column getTargetsColumn() { - ColumnDescription columndesc = new ColumnDescription(IpfixColumn.TARGETS.columnName(), - "getTargetsColumn", VersionNum.VERSION710); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "targets" to the Row entity of - * attributes. - * @param targets the column data which column name is "targets" - */ - public void setTargets(Set<String> targets) { - ColumnDescription columndesc = new ColumnDescription(IpfixColumn.TARGETS.columnName(), - "setTargets", - VersionNum.VERSION710); - super.setDataHandler(columndesc, targets); - } - - /** - * Get the Column entity which column name is "sampling" from the Row entity - * of attributes. - * @return the Column entity which column name is "sampling" - */ - public Column getSamplingColumn() { - ColumnDescription columndesc = new ColumnDescription(IpfixColumn.SAMPLING.columnName(), - "getSamplingColumn", VersionNum.VERSION710); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "sampling" to the Row entity of - * attributes. - * @param sampling the column data which column name is "sampling" - */ - public void setSampling(Set<Long> sampling) { - ColumnDescription columndesc = new ColumnDescription(IpfixColumn.SAMPLING.columnName(), - "setSampling", VersionNum.VERSION710); - super.setDataHandler(columndesc, sampling); - } - - /** - * Get the Column entity which column name is "obs_domain_id" from the Row - * entity of attributes. - * @return the Column entity which column name is "obs_domain_id" - */ - public Column getObsDomainIdColumn() { - ColumnDescription columndesc = new ColumnDescription(IpfixColumn.OBSDOMAINID.columnName(), - "getObsDomainIdColumn", VersionNum.VERSION710); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "obs_domain_id" to the Row - * entity of attributes. - * @param obsdomainid the column data which column name is "obs_domain_id" - */ - public void setObsDomainId(Set<Long> obsdomainid) { - ColumnDescription columndesc = new ColumnDescription(IpfixColumn.OBSDOMAINID.columnName(), - "setObsDomainId", VersionNum.VERSION710); - super.setDataHandler(columndesc, obsdomainid); - } - - /** - * Get the Column entity which column name is "obs_point_id" from the Row - * entity of attributes. - * @return the Column entity which column name is "obs_point_id" - */ - public Column getObsPointIdColumn() { - ColumnDescription columndesc = new ColumnDescription(IpfixColumn.OBSPOINTID.columnName(), - "getObsPointIdColumn", VersionNum.VERSION710); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "obs_point_id" to the Row entity - * of attributes. - * @param obsPointId the column data which column name is "obs_point_id" - */ - public void setObsPointId(Set<Long> obsPointId) { - ColumnDescription columndesc = new ColumnDescription(IpfixColumn.OBSPOINTID.columnName(), - "setObsPointId", VersionNum.VERSION710); - super.setDataHandler(columndesc, obsPointId); - } - - /** - * Get the Column entity which column name is "cache_active_timeout" from - * the Row entity of attributes. - * @return the Column entity which column name is "cache_active_timeout" - */ - public Column getCacheActiveTimeoutColumn() { - ColumnDescription columndesc = new ColumnDescription(IpfixColumn.CACHEACTIVETIMEOUT.columnName(), - "getCacheActiveTimeoutColumn", - VersionNum.VERSION730); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "cache_active_timeout" to the - * Row entity of attributes. - * @param cacheActiveTimeout the column data which column name is - * "cache_active_timeout" - */ - public void setCacheActiveTimeout(Set<Long> cacheActiveTimeout) { - ColumnDescription columndesc = new ColumnDescription(IpfixColumn.CACHEACTIVETIMEOUT.columnName(), - "setCacheActiveTimeout", VersionNum.VERSION730); - super.setDataHandler(columndesc, cacheActiveTimeout); - } - - /** - * Get the Column entity which column name is "cache_max_flows" from the Row - * entity of attributes. - * @return the Column entity which column name is "cache_max_flows" - */ - public Column getCacheMaxFlowsColumn() { - ColumnDescription columndesc = new ColumnDescription(IpfixColumn.CACHEMAXFLOWS.columnName(), - "getCacheMaxFlowsColumn", VersionNum.VERSION730); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "cache_max_flows" to the Row - * entity of attributes. - * @param cacheMaxFlows the column data which column name is - * "cache_max_flows" - */ - public void setCacheMaxFlows(Set<Long> cacheMaxFlows) { - ColumnDescription columndesc = new ColumnDescription(IpfixColumn.CACHEMAXFLOWS.columnName(), - "setCacheMaxFlows", VersionNum.VERSION730); - super.setDataHandler(columndesc, cacheMaxFlows); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity which column name is "external_ids" - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription(IpfixColumn.EXTERNALIDS.columnName(), - "getExternalIdsColumn", VersionNum.VERSION710); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription(IpfixColumn.EXTERNALIDS.columnName(), - "setExternalIds", VersionNum.VERSION710); - super.setDataHandler(columndesc, externalIds); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Manager.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Manager.java deleted file mode 100644 index d0c2638f..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Manager.java +++ /dev/null @@ -1,243 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import java.util.Map; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -/** - * This class provides operations of Manager Table. - */ -public class Manager extends AbstractOvsdbTableService { - /** - * Manager table column name. - */ - public enum ManagerColumn { - TARGET("target"), ISCONNECTED("is_connected"), CONNECTIONMODE("connection_mode"), - EXTERNALIDS("external_ids"), STATUS("status"), INACTIVITYPROBE("inactivity_probe"), - OTHERCONFIG("other_config"), MAXBACKOFF("max_backoff"); - - private final String columnName; - - private ManagerColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for ManagerColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a Manager object. Generate Manager Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public Manager(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.MANAGER, VersionNum.VERSION100); - } - - /** - * Get the Column entity which column name is "target" from the Row entity - * of attributes. - * @return the Column entity which column name is "target" - */ - public Column getTargetColumn() { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.TARGET.columnName(), - "getTargetColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "target" to the Row entity of - * attributes. - * @param target the column data which column name is "target" - */ - public void setTarget(Set<String> target) { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.TARGET.columnName(), - "setTarget", - VersionNum.VERSION100); - super.setDataHandler(columndesc, target); - } - - /** - * Get the Column entity which column name is "is_connected" from the Row - * entity of attributes. - * @return the Column entity which column name is "is_connected" - */ - public Column getIsConnectedColumn() { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.ISCONNECTED.columnName(), - "getIsConnectedColumn", VersionNum.VERSION110); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "is_connected" to the Row entity - * of attributes. - * @param isConnected the column data which column name is "is_connected" - */ - public void setIsConnected(Boolean isConnected) { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.ISCONNECTED.columnName(), - "setIsConnected", VersionNum.VERSION110); - super.setDataHandler(columndesc, isConnected); - } - - /** - * Get the Column entity which column name is "other_config" from the Row - * entity of attributes. - * @return the Column entity which column name is "other_config" - */ - public Column getOtherConfigColumn() { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.OTHERCONFIG.columnName(), - "getOtherConfigColumn", VersionNum.VERSION680); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "other_config" to the Row entity - * of attributes. - * @param otherConfig the column data which column name is "other_config" - */ - public void setOtherConfig(Map<String, String> otherConfig) { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.OTHERCONFIG.columnName(), - "setOtherConfig", VersionNum.VERSION680); - super.setDataHandler(columndesc, otherConfig); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity which column name is "external_ids" - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.EXTERNALIDS.columnName(), - "getExternalIdsColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.EXTERNALIDS.columnName(), - "setExternalIds", VersionNum.VERSION100); - super.setDataHandler(columndesc, externalIds); - } - - /** - * Get the Column entity which column name is "max_backoff" from the Row - * entity of attributes. - * @return the Column entity which column name is "max_backoff" - */ - public Column getMaxBackoffColumn() { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.MAXBACKOFF.columnName(), - "getMaxBackoffColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "max_backoff" to the Row entity - * of attributes. - * @param maxBackoff the column data which column name is "max_backoff" - */ - public void setMaxBackoff(Set<Long> maxBackoff) { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.MAXBACKOFF.columnName(), - "setMaxBackoff", VersionNum.VERSION100); - super.setDataHandler(columndesc, maxBackoff); - } - - /** - * Get the Column entity which column name is "status" from the Row entity - * of attributes. - * @return the Column entity which column name is "status" - */ - public Column getStatusColumn() { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.STATUS.columnName(), - "getStatusColumn", VersionNum.VERSION110); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "status" to the Row entity of - * attributes. - * @param status the column data which column name is "status" - */ - public void setStatus(Map<String, String> status) { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.STATUS.columnName(), - "setStatus", - VersionNum.VERSION110); - super.setDataHandler(columndesc, status); - } - - /** - * Get the Column entity which column name is "inactivity_probe" from the - * Row entity of attributes. - * @return the Column entity which column name is "inactivity_probe" - */ - public Column getInactivityProbeColumn() { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.INACTIVITYPROBE.columnName(), - "getInactivityProbeColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "inactivity_probe" to the Row - * entity of attributes. - * @param inactivityProbe the column data which column name is - * "inactivity_probe" - */ - public void setInactivityProbe(Set<Long> inactivityProbe) { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.INACTIVITYPROBE.columnName(), - "setInactivityProbe", VersionNum.VERSION100); - super.setDataHandler(columndesc, inactivityProbe); - } - - /** - * Get the Column entity which column name is "connection_mode" from the Row - * entity of attributes. - * @return the Column entity which column name is "connection_mode" - */ - public Column getConnectionModeColumn() { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.CONNECTIONMODE.columnName(), - "getConnectionModeColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "connection_mode" to the Row - * entity of attributes. - * @param connectionMode the column data which column name is - * "connection_mode" - */ - public void setConnectionMode(Set<String> connectionMode) { - ColumnDescription columndesc = new ColumnDescription(ManagerColumn.CONNECTIONMODE.columnName(), - "setConnectionMode", VersionNum.VERSION100); - super.setDataHandler(columndesc, connectionMode); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Mirror.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Mirror.java deleted file mode 100644 index ec022fee..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Mirror.java +++ /dev/null @@ -1,277 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import java.util.Map; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -/** - * This class provides operations of Mirror Table. - */ -public class Mirror extends AbstractOvsdbTableService { - /** - * Mirror table column name. - */ - public enum MirrorColumn { - NAME("name"), SELECTSRCPORT("select_src_port"), SELECTDSTPORT("select_dst_port"), - SELECTVLAN("select_vlan"), OUTPUTPORT("output_port"), EXTERNALIDS("external_ids"), - OUTPUTVLAN("output_vlan"), STATISTICS("statistics"), SELECTALL("select_all"); - - private final String columnName; - - private MirrorColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for MirrorColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a Mirror object. Generate Mirror Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public Mirror(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.MIRROR, VersionNum.VERSION100); - } - - /** - * Get the Column entity which column name is "name" from the Row entity of - * attributes. - * @return the Column entity which column name is "name" - */ - public Column getNameColumn() { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.NAME.columnName(), - "getNameColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "name" to the Row entity of - * attributes. - * @param name the column data which column name is "name" - */ - public void setName(Set<String> name) { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.NAME.columnName(), - "setName", - VersionNum.VERSION100); - super.setDataHandler(columndesc, name); - } - - /** - * Get the column data which column name is "name" from the Row entity of - * attributes. - * @return the column data which column name is "name" - */ - public Set<String> getName() { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.NAME.columnName(), - "getName", - VersionNum.VERSION100); - return (Set<String>) super.getDataHandler(columndesc); - } - - /** - * Get the Column entity which column name is "select_src_port" from the Row - * entity of attributes. - * @return the Column entity which column name is "select_src_port" - */ - public Column getSelectSrcPortColumn() { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.SELECTSRCPORT.columnName(), - "getSelectSrcPortColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "select_src_port" to the Row - * entity of attributes. - * @param selectSrcPort the column data which column name is - * "select_src_port" - */ - public void setSelectSrcPort(Set<UUID> selectSrcPort) { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.SELECTSRCPORT.columnName(), - "setSelectSrcPort", VersionNum.VERSION100); - super.setDataHandler(columndesc, selectSrcPort); - } - - /** - * Get the Column entity which column name is "select_dst_port" from the Row - * entity of attributes. - * @return the Column entity which column name is "select_dst_port" - */ - public Column getSelectDstPortColumn() { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.SELECTDSTPORT.columnName(), - "getSelectDstPortColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "select_dst_port" to the Row - * entity of attributes. - * @param selectDstPrt the column data which column name is - * "select_dst_port" - */ - public void setSelectDstPort(Set<UUID> selectDstPrt) { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.SELECTDSTPORT.columnName(), - "setSelectDstPort", VersionNum.VERSION100); - super.setDataHandler(columndesc, selectDstPrt); - } - - /** - * Get the Column entity which column name is "select_vlan" from the Row - * entity of attributes. - * @return the Column entity which column name is "select_vlan" - */ - public Column getSelectVlanColumn() { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.SELECTVLAN.columnName(), - "getSelectVlanColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "select_vlan" to the Row entity - * of attributes. - * @param selectVlan the column data which column name is "select_vlan" - */ - public void setSelectVlan(Set<Long> selectVlan) { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.SELECTVLAN.columnName(), - "setSelectVlan", VersionNum.VERSION100); - super.setDataHandler(columndesc, selectVlan); - } - - /** - * Get the Column entity which column name is "output_port" from the Row - * entity of attributes. - * @return the Column entity which column name is "output_port" - */ - public Column getOutputPortColumn() { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.OUTPUTPORT.columnName(), - "getOutputPortColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "output_port" to the Row entity - * of attributes. - * @param outputPort the column data which column name is "output_port" - */ - public void setOutputPort(Set<UUID> outputPort) { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.OUTPUTPORT.columnName(), - "setOutputPort", VersionNum.VERSION100); - super.setDataHandler(columndesc, outputPort); - } - - /** - * Get the Column entity which column name is "output_vlan" from the Row - * entity of attributes. - * @return the Column entity which column name is "output_vlan" - */ - public Column getOutputVlanColumn() { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.OUTPUTVLAN.columnName(), - "getOutputVlanColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "output_vlan" to the Row entity - * of attributes. - * @param outputVlan the column data which column name is "output_vlan" - */ - public void setOutputVlan(Set<Long> outputVlan) { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.OUTPUTVLAN.columnName(), - "setOutputVlan", VersionNum.VERSION100); - super.setDataHandler(columndesc, outputVlan); - } - - /** - * Get the Column entity which column name is "statistics" from the Row - * entity of attributes. - * @return the Column entity which column name is "statistics" - */ - public Column getStatisticsColumn() { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.STATISTICS.columnName(), - "getStatisticsColumn", VersionNum.VERSION640); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "statistics" to the Row entity - * of attributes. - * @param statistics the column data which column name is "statistics" - */ - public void setStatistics(Map<String, Long> statistics) { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.STATISTICS.columnName(), - "setStatistics", VersionNum.VERSION640); - super.setDataHandler(columndesc, statistics); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity which column name is "external_ids" - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.EXTERNALIDS.columnName(), - "getExternalIdsColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.EXTERNALIDS.columnName(), - "setExternalIds", VersionNum.VERSION100); - super.setDataHandler(columndesc, externalIds); - } - - /** - * Get the Column entity which column name is "select_all" from the Row - * entity of attributes. - * @return the Column entity which column name is "select_all" - */ - public Column getSelectAllColumn() { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.SELECTALL.columnName(), - "getSelectAllColumn", VersionNum.VERSION620); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "select_all" to the Row entity - * of attributes. - * @param selectAll the column data which column name is "select_all" - */ - public void setSelectAll(Boolean selectAll) { - ColumnDescription columndesc = new ColumnDescription(MirrorColumn.SELECTALL.columnName(), - "setSelectAll", VersionNum.VERSION620); - super.setDataHandler(columndesc, selectAll); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Netflow.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Netflow.java deleted file mode 100644 index 98c3de55..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Netflow.java +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import java.util.Map; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -/** - * This class provides operations of Netflow Table. - */ -public class Netflow extends AbstractOvsdbTableService { - /** - * Netflow table column name. - */ - public enum NetflowColumn { - TARGETS("targets"), ACTIVETIMEOUT("active_timeout"), ENGINETYPE("engine_type"), - EXTERNALIDS("external_ids"), ADDIDTOINTERFACE("add_id_to_interface"), ENGINEID("engine_id"); - - private final String columnName; - - private NetflowColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for NetflowColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a NetFlow object. Generate Netflow Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public Netflow(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.NETFLOW, VersionNum.VERSION100); - } - - /** - * Get the Column entity which column name is "targets" from the Row entity - * of attributes. - * @return the Column entity - */ - public Column getTargetsColumn() { - ColumnDescription columndesc = new ColumnDescription(NetflowColumn.TARGETS.columnName(), - "getTargetsColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "targets" to the Row entity of - * attributes. - * @param targets the column data which column name is "targets" - */ - public void setTargets(Set<String> targets) { - ColumnDescription columndesc = new ColumnDescription(NetflowColumn.TARGETS.columnName(), - "setTargets", VersionNum.VERSION100); - super.setDataHandler(columndesc, targets); - } - - /** - * Get the Column entity which column name is "active_timeout" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getActiveTimeoutColumn() { - ColumnDescription columndesc = new ColumnDescription(NetflowColumn.ACTIVETIMEOUT.columnName(), - "getActiveTimeoutColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "active_timeout" to the Row - * entity of attributes. - * @param activeTimeout the column data which column name is - * "active_timeout" - */ - public void setActiveTimeout(Long activeTimeout) { - ColumnDescription columndesc = new ColumnDescription(NetflowColumn.ACTIVETIMEOUT.columnName(), - "setActiveTimeout", VersionNum.VERSION100); - super.setDataHandler(columndesc, activeTimeout); - } - - /** - * Get the Column entity which column name is "engine_type" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getEngineTypeColumn() { - ColumnDescription columndesc = new ColumnDescription(NetflowColumn.ENGINETYPE.columnName(), - "getEngineTypeColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "engine_type" to the Row entity - * of attributes. - * @param engineType the column data which column name is "engine_type" - */ - public void setEngineType(Set<Long> engineType) { - ColumnDescription columndesc = new ColumnDescription(NetflowColumn.ENGINETYPE.columnName(), - "setEngineType", VersionNum.VERSION100); - super.setDataHandler(columndesc, engineType); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription(NetflowColumn.EXTERNALIDS.columnName(), - "getExternalIdsColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription(NetflowColumn.EXTERNALIDS.columnName(), - "setExternalIds", VersionNum.VERSION100); - super.setDataHandler(columndesc, externalIds); - } - - /** - * Get the Column entity which column name is "add_id_to_interface" from the - * Row entity of attributes. - * @return the Column entity - */ - public Column getAddIdToInterfaceColumn() { - ColumnDescription columndesc = new ColumnDescription(NetflowColumn.ADDIDTOINTERFACE.columnName(), - "getAddIdToInterfaceColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "add_id_to_interface" to the Row - * entity of attributes. - * @param addIdToInterface the column data which column name is - * "add_id_to_interface" - */ - public void setAddIdToInterface(Boolean addIdToInterface) { - ColumnDescription columndesc = new ColumnDescription(NetflowColumn.ADDIDTOINTERFACE.columnName(), - "setAddIdToInterface", VersionNum.VERSION100); - super.setDataHandler(columndesc, addIdToInterface); - } - - /** - * Get the Column entity which column name is "engine_id" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getEngineIdColumn() { - ColumnDescription columndesc = new ColumnDescription(NetflowColumn.ENGINETYPE.columnName(), - "getEngineIdColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "engine_id" to the Row entity of - * attributes. - * @param engineId the column data which column name is "engine_id" - */ - public void setEngineId(Set<Long> engineId) { - ColumnDescription columndesc = new ColumnDescription(NetflowColumn.ENGINETYPE.columnName(), - "setEngineId", VersionNum.VERSION100); - super.setDataHandler(columndesc, engineId); - } - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/OpenVSwitch.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/OpenVSwitch.java deleted file mode 100644 index 9d20b982..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/OpenVSwitch.java +++ /dev/null @@ -1,466 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import java.util.Map; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -/** - * This class provides operations of Open_vSwitch Table. - */ -public class OpenVSwitch extends AbstractOvsdbTableService { - - /** - * OpenVSwitch table column name. - */ - public enum OpenVSwitchColumn { - BRIDGES("bridges"), MANAGERS("managers"), - MANAGEROPTIONS("manager_options"), SSL("ssl"), - OTHERCONFIG("other_config"), EXTERNALIDS("external_ids"), - NEXTCFG("next_cfg"), CURCFG("cur_cfg"), CAPABILITIES("capabilities"), - STATISTICS("statistics"), OVSVERSION("ovs_version"), - DBVERSION("db_version"), SYSTEMTYPE("system_type"), - SYSTEMVERSION("system_version"); - - private final String columnName; - - private OpenVSwitchColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for OpenVSwitchColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a OpenVSwitch object. Generate Open_vSwitch Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public OpenVSwitch(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.OPENVSWITCH, VersionNum.VERSION100); - } - - /** - * Get the Column entity which column name is "bridges" from the Row entity - * of attributes. - * @return the Column entity which column name is "bridges" - */ - public Column getBridgesColumn() { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.BRIDGES - .columnName(), - "getBridgesColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "bridges" to the Row entity of - * attributes. - * @param bridges the column data which column name is "bridges" - */ - public void setBridges(Set<UUID> bridges) { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.BRIDGES - .columnName(), - "setBridges", - VersionNum.VERSION100); - super.setDataHandler(columndesc, bridges); - } - - /** - * Get the Column entity which column name is "managers" from the Row entity - * of attributes. - * @return the Column entity which column name is "managers" - */ - public Column getManagersColumn() { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.MANAGERS - .columnName(), - "getManagersColumn", - VersionNum.VERSION100, - VersionNum.VERSION200); - return (Column) super.getDataHandler(columndesc); - } - - /** - * Add a Column entity which column name is "managers" to the Row entity of - * attributes. - * @param managers the column data which column name is "managers" - */ - public void setManagers(Set<UUID> managers) { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.MANAGERS - .columnName(), - "setManagers", - VersionNum.VERSION100, - VersionNum.VERSION200); - super.setDataHandler(columndesc, managers); - } - - /** - * Get the Column entity which column name is "manager_options" from the Row - * entity of attributes. - * @return the Column entity which column name is "manager_options" - */ - public Column getManagerOptionsColumn() { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.MANAGEROPTIONS - .columnName(), - "getManagerOptionsColumn", - VersionNum.VERSION100); - return (Column) super.getDataHandler(columndesc); - } - - /** - * Add a Column entity which column name is "manager_options" to the Row - * entity of attributes. - * @param managerOptions the column data which column name is - * "manager_options" - */ - public void setManagerOptions(Set<UUID> managerOptions) { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.MANAGEROPTIONS - .columnName(), - "setManagerOptions", - VersionNum.VERSION100); - super.setDataHandler(columndesc, managerOptions); - } - - /** - * Get the Column entity which column name is "ssl" from the Row entity of - * attributes. - * @return the Column entity which column name is "ssl" - */ - public Column getSslColumn() { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.SSL - .columnName(), - "getSslColumn", - VersionNum.VERSION100); - return (Column) super.getDataHandler(columndesc); - } - - /** - * Add a Column entity which column name is "ssl" to the Row entity of - * attributes. - * @param ssl the column data which column name is "ssl" - */ - public void setSsl(Set<UUID> ssl) { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.SSL - .columnName(), - "setSsl", - VersionNum.VERSION100); - super.setDataHandler(columndesc, ssl); - } - - /** - * Get the Column entity which column name is "other_config" from the Row - * entity of attributes. - * @return the Column entity which column name is "other_config" - */ - public Column getOtherConfigColumn() { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.OTHERCONFIG - .columnName(), - "getOtherConfigColumn", - VersionNum.VERSION510); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "other_config" to the Row entity - * of attributes. - * @param otherConfig the column data which column name is "other_config" - */ - public void setOtherConfig(Map<String, String> otherConfig) { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.OTHERCONFIG - .columnName(), - "setOtherConfig", - VersionNum.VERSION510); - super.setDataHandler(columndesc, otherConfig); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity which column name is "external_ids" - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.EXTERNALIDS - .columnName(), - "getExternalIdsColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.EXTERNALIDS - .columnName(), - "setExternalIds", - VersionNum.VERSION100); - super.setDataHandler(columndesc, externalIds); - } - - /** - * Get the Column entity which column name is "next_cfg" from the Row entity - * of attributes. - * @return the Column entity which column name is "next_cfg" - */ - public Column getNextConfigColumn() { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.NEXTCFG - .columnName(), - "getNextConfigColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "next_cfg" to the Row entity of - * attributes. - * @param nextConfig the column data which column name is "next_cfg" - */ - public void setNextConfig(Long nextConfig) { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.NEXTCFG - .columnName(), - "setNextConfig", - VersionNum.VERSION100); - super.setDataHandler(columndesc, nextConfig); - } - - /** - * Get the Column entity which column name is "cur_cfg" from the Row entity - * of attributes. - * @return the Column entity which column name is "cur_cfg" - */ - public Column getCurrentConfigColumn() { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.CURCFG - .columnName(), - "getCurrentConfigColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "cur_cfg" to the Row entity of - * attributes. - * @param currentConfig the column data which column name is "cur_cfg" - */ - public void setCurrentConfig(Long currentConfig) { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.CURCFG - .columnName(), - "setCurrentConfig", - VersionNum.VERSION100); - super.setDataHandler(columndesc, currentConfig); - } - - /** - * Get the Column entity which column name is "capabilities" from the Row - * entity of attributes. - * @return the Column entity which column name is "capabilities" - */ - public Column getCapabilitiesColumn() { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.CAPABILITIES - .columnName(), - "getCapabilitiesColumn", - VersionNum.VERSION100, - VersionNum.VERSION670); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "capabilities" to the Row entity - * of attributes. - * @param capabilities the column data which column name is "capabilities" - */ - public void setCapabilities(Map<String, UUID> capabilities) { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.CAPABILITIES - .columnName(), - "setCapabilities", - VersionNum.VERSION100, - VersionNum.VERSION670); - super.setDataHandler(columndesc, capabilities); - } - - /** - * Get the Column entity which column name is "statistics" from the Row - * entity of attributes. - * @return the Column entity which column name is "statistics" - */ - public Column getStatisticsColumn() { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.STATISTICS - .columnName(), - "getStatisticsColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "statistics" to the Row entity - * of attributes. - * @param statistics the column data which column name is "statistics" - */ - public void setStatistics(Map<String, Long> statistics) { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.STATISTICS - .columnName(), - "setStatistics", - VersionNum.VERSION100); - super.setDataHandler(columndesc, statistics); - } - - /** - * Get the Column entity which column name is "ovs_version" from the Row - * entity of attributes. - * @return the Column entity which column name is "ovs_version" - */ - public Column getOvsVersionColumn() { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.OVSVERSION - .columnName(), - "getOvsVersionColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "ovs_version" to the Row entity - * of attributes. - * @param ovsVersion the column data which column name is "ovs_version" - */ - public void setOvsVersion(Set<String> ovsVersion) { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.OVSVERSION - .columnName(), - "setOvsVersion", - VersionNum.VERSION100); - super.setDataHandler(columndesc, ovsVersion); - } - - /** - * Get the Column entity which column name is "db_version" from the Row - * entity of attributes. - * @return the Column entity which column name is "db_version" - */ - public Column getDbVersionColumn() { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.DBVERSION - .columnName(), - "getDbVersionColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "db_version" to the Row entity - * of attributes. - * @param dbVersion the column data which column name is "db_version" - */ - public void setDbVersion(Set<String> dbVersion) { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.DBVERSION - .columnName(), - "setDbVersion", - VersionNum.VERSION100); - super.setDataHandler(columndesc, dbVersion); - } - - /** - * Get the Column entity which column name is "system_type" from the Row - * entity of attributes. - * @return the Column entity which column name is "system_type" - */ - public Column getSystemTypeColumn() { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.SYSTEMTYPE - .columnName(), - "getSystemTypeColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "system_type" to the Row entity - * of attributes. - * @param systemType the column data which column name is "system_type" - */ - public void setSystemType(Set<String> systemType) { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.SYSTEMTYPE - .columnName(), - "setSystemType", - VersionNum.VERSION100); - super.setDataHandler(columndesc, systemType); - } - - /** - * Get the Column entity which column name is "system_version" from the Row - * entity of attributes. - * @return the Column entity which column name is "system_version" - */ - public Column getSystemVersionColumn() { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.SYSTEMVERSION - .columnName(), - "getSystemVersionColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "system_version" to the Row - * entity of attributes. - * @param systemVersion the column data which column name is - * "system_version" - */ - public void setSystemVersion(Set<String> systemVersion) { - ColumnDescription columndesc = new ColumnDescription( - OpenVSwitchColumn.SYSTEMVERSION - .columnName(), - "setSystemVersion", - VersionNum.VERSION100); - super.setDataHandler(columndesc, systemVersion); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/OvsdbTable.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/OvsdbTable.java deleted file mode 100644 index 2bfe2e79..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/OvsdbTable.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -/** - * Ovsdb table name. Refer to RFC7047's Section 9.2. - */ -public enum OvsdbTable { - INTERFACE("Interface"), BRIDGE("Bridge"), CONTROLLER("Controller"), - PORT("Port"), OPENVSWITCH("Open_vSwitch"), FLWTABLE("Flow_Table"), - QOS("Qos"), QUEUE("Queue"), MIRROR("Mirror"), MANAGER("Manager"), - NETFLOW("NetFlow"), SSL("SSL"), SFLOW("sFlow"), IPFIX("IPFIX"), - FLOWSAMPLECOLLECTORSET("Flow_Sample_Collector_Set"); - - private final String tableName; - - private OvsdbTable(String tableName) { - this.tableName = tableName; - } - - /** - * Returns the table name for OvsdbTable. - * @return the table name - */ - public String tableName() { - return tableName; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Port.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Port.java deleted file mode 100644 index 1e1ab7d7..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Port.java +++ /dev/null @@ -1,590 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import java.util.Map; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -/** - * This class provides operations of Port Table. - */ -public class Port extends AbstractOvsdbTableService { - - /** - * Port table column name. - */ - public enum PortColumn { - NAME("name"), INTERFACES("interfaces"), TRUNKS("trunks"), TAG("tag"), - VLANMODE("vlan_mode"), QOS("qos"), MAC("mac"), BONDTYPE("bond_type"), - BONDMODE("bond_mode"), LACP("lacp"), BONDUPDELAY("bond_updelay"), - BONDDOWNDELAY("bond_downdelay"), BONDFAKEIFACE("bond_fake_iface"), - FAKEBRIDGE("fake_bridge"), STATUS("status"), STATISTICS("statistics"), - OTHERCONFIG("other_config"), EXTERNALIDS("external_ids"); - - private final String columnName; - - private PortColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for PortColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a Port object. Generate Port Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public Port(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.PORT, VersionNum.VERSION100); - } - - /** - * Get the Column entity which column name is "name" from the Row entity of - * attributes. - * @return the Column entity - */ - public Column getNameColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.NAME - .columnName(), - "getNameColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "name" to the Row entity of - * attributes. - * @param name the column data which column name is "name" - */ - public void setName(String name) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.NAME - .columnName(), - "setName", - VersionNum.VERSION100); - super.setDataHandler(columndesc, name); - } - - /** - * Get the Column entity which column name is "name" from the Row entity of - * attributes. - * @return the Column entity - */ - public String getName() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.NAME - .columnName(), - "getName", - VersionNum.VERSION100); - return (String) super.getDataHandler(columndesc); - } - - /** - * Get the Column entity which column name is "interfaces" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getInterfacesColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.INTERFACES - .columnName(), - "getInterfacesColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "interfaces" to the Row entity - * of attributes. - * @param interfaces the column data which column name is "interfaces" - */ - public void setInterfaces(Set<UUID> interfaces) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.INTERFACES - .columnName(), - "setInterfaces", - VersionNum.VERSION100); - super.setDataHandler(columndesc, interfaces); - } - - /** - * Get the Column entity which column name is "trunks" from the Row entity - * of attributes. - * @return the Column entity - */ - public Column getTrunksColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.TRUNKS - .columnName(), - "getTrunksColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "trunks" to the Row entity of - * attributes. - * @param trunks the column data which column name is "trunks" - */ - public void setTrunks(Set<Long> trunks) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.TRUNKS - .columnName(), - "setTrunks", - VersionNum.VERSION100); - super.setDataHandler(columndesc, trunks); - } - - /** - * Get the Column entity which column name is "tag" from the Row entity of - * attributes. - * @return the Column entity - */ - public Column getTagColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.TAG - .columnName(), - "getTagColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "tag" to the Row entity of - * attributes. - * @param tag the column data which column name is "tag" - */ - public void setTag(Set<Long> tag) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.TAG - .columnName(), - "setTag", - VersionNum.VERSION100); - super.setDataHandler(columndesc, tag); - } - - /** - * Get the Column entity which column name is "vlan_mode" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getVlanModeColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.VLANMODE - .columnName(), - "getVlanModeColumn", - VersionNum.VERSION610); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "vlan_mode" to the Row entity of - * attributes. - * @param vlanMode the column data which column name is "vlan_mode" - */ - public void setVlanMode(Set<String> vlanMode) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.VLANMODE - .columnName(), - "setVlanMode", - VersionNum.VERSION610); - super.setDataHandler(columndesc, vlanMode); - } - - /** - * Get the Column entity which column name is "qos" from the Row entity of - * attributes. - * @return the Column entity - */ - public Column getQosColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.QOS - .columnName(), - "getQosColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "qos" to the Row entity of - * attributes. - * @param qos the column data which column name is "qos" - */ - public void setQos(Set<UUID> qos) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.QOS - .columnName(), - "setQos", - VersionNum.VERSION100); - super.setDataHandler(columndesc, qos); - } - - /** - * Get the Column entity which column name is "mac" from the Row entity of - * attributes. - * @return the Column entity - */ - public Column getMacColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.MAC - .columnName(), - "getMacColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "mac" to the Row entity of - * attributes. - * @param mac the column data which column name is "mac" - */ - public void setMac(Set<String> mac) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.MAC - .columnName(), - "setMac", - VersionNum.VERSION100); - super.setDataHandler(columndesc, mac); - } - - /** - * Get the Column entity which column name is "bond_type" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getBondTypeColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.BONDTYPE - .columnName(), - "getBondTypeColumn", - VersionNum.VERSION102, - VersionNum.VERSION103); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "bond_type" to the Row entity of - * attributes. - * @param bondtype the column data which column name is "bond_type" - */ - public void setBondType(Set<String> bondtype) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.BONDTYPE - .columnName(), - "setBondType", - VersionNum.VERSION102, - VersionNum.VERSION103); - super.setDataHandler(columndesc, bondtype); - } - - /** - * Get the Column entity which column name is "bond_mode" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getBondModeColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.BONDMODE - .columnName(), - "getBondModeColumn", - VersionNum.VERSION104); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "bond_mode" to the Row entity of - * attributes. - * @param bondmode the column data which column name is "bond_mode" - */ - public void setBondMode(Set<String> bondmode) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.BONDMODE - .columnName(), - "setBondMode", - VersionNum.VERSION104); - super.setDataHandler(columndesc, bondmode); - } - - /** - * Get the Column entity which column name is "lacp" from the Row entity of - * attributes. - * @return the Column entity - */ - public Column getLacpColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.LACP - .columnName(), - "getLacpColumn", - VersionNum.VERSION130); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "lacp" to the Row entity of - * attributes. - * @param lacp the column data which column name is "lacp" - */ - public void setLacp(Set<String> lacp) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.LACP - .columnName(), - "setLacp", - VersionNum.VERSION130); - super.setDataHandler(columndesc, lacp); - } - - /** - * Get the Column entity which column name is "bond_updelay" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getBondUpDelayColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.BONDUPDELAY - .columnName(), - "getBondUpDelayColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "bond_updelay" to the Row entity - * of attributes. - * @param bondUpDelay the column data which column name is "bond_updelay" - */ - public void setBondUpDelay(Set<Long> bondUpDelay) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.BONDUPDELAY - .columnName(), - "setBondUpDelay", - VersionNum.VERSION100); - super.setDataHandler(columndesc, bondUpDelay); - } - - /** - * Get the Column entity which column name is "bond_downdelay" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getBondDownDelayColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.BONDDOWNDELAY - .columnName(), - "getBondDownDelayColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "bond_downdelay" to the Row - * entity of attributes. - * @param bondDownDelay the column data which column name is - * "bond_downdelay" - */ - public void setBondDownDelay(Set<Long> bondDownDelay) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.BONDDOWNDELAY - .columnName(), - "setBondDownDelay", - VersionNum.VERSION100); - super.setDataHandler(columndesc, bondDownDelay); - } - - /** - * Get the Column entity which column name is "bond_fake_iface" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getBondFakeInterfaceColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.BONDFAKEIFACE - .columnName(), - "getBondFakeInterfaceColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "bond_fake_iface" to the Row - * entity of attributes. - * @param bondFakeInterface the column data which column name is - * "bond_fake_iface" - */ - public void setBondFakeInterface(Set<Boolean> bondFakeInterface) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.BONDFAKEIFACE - .columnName(), - "setBondFakeInterface", - VersionNum.VERSION100); - super.setDataHandler(columndesc, bondFakeInterface); - } - - /** - * Get the Column entity which column name is "fake_bridge" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getFakeBridgeColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.FAKEBRIDGE - .columnName(), - "getFakeBridgeColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "fake_bridge" to the Row entity - * of attributes. - * @param fakeBridge the column data which column name is "fake_bridge" - */ - public void setFakeBridge(Set<Boolean> fakeBridge) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.FAKEBRIDGE - .columnName(), - "setFakeBridge", - VersionNum.VERSION100); - super.setDataHandler(columndesc, fakeBridge); - } - - /** - * Get the Column entity which column name is "status" from the Row entity - * of attributes. - * @return the Column entity - */ - public Column getStatusColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.STATUS - .columnName(), - "getStatusColumn", - VersionNum.VERSION620); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "status" to the Row entity of - * attributes. - * @param status the column data which column name is "status" - */ - public void setStatus(Map<String, String> status) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.STATUS - .columnName(), - "setStatus", - VersionNum.VERSION620); - super.setDataHandler(columndesc, status); - } - - /** - * Get the Column entity which column name is "statistics" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getStatisticsColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.STATISTICS - .columnName(), - "getStatisticsColumn", - VersionNum.VERSION630); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "statistics" to the Row entity - * of attributes. - * @param statistics the column data which column name is "statistics" - */ - public void setStatistics(Map<String, Long> statistics) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.STATISTICS - .columnName(), - "setStatistics", - VersionNum.VERSION630); - super.setDataHandler(columndesc, statistics); - } - - /** - * Get the Column entity which column name is "other_config" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getOtherConfigColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.OTHERCONFIG - .columnName(), - "getOtherConfigColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "other_config" to the Row entity - * of attributes. - * @param otherConfig the column data which column name is "other_config" - */ - public void setOtherConfig(Map<String, String> otherConfig) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.OTHERCONFIG - .columnName(), - "setOtherConfig", - VersionNum.VERSION100); - super.setDataHandler(columndesc, otherConfig); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.EXTERNALIDS - .columnName(), - "getExternalIdsColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription( - PortColumn.EXTERNALIDS - .columnName(), - "setExternalIds", - VersionNum.VERSION100); - super.setDataHandler(columndesc, externalIds); - } - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Qos.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Qos.java deleted file mode 100644 index a40aa30c..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Qos.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import java.util.Map; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -/** - * This class provides operations of Qos Table. - */ -public class Qos extends AbstractOvsdbTableService { - /** - * Qos table column name. - */ - public enum QosColumn { - QUEUES("queues"), TYPE("type"), OTHERCONFIG("other_config"), EXTERNALIDS("external_ids"); - - private final String columnName; - - private QosColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for QosColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a Qos object. Generate Qos Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public Qos(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.QOS, VersionNum.VERSION100); - } - - /** - * Get the Column entity which column name is "queues" from the Row entity - * of attributes. - * @return the Column entity - */ - public Column getQueuesColumn() { - ColumnDescription columndesc = new ColumnDescription(QosColumn.QUEUES.columnName(), - "getQueuesColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "queues" to the Row entity of - * attributes. - * @param queues the column data which column name is "queues" - */ - public void setQueues(Map<Long, UUID> queues) { - ColumnDescription columndesc = new ColumnDescription(QosColumn.QUEUES.columnName(), "setQueues", - VersionNum.VERSION100); - super.setDataHandler(columndesc, queues); - } - - /** - * Get the Column entity which column name is "type" from the Row entity of - * attributes. - * @return the Column entity - */ - public Column getTypeColumn() { - ColumnDescription columndesc = new ColumnDescription(QosColumn.TYPE.columnName(), "getTypeColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "type" to the Row entity of - * attributes. - * @param type the column data which column name is "type" - */ - public void setType(Set<String> type) { - ColumnDescription columndesc = new ColumnDescription(QosColumn.TYPE.columnName(), "setType", - VersionNum.VERSION100); - super.setDataHandler(columndesc, type); - } - - /** - * Get the Column entity which column name is "other_config" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getOtherConfigColumn() { - ColumnDescription columndesc = new ColumnDescription(QosColumn.OTHERCONFIG.columnName(), - "getOtherConfigColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "other_config" to the Row entity - * of attributes. - * @param otherConfig the column data which column name is "other_config" - */ - public void setOtherConfig(Map<String, String> otherConfig) { - ColumnDescription columndesc = new ColumnDescription(QosColumn.OTHERCONFIG.columnName(), - "setOtherConfig", VersionNum.VERSION100); - super.setDataHandler(columndesc, otherConfig); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription(QosColumn.EXTERNALIDS.columnName(), - "getExternalIdsColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription(QosColumn.EXTERNALIDS.columnName(), - "setExternalIds", VersionNum.VERSION100); - super.setDataHandler(columndesc, externalIds); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Queue.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Queue.java deleted file mode 100644 index a89abafc..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Queue.java +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import java.util.Map; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -/** - * This class provides operations of Queue Table. - */ -public class Queue extends AbstractOvsdbTableService { - /** - * Queue table column name. - */ - public enum QueueColumn { - DSCP("dscp"), OTHERCONFIG("other_config"), EXTERNALIDS("external_ids"); - - private final String columnName; - - private QueueColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for QueueColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a Queue object. Generate Queue Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public Queue(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.QUEUE, VersionNum.VERSION100); - } - - /** - * Get the Column entity which column name is "dscp" from the Row entity of - * attributes. - * @return the Column entity - */ - public Column getDscpColumn() { - ColumnDescription columndesc = new ColumnDescription(QueueColumn.DSCP.columnName(), "getDscpColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "dscp" to the Row entity of - * attributes. - * @param dscp the column data which column name is "dscp" - */ - public void setDscp(Set<Long> dscp) { - ColumnDescription columndesc = new ColumnDescription(QueueColumn.DSCP.columnName(), "setDscp", - VersionNum.VERSION100); - super.setDataHandler(columndesc, dscp); - } - - /** - * Get the Column entity which column name is "other_config" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getOtherConfigColumn() { - ColumnDescription columndesc = new ColumnDescription(QueueColumn.OTHERCONFIG.columnName(), - "getOtherConfigColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "other_config" to the Row entity - * of attributes. - * @param otherConfig the column data which column name is "other_config" - */ - public void setOtherConfig(Map<String, String> otherConfig) { - ColumnDescription columndesc = new ColumnDescription(QueueColumn.OTHERCONFIG.columnName(), - "setOtherConfig", VersionNum.VERSION100); - super.setDataHandler(columndesc, otherConfig); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription(QueueColumn.EXTERNALIDS.columnName(), - "getExternalIdsColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription(QueueColumn.EXTERNALIDS.columnName(), - "setExternalIds", VersionNum.VERSION100); - super.setDataHandler(columndesc, externalIds); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Sflow.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Sflow.java deleted file mode 100644 index 142f66e3..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Sflow.java +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import java.util.Map; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -/** - * This class provides operations of Sflow Table. - */ -public class Sflow extends AbstractOvsdbTableService { - /** - * Sflow table column name. - */ - public enum SflowColumn { - TARGETS("targets"), AGENT("agent"), EXTERNALIDS("external_ids"), HAEDER("header"), - POLLING("polling"), SAMPLING("sampling"); - - private final String columnName; - - private SflowColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for SflowColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a Sflow object. Generate Sflow Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public Sflow(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.SFLOW, VersionNum.VERSION100); - } - - /** - * Get the Column entity which column name is "targets" from the Row entity - * of attributes. - * @return the Column entity - */ - public Column getTargetsColumn() { - ColumnDescription columndesc = new ColumnDescription(SflowColumn.TARGETS.columnName(), - "getTargetsColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "targets" to the Row entity of - * attributes. - * @param targets the column data which column name is "targets" - */ - public void setTargets(Set<String> targets) { - ColumnDescription columndesc = new ColumnDescription(SflowColumn.TARGETS.columnName(), "setTargets", - VersionNum.VERSION100); - super.setDataHandler(columndesc, targets); - } - - /** - * Get the Column entity which column name is "agent" from the Row entity of - * attributes. - * @return the Column entity - */ - public Column getAgentColumn() { - ColumnDescription columndesc = new ColumnDescription(SflowColumn.AGENT.columnName(), - "getAgentColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "agent" to the Row entity of - * attributes. - * @param agent the column data which column name is "agent" - */ - public void setAgent(Set<String> agent) { - ColumnDescription columndesc = new ColumnDescription(SflowColumn.AGENT.columnName(), "setAgent", - VersionNum.VERSION100); - super.setDataHandler(columndesc, agent); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription(SflowColumn.EXTERNALIDS.columnName(), - "getExternalIdsColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription(SflowColumn.EXTERNALIDS.columnName(), - "setExternalIds", VersionNum.VERSION100); - super.setDataHandler(columndesc, externalIds); - } - - /** - * Get the Column entity which column name is "header" from the Row entity - * of attributes. - * @return the Column entity - */ - public Column getHeaderColumn() { - ColumnDescription columndesc = new ColumnDescription(SflowColumn.HAEDER.columnName(), - "getHeaderColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "header" to the Row entity of - * attributes. - * @param header the column data which column name is "header" - */ - public void setHeader(Set<Long> header) { - ColumnDescription columndesc = new ColumnDescription(SflowColumn.HAEDER.columnName(), "setHeader", - VersionNum.VERSION100); - super.setDataHandler(columndesc, header); - } - - /** - * Get the Column entity which column name is "polling" from the Row entity - * of attributes. - * @return the Column entity - */ - public Column getPollingColumn() { - ColumnDescription columndesc = new ColumnDescription(SflowColumn.POLLING.columnName(), - "getPollingColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "polling" to the Row entity of - * attributes. - * @param polling the column data which column name is "polling" - */ - public void setPolling(Set<Long> polling) { - ColumnDescription columndesc = new ColumnDescription(SflowColumn.POLLING.columnName(), "setPolling", - VersionNum.VERSION100); - super.setDataHandler(columndesc, polling); - } - - /** - * Get the Column entity which column name is "sampling" from the Row entity - * of attributes. - * @return the Column entity - */ - public Column getSamplingColumn() { - ColumnDescription columndesc = new ColumnDescription(SflowColumn.SAMPLING.columnName(), - "getSamplingColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "sampling" to the Row entity of - * attributes. - * @param sampling the column data which column name is "sampling" - */ - public void setSampling(Set<Long> sampling) { - ColumnDescription columndesc = new ColumnDescription(SflowColumn.SAMPLING.columnName(), - "setSampling", VersionNum.VERSION100); - super.setDataHandler(columndesc, sampling); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Ssl.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Ssl.java deleted file mode 100644 index 188dee52..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/Ssl.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import java.util.Map; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.tableservice.AbstractOvsdbTableService; -import org.onosproject.ovsdb.rfc.tableservice.ColumnDescription; - -/** - * This class provides operations of Ssl Table. - */ -public class Ssl extends AbstractOvsdbTableService { - /** - * Ssl table column name. - */ - public enum SslColumn { - CACERT("ca_cert"), EXTERNALIDS("external_ids"), BOOTSTRAPCACERT("bootstrap_ca_cert"), - CERTIFICATE("certificate"), PRIVATEKEY("private_key"); - - private final String columnName; - - private SslColumn(String columnName) { - this.columnName = columnName; - } - - /** - * Returns the table column name for SslColumn. - * @return the table column name - */ - public String columnName() { - return columnName; - } - } - - /** - * Constructs a Ssl object. Generate Ssl Table Description. - * @param dbSchema DatabaseSchema - * @param row Row - */ - public Ssl(DatabaseSchema dbSchema, Row row) { - super(dbSchema, row, OvsdbTable.SSL, VersionNum.VERSION100); - } - - /** - * Get the Column entity which column name is "ca_cert" from the Row entity - * of attributes. - * @return the Column entity - */ - public Column getCaCertColumn() { - ColumnDescription columndesc = new ColumnDescription(SslColumn.CACERT.columnName(), - "getCaCertColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "ca_cert" to the Row entity of - * attributes. - * @param caCert the column data which column name is "ca_cert" - */ - public void setCaCert(String caCert) { - ColumnDescription columndesc = new ColumnDescription(SslColumn.CACERT.columnName(), "setCaCert", - VersionNum.VERSION100); - super.setDataHandler(columndesc, caCert); - } - - /** - * Get the Column entity which column name is "external_ids" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getExternalIdsColumn() { - ColumnDescription columndesc = new ColumnDescription(SslColumn.EXTERNALIDS.columnName(), - "getExternalIdsColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "external_ids" to the Row entity - * of attributes. - * @param externalIds the column data which column name is "external_ids" - */ - public void setExternalIds(Map<String, String> externalIds) { - ColumnDescription columndesc = new ColumnDescription(SslColumn.EXTERNALIDS.columnName(), - "setExternalIds", VersionNum.VERSION100); - super.setDataHandler(columndesc, externalIds); - } - - /** - * Get the Column entity which column name is "bootstrap_ca_cert" from the - * Row entity of attributes. - * @return the Column entity - */ - public Column getBootstrapCaCertColumn() { - ColumnDescription columndesc = new ColumnDescription(SslColumn.BOOTSTRAPCACERT.columnName(), - "getBootstrapCaCertColumn", - VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "bootstrap_ca_cert" to the Row - * entity of attributes. - * @param bootstrapCaCert the column data which column name is - * "bootstrap_ca_cert" - */ - public void setBootstrapCaCert(Boolean bootstrapCaCert) { - ColumnDescription columndesc = new ColumnDescription(SslColumn.BOOTSTRAPCACERT.columnName(), - "setBootstrapCaCert", VersionNum.VERSION100); - super.setDataHandler(columndesc, bootstrapCaCert); - } - - /** - * Get the Column entity which column name is "certificate" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getCertificateColumn() { - ColumnDescription columndesc = new ColumnDescription(SslColumn.CERTIFICATE.columnName(), - "getCertificateColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "certificate" to the Row entity - * of attributes. - * @param certificate the column data which column name is "certificate" - */ - public void setCertificate(String certificate) { - ColumnDescription columndesc = new ColumnDescription(SslColumn.CERTIFICATE.columnName(), - "setCertificate", VersionNum.VERSION100); - super.setDataHandler(columndesc, certificate); - } - - /** - * Get the Column entity which column name is "private_key" from the Row - * entity of attributes. - * @return the Column entity - */ - public Column getPrivateKeyColumn() { - ColumnDescription columndesc = new ColumnDescription(SslColumn.PRIVATEKEY.columnName(), - "getPrivateKeyColumn", VersionNum.VERSION100); - return (Column) super.getColumnHandler(columndesc); - } - - /** - * Add a Column entity which column name is "private_key" to the Row entity - * of attributes. - * @param privatekey the column data which column name is "private_key" - */ - public void setPrivateKey(String privatekey) { - ColumnDescription columndesc = new ColumnDescription(SslColumn.PRIVATEKEY.columnName(), - "setPrivateKey", VersionNum.VERSION100); - super.setDataHandler(columndesc, privatekey); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/TableGenerator.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/TableGenerator.java deleted file mode 100644 index f5bd860d..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/TableGenerator.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; - -/** - * Table generator. - */ -public final class TableGenerator { - - /** - * Constructs a TableGenerator object. Utility classes should not have a - * public or default constructor, otherwise it will compile failed. This - * class should not be instantiated. - */ - private TableGenerator() { - } - - /** - * Create table. - * @param dbSchema DatabaseSchema entity - * @param tableName table name - * @return Object table entity - */ - //FIXME change the name, it creates a row object, such as a controller. - public static Object createTable(DatabaseSchema dbSchema, - OvsdbTable tableName) { - Row row = new Row(); - return generateTable(dbSchema, row, tableName); - } - - /** - * Get table from Row. - * @param dbSchema DatabaseSchema entity - * @param row Row entity - * @param tableName table name - * @return Object table entity - */ - public static Object getTable(DatabaseSchema dbSchema, Row row, - OvsdbTable tableName) { - return generateTable(dbSchema, row, tableName); - } - - /** - * Generate the table by table name. - * @param dbSchema DatabaseSchema entity - * @param row Row entity - * @param tableName table name - * @return Object Table entity - */ - private static Object generateTable(DatabaseSchema dbSchema, Row row, - OvsdbTable tableName) { - switch (tableName) { - case INTERFACE: - return new Interface(dbSchema, row); - case BRIDGE: - return new Bridge(dbSchema, row); - case CONTROLLER: - return new Controller(dbSchema, row); - case OPENVSWITCH: - return new OpenVSwitch(dbSchema, row); - case PORT: - return new Port(dbSchema, row); - case FLWTABLE: - return new FlowTable(dbSchema, row); - case QOS: - return new Qos(dbSchema, row); - case QUEUE: - return new Queue(dbSchema, row); - case MIRROR: - return new Mirror(dbSchema, row); - case MANAGER: - return new Manager(dbSchema, row); - case NETFLOW: - return new Netflow(dbSchema, row); - case SSL: - return new Ssl(dbSchema, row); - case SFLOW: - return new Sflow(dbSchema, row); - case IPFIX: - return new Ipfix(dbSchema, row); - case FLOWSAMPLECOLLECTORSET: - return new FlowSampleCollectorSet(dbSchema, row); - default: - return null; - } - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/VersionNum.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/VersionNum.java deleted file mode 100644 index 8b356420..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/VersionNum.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.table; - -/** - * The version number of tables and columns. - */ -public enum VersionNum { - VERSION100("1.0.0"), VERSION102("1.0.2"), VERSION103("1.0.3"), - VERSION104("1.0.4"), VERSION106("1.0.6"), VERSION110("1.1.0"), - VERSION130("1.3.0"), VERSION200("2.0.0"), VERSION300("3.0.0"), - VERSION330("3.3.0"), VERSION350("3.5.0"), VERSION400("4.0.0"), - VERSION510("5.1.0"), VERSION520("5.2.0"), VERSION600("6.0.0"), - VERSION610("6.1.0"), VERSION620("6.2.0"), VERSION630("6.3.0"), - VERSION640("6.4.0"), VERSION650("6.5.0"), VERSION660("6.6.0"), - VERSION670("6.7.0"), VERSION680("6.8.0"), VERSION690("6.9.0"), - VERSION6100("6.10.0"), VERSION6111("6.11.1"), VERSION710("7.1.0"), - VERSION720("7.2.0"), VERSION721("7.2.1"), VERSION730("7.3.0"), - VERSION740("7.4.0"), VERSION750("7.5.0"), VERSION770("7.7.0"); - - private final String versionNum; - - private VersionNum(String versionNum) { - this.versionNum = versionNum; - } - - /** - * Returns the version number for VersionNum. - * @return the version number - */ - public String versionNum() { - return versionNum; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/package-info.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/package-info.java deleted file mode 100644 index e235b168..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/table/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * OVSDB table definitions. - */ -package org.onosproject.ovsdb.rfc.table; diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/AbstractOvsdbTableService.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/AbstractOvsdbTableService.java deleted file mode 100644 index af1a01d6..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/AbstractOvsdbTableService.java +++ /dev/null @@ -1,284 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.tableservice; - -import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Objects; - -import org.onosproject.ovsdb.rfc.exception.ColumnSchemaNotFoundException; -import org.onosproject.ovsdb.rfc.exception.TableSchemaNotFoundException; -import org.onosproject.ovsdb.rfc.exception.VersionMismatchException; -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; -import org.onosproject.ovsdb.rfc.schema.ColumnSchema; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.schema.TableSchema; -import org.onosproject.ovsdb.rfc.table.OvsdbTable; -import org.onosproject.ovsdb.rfc.table.VersionNum; -import org.onosproject.ovsdb.rfc.utils.VersionUtil; - -/** - * Representation of conversion between Ovsdb table and Row. - */ -public abstract class AbstractOvsdbTableService implements OvsdbTableService { - - private final DatabaseSchema dbSchema; - private final Row row; - private final TableDescription tableDesc; - - /** - * Constructs a AbstractOvsdbTableService object. - * @param dbSchema DatabaseSchema entity - * @param row Row entity - * @param table table name - * @param formVersion the initial version - */ - public AbstractOvsdbTableService(DatabaseSchema dbSchema, Row row, OvsdbTable table, - VersionNum formVersion) { - checkNotNull(dbSchema, "database schema cannot be null"); - checkNotNull(row, "row cannot be null"); - checkNotNull(table, "table cannot be null"); - checkNotNull(formVersion, "the initial version cannot be null"); - this.dbSchema = dbSchema; - row.setTableName(table.tableName()); - this.row = row; - TableDescription tableDesc = new TableDescription(table, formVersion); - this.tableDesc = tableDesc; - } - - /** - * Check whether the parameter of dbSchema is valid and check whether the - * table is existent in Database Schema. - */ - private boolean isValid() { - if (dbSchema == null) { - return false; - } - if (!dbSchema.name().equalsIgnoreCase(tableDesc.database())) { - return false; - } - checkTableSchemaVersion(); - return true; - } - - /** - * Check the table version. - */ - private void checkTableSchemaVersion() { - String fromVersion = tableDesc.fromVersion(); - String untilVersion = tableDesc.untilVersion(); - String schemaVersion = dbSchema.version(); - checkVersion(schemaVersion, fromVersion, untilVersion); - } - - /** - * Check the column version. - * @param columnDesc ColumnDescription entity - */ - private void checkColumnSchemaVersion(ColumnDescription columnDesc) { - String fromVersion = columnDesc.fromVersion(); - String untilVersion = columnDesc.untilVersion(); - String schemaVersion = dbSchema.version(); - checkVersion(schemaVersion, fromVersion, untilVersion); - } - - /** - * Check whether the DatabaseSchema version between the initial version and - * the end of the version. - * @param schemaVersion DatabaseSchema version - * @param fromVersion The initial version - * @param untilVersion The end of the version - * @throws VersionMismatchException this is a version mismatch exception - */ - private void checkVersion(String schemaVersion, String fromVersion, String untilVersion) { - VersionUtil.versionMatch(fromVersion); - VersionUtil.versionMatch(untilVersion); - if (!fromVersion.equals(VersionUtil.DEFAULT_VERSION_STRING)) { - if (VersionUtil.versionCompare(schemaVersion, fromVersion) < 0) { - String message = VersionMismatchException.createFromMessage(schemaVersion, - fromVersion); - throw new VersionMismatchException(message); - } - } - if (!untilVersion.equals(VersionUtil.DEFAULT_VERSION_STRING)) { - if (VersionUtil.versionCompare(untilVersion, schemaVersion) < 0) { - String message = VersionMismatchException.createToMessage(schemaVersion, - untilVersion); - throw new VersionMismatchException(message); - } - } - } - - /** - * Returns TableSchema from dbSchema by table name. - * @return TableSchema - */ - private TableSchema getTableSchema() { - String tableName = tableDesc.name(); - return dbSchema.getTableSchema(tableName); - } - - /** - * Returns ColumnSchema from TableSchema by column name. - * @param columnName column name - * @return ColumnSchema - */ - private ColumnSchema getColumnSchema(String columnName) { - TableSchema tableSchema = getTableSchema(); - if (tableSchema == null) { - String message = TableSchemaNotFoundException.createMessage(tableDesc.name(), - dbSchema.name()); - throw new TableSchemaNotFoundException(message); - } - ColumnSchema columnSchema = tableSchema.getColumnSchema(columnName); - if (columnSchema == null) { - String message = ColumnSchemaNotFoundException.createMessage(columnName, - tableSchema.name()); - throw new ColumnSchemaNotFoundException(message); - } - return columnSchema; - } - - @Override - public Column getColumnHandler(ColumnDescription columnDesc) { - if (!isValid()) { - return null; - } - String columnName = columnDesc.name(); - checkColumnSchemaVersion(columnDesc); - ColumnSchema columnSchema = getColumnSchema(columnName); - if (row == null) { - return null; - } - return row.getColumn(columnSchema.name()); - } - - @Override - public Object getDataHandler(ColumnDescription columnDesc) { - if (!isValid()) { - return null; - } - String columnName = columnDesc.name(); - checkColumnSchemaVersion(columnDesc); - ColumnSchema columnSchema = getColumnSchema(columnName); - if (row == null || row.getColumn(columnSchema.name()) == null) { - return null; - } - return row.getColumn(columnSchema.name()).data(); - } - - @Override - public void setDataHandler(ColumnDescription columnDesc, Object obj) { - if (!isValid()) { - return; - } - String columnName = columnDesc.name(); - checkColumnSchemaVersion(columnDesc); - ColumnSchema columnSchema = getColumnSchema(columnName); - Column column = new Column(columnSchema.name(), obj); - row.addColumn(columnName, column); - } - - @Override - public UUID getTableUuid() { - if (!isValid()) { - return null; - } - ColumnDescription columnDesc = new ColumnDescription("_uuid", "getTableUuid"); - return (UUID) getDataHandler(columnDesc); - } - - @Override - public Column getTableUuidColumn() { - if (!isValid()) { - return null; - } - ColumnDescription columnDesc = new ColumnDescription("_uuid", "getTableUuidColumn"); - return getColumnHandler(columnDesc); - } - - @Override - public UUID getTableVersion() { - if (!isValid()) { - return null; - } - ColumnDescription columnDesc = new ColumnDescription("_version", "getTableVersion"); - return (UUID) getDataHandler(columnDesc); - } - - @Override - public Column getTableVersionColumn() { - if (!isValid()) { - return null; - } - ColumnDescription columnDesc = new ColumnDescription("_version", "getTableVersionColumn"); - return getColumnHandler(columnDesc); - } - - /** - * Get DatabaseSchema entity. - * @return DatabaseSchema entity - */ - public DatabaseSchema dbSchema() { - return dbSchema; - } - - /** - * Get Row entity. - * @return Row entity - */ - public Row getRow() { - if (!isValid()) { - return null; - } - return this.row; - } - - /** - * Get TableDescription entity. - * @return TableDescription entity - */ - public TableDescription tableDesc() { - return tableDesc; - } - - @Override - public int hashCode() { - return row.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj instanceof AbstractOvsdbTableService) { - final AbstractOvsdbTableService other = (AbstractOvsdbTableService) obj; - return Objects.equals(this.row, other.row); - } - return false; - } - - @Override - public String toString() { - TableSchema schema = getTableSchema(); - String tableName = schema.name(); - return toStringHelper(this).add("tableName", tableName).add("row", row).toString(); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/ColumnDescription.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/ColumnDescription.java deleted file mode 100644 index 910b3296..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/ColumnDescription.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.tableservice; - -import static com.google.common.base.Preconditions.checkNotNull; - -import org.onosproject.ovsdb.rfc.table.VersionNum; -import org.onosproject.ovsdb.rfc.utils.VersionUtil; - -/** - * Column description. - */ -public class ColumnDescription { - - // The column name - private final String name; - // The method name - private final String method; - // The initial version - private final String fromVersion; - // The end of the version - private final String untilVersion; - - /** - * Constructs a MonitorRequest object. - * @param name column name - * @param method method name - */ - public ColumnDescription(String name, String method) { - checkNotNull(name, "name cannot be null"); - checkNotNull(method, "method cannot be null"); - this.name = name; - this.method = method; - this.fromVersion = VersionUtil.DEFAULT_VERSION_STRING; - this.untilVersion = VersionUtil.DEFAULT_VERSION_STRING; - } - - /** - * Constructs a MonitorRequest object. - * @param name column name - * @param method method name - * @param fromVersion the initial version - */ - public ColumnDescription(String name, String method, VersionNum fromVersion) { - checkNotNull(name, "name cannot be null"); - checkNotNull(method, "method cannot be null"); - checkNotNull(fromVersion, "the initial version cannot be null"); - this.name = name; - this.method = method; - this.fromVersion = fromVersion.versionNum(); - this.untilVersion = VersionUtil.DEFAULT_VERSION_STRING; - } - - /** - * Constructs a MonitorRequest object. - * @param name column name - * @param method method name - * @param fromVersion the initial version - * @param untilVersion the end of the version - */ - public ColumnDescription(String name, String method, VersionNum fromVersion, - VersionNum untilVersion) { - checkNotNull(name, "name cannot be null"); - checkNotNull(method, "method cannot be null"); - checkNotNull(fromVersion, "the initial version cannot be null"); - checkNotNull(untilVersion, "the end of the version cannot be null"); - this.name = name; - this.method = method; - this.fromVersion = fromVersion.versionNum(); - this.untilVersion = untilVersion.versionNum(); - } - - /** - * Returns the column name. - * @return the column name - */ - public String name() { - return name; - } - - /** - * Returns the method name. - * @return the method name - */ - public String method() { - return method; - } - - /** - * Returns the initial version. - * @return the initial version - */ - public String fromVersion() { - return fromVersion; - } - - /** - * Returns the end of the version. - * @return the end of the version - */ - public String untilVersion() { - return untilVersion; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/OvsdbTableService.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/OvsdbTableService.java deleted file mode 100644 index 58b656ef..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/OvsdbTableService.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.tableservice; - -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.UUID; - -/** - * Representation of conversion between Ovsdb table and Row. - */ -public interface OvsdbTableService { - - /** - * Get Column from row. - * @param columndesc Column description - * @return Column - */ - public Column getColumnHandler(ColumnDescription columndesc); - - /** - * Get Data from row. - * @param columndesc Column description - * @return Object column data - */ - public Object getDataHandler(ColumnDescription columndesc); - - /** - * Set column data of row. - * @param columndesc Column description - * @param obj column data - */ - public void setDataHandler(ColumnDescription columndesc, Object obj); - - /** - * Returns UUID which column name is _uuid. - * @return UUID - */ - public UUID getTableUuid(); - - /** - * Returns UUID Column which column name is _uuid. - * @return UUID Column - */ - public Column getTableUuidColumn(); - - /** - * Returns UUID which column name is _version. - * @return UUID - */ - public UUID getTableVersion(); - - /** - * Returns UUID Column which column name is _version. - * @return UUID Column - */ - public Column getTableVersionColumn(); -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/TableDescription.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/TableDescription.java deleted file mode 100644 index d120cab8..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/TableDescription.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.tableservice; - -import static com.google.common.base.Preconditions.checkNotNull; - -import org.onosproject.ovsdb.rfc.table.OvsdbTable; -import org.onosproject.ovsdb.rfc.table.VersionNum; -import org.onosproject.ovsdb.rfc.utils.VersionUtil; - -/** - * Table description. - */ -public class TableDescription { - - // The table name - private final String name; - // The database name - private final String database = "Open_vSwitch"; - // The initial version - private final String fromVersion; - // The end of the version - private final String untilVersion; - - /** - * Constructs a MonitorRequest object. - * @param table OvsdbTable entity - */ - public TableDescription(OvsdbTable table) { - checkNotNull(table, "table cannot be null"); - this.name = table.tableName(); - this.fromVersion = VersionUtil.DEFAULT_VERSION_STRING; - this.untilVersion = VersionUtil.DEFAULT_VERSION_STRING; - } - - /** - * Constructs a MonitorRequest object. - * @param table OvsdbTable entity - * @param fromVersion the initial version - */ - public TableDescription(OvsdbTable table, VersionNum fromVersion) { - checkNotNull(table, "table cannot be null"); - checkNotNull(fromVersion, "the initial version cannot be null"); - this.name = table.tableName(); - this.fromVersion = fromVersion.versionNum(); - this.untilVersion = VersionUtil.DEFAULT_VERSION_STRING; - } - - /** - * Constructs a MonitorRequest object. - * @param table OvsdbTable entity - * @param fromVersion the initial version - * @param untilVersion the end of the version - */ - public TableDescription(OvsdbTable table, VersionNum fromVersion, VersionNum untilVersion) { - checkNotNull(table, "table cannot be null"); - checkNotNull(fromVersion, "the initial version cannot be null"); - checkNotNull(untilVersion, "the end of the version cannot be null"); - this.name = table.tableName(); - this.fromVersion = fromVersion.versionNum(); - this.untilVersion = untilVersion.versionNum(); - } - - /** - * Returns the column name. - * @return the column name - */ - public String name() { - return name; - } - - /** - * Returns the database name. - * @return the database name - */ - public String database() { - return database; - } - - /** - * Returns the initial version. - * @return the initial version - */ - public String fromVersion() { - return fromVersion; - } - - /** - * Returns the end of the version. - * @return the end of the version - */ - public String untilVersion() { - return untilVersion; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/package-info.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/package-info.java deleted file mode 100644 index cc607da7..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/tableservice/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * OVSDB table service definitions. - */ -package org.onosproject.ovsdb.rfc.tableservice; diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/ConditionUtil.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/ConditionUtil.java deleted file mode 100644 index 527b8bfe..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/ConditionUtil.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.utils; - -import org.onosproject.ovsdb.rfc.notation.Condition; -import org.onosproject.ovsdb.rfc.notation.Condition.Function; - -/** - * Condition utility class. - */ -public final class ConditionUtil { - - /** - * Constructs a ConditionUtil object. Utility classes should not have a - * public or default constructor, otherwise IDE will compile unsuccessfully. This - * class should not be instantiated. - */ - private ConditionUtil() { - } - - /** - * Returns a Condition that means Function.EQUALS . - * @param columnName column name - * @param data column value - * @return Condition - */ - public static Condition equals(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Condition(columnName, Function.EQUALS, value); - } - - /** - * Returns a Condition that means Function.NOT_EQUALS . - * @param columnName column name - * @param data column value - * @return Condition - */ - public static Condition unEquals(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Condition(columnName, Function.NOT_EQUALS, value); - } - - /** - * Returns a Condition that means Function.GREATER_THAN . - * @param columnName column name - * @param data column value - * @return Condition - */ - public static Condition greaterThan(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Condition(columnName, Function.GREATER_THAN, value); - } - - /** - * Returns a Condition that means Function.GREATER_THAN_OR_EQUALS . - * @param columnName column name - * @param data column value - * @return Condition - */ - public static Condition greaterThanOrEquals(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Condition(columnName, Function.GREATER_THAN_OR_EQUALS, value); - } - - /** - * Returns a Condition that means Function.LESS_THAN . - * @param columnName column name - * @param data column value - * @return Condition - */ - public static Condition lesserThan(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Condition(columnName, Function.LESS_THAN, value); - } - - /** - * Returns a Condition that means Function.LESS_THAN_OR_EQUALS . - * @param columnName column name - * @param data column value - * @return Condition - */ - public static Condition lesserThanOrEquals(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Condition(columnName, Function.LESS_THAN_OR_EQUALS, value); - } - - /** - * Returns a Condition that means Function.INCLUDES . - * @param columnName column name - * @param data column value - * @return Condition - */ - public static Condition includes(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Condition(columnName, Function.INCLUDES, value); - } - - /** - * Returns a Condition that means Function.EXCLUDES . - * @param columnName column name - * @param data column value - * @return Condition - */ - public static Condition excludes(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Condition(columnName, Function.EXCLUDES, value); - } - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/FromJsonUtil.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/FromJsonUtil.java deleted file mode 100644 index 1dcf48f3..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/FromJsonUtil.java +++ /dev/null @@ -1,319 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.utils; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import org.onosproject.ovsdb.rfc.exception.AbnormalJsonNodeException; -import org.onosproject.ovsdb.rfc.exception.UnsupportedException; -import org.onosproject.ovsdb.rfc.jsonrpc.Callback; -import org.onosproject.ovsdb.rfc.jsonrpc.JsonRpcResponse; -import org.onosproject.ovsdb.rfc.message.OperationResult; -import org.onosproject.ovsdb.rfc.message.RowUpdate; -import org.onosproject.ovsdb.rfc.message.TableUpdate; -import org.onosproject.ovsdb.rfc.message.TableUpdates; -import org.onosproject.ovsdb.rfc.message.UpdateNotification; -import org.onosproject.ovsdb.rfc.notation.Column; -import org.onosproject.ovsdb.rfc.notation.Row; -import org.onosproject.ovsdb.rfc.notation.UUID; -import org.onosproject.ovsdb.rfc.operations.Operation; -import org.onosproject.ovsdb.rfc.schema.ColumnSchema; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.schema.TableSchema; -import org.onosproject.ovsdb.rfc.schema.type.ColumnTypeFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -/** - * JsonNode utility class. convert JsonNode into Object. - */ -public final class FromJsonUtil { - - private static final Logger log = LoggerFactory.getLogger(FromJsonUtil.class); - - /** - * Constructs a FromJsonUtil object. Utility classes should not have a - * public or default constructor, otherwise IDE will compile unsuccessfully. - * This class should not be instantiated. - */ - private FromJsonUtil() { - } - - /** - * Verify whether the jsonNode is normal. - * @param jsonNode JsonNode - * @param nodeStr the node name of JsonNode - */ - private static void validateJsonNode(JsonNode jsonNode, String nodeStr) { - if (!jsonNode.isObject() || !jsonNode.has(nodeStr)) { - String message = "Abnormal DatabaseSchema JsonNode, it should contain " + nodeStr - + " node but was not found"; - throw new AbnormalJsonNodeException(message); - } - } - - /** - * convert JsonNode into DatabaseSchema. - * @param dbName database name - * @param dbJson the JsonNode of get_schema result - * @return DatabaseSchema - * @throws AbnormalJsonNodeException this is an abnormal JsonNode exception - */ - public static DatabaseSchema jsonNodeToDbSchema(String dbName, JsonNode dbJson) { - validateJsonNode(dbJson, "tables"); - validateJsonNode(dbJson, "version"); - String dbVersion = dbJson.get("version").asText(); - Map<String, TableSchema> tables = new HashMap<>(); - Iterator<Map.Entry<String, JsonNode>> tablesIter = dbJson.get("tables").fields(); - while (tablesIter.hasNext()) { - Map.Entry<String, JsonNode> table = tablesIter.next(); - tables.put(table.getKey(), jsonNodeToTableSchema(table.getKey(), table.getValue())); - } - return new DatabaseSchema(dbName, dbVersion, tables); - } - - /** - * convert JsonNode into TableSchema. - * @param tableName table name - * @param tableJson table JsonNode - * @return TableSchema - * @throws AbnormalJsonNodeException this is an abnormal JsonNode exception - */ - private static TableSchema jsonNodeToTableSchema(String tableName, JsonNode tableJson) { - validateJsonNode(tableJson, "columns"); - Map<String, ColumnSchema> columns = new HashMap<>(); - Iterator<Map.Entry<String, JsonNode>> columnsIter = tableJson.get("columns").fields(); - while (columnsIter.hasNext()) { - Map.Entry<String, JsonNode> column = columnsIter.next(); - columns.put(column.getKey(), jsonNodeToColumnSchema(column.getKey(), column.getValue())); - } - return new TableSchema(tableName, columns); - } - - /** - * convert JsonNode into ColumnSchema. - * @param name column name - * @param columnJson column JsonNode - * @return ColumnSchema - * @throws AbnormalJsonNodeException this is an abnormal JsonNode exception - */ - private static ColumnSchema jsonNodeToColumnSchema(String name, JsonNode columnJson) { - validateJsonNode(columnJson, "type"); - return new ColumnSchema(name, ColumnTypeFactory.getColumnTypeFromJson(columnJson - .get("type"))); - } - - /** - * convert JsonNode into the returnType of methods in OvsdbRPC class. - * @param resultJsonNode the result JsonNode - * @param methodName the method name of methods in OvsdbRPC class - * @param objectMapper ObjectMapper entity - * @return Object - * @throws UnsupportedException this is an unsupported exception - */ - private static Object convertResultType(JsonNode resultJsonNode, String methodName, - ObjectMapper objectMapper) { - switch (methodName) { - case "getSchema": - case "monitor": - return resultJsonNode; - case "echo": - case "listDbs": - return objectMapper.convertValue(resultJsonNode, objectMapper.getTypeFactory() - .constructParametricType(List.class, String.class)); - case "transact": - return objectMapper.convertValue(resultJsonNode, objectMapper.getTypeFactory() - .constructParametricType(List.class, JsonNode.class)); - default: - throw new UnsupportedException("does not support this rpc method" + methodName); - } - } - - /** - * convert JsonNode into the returnType of methods in OvsdbRPC class. - * @param jsonNode the result JsonNode - * @param methodName the method name of methods in OvsdbRPC class - * @return Object - */ - public static Object jsonResultParser(JsonNode jsonNode, String methodName) { - ObjectMapper objectMapper = ObjectMapperUtil.getObjectMapper(); - JsonNode error = jsonNode.get("error"); - if (error != null && !error.isNull()) { - log.error("jsonRpcResponse error : {}", error.toString()); - } - JsonNode resultJsonNode = jsonNode.get("result"); - Object result = convertResultType(resultJsonNode, methodName, objectMapper); - return result; - } - - /** - * When monitor the ovsdb tables, if a table update, ovs send update - * notification, then call callback function. - * @param jsonNode the result JsonNode - * @param callback the callback function - * @throws UnsupportedException this is an unsupported exception - */ - public static void jsonCallbackRequestParser(JsonNode jsonNode, Callback callback) { - ObjectMapper objectMapper = ObjectMapperUtil.getObjectMapper(); - JsonNode params = jsonNode.get("params"); - Object param = null; - String methodName = jsonNode.get("method").asText(); - switch (methodName) { - case "update": - param = objectMapper.convertValue(params, UpdateNotification.class); - callback.update((UpdateNotification) param); - break; - default: - throw new UnsupportedException("does not support this callback method: " + methodName); - } - } - - /** - * Ovs send echo request to keep the heart, need we return echo result. - * @param jsonNode the result JsonNode - * @return JsonRpcResponse String - */ - public static String getEchoRequestStr(JsonNode jsonNode) { - ObjectMapper objectMapper = ObjectMapperUtil.getObjectMapper(); - String str = null; - if (jsonNode.get("method").asText().equals("echo")) { - JsonRpcResponse response = new JsonRpcResponse(jsonNode.get("id").asText()); - try { - str = objectMapper.writeValueAsString(response); - } catch (JsonProcessingException e) { - log.error("JsonProcessingException while converting JsonNode into string: ", e); - } - } - return str; - } - - /** - * Convert the List of Operation result into List of OperationResult . - * @param input the List of JsonNode - * @param operations the List of Operation - * @return the List of OperationResult - */ - public static List<OperationResult> jsonNodeToOperationResult(List<JsonNode> input, - List<Operation> operations) { - ObjectMapper objectMapper = ObjectMapperUtil.getObjectMapper(false); - List<OperationResult> operationResults = new ArrayList<OperationResult>(); - for (int i = 0; i < input.size(); i++) { - JsonNode jsonNode = input.get(i); - Operation operation = operations.get(i); - if (jsonNode != null && jsonNode.size() > 0) { - if (i >= operations.size() || operation.getOp() != "select") { - OperationResult or = objectMapper.convertValue(jsonNode, OperationResult.class); - operationResults.add(or); - } else { - List<Row> rows = createRows(operation.getTableSchema(), jsonNode); - OperationResult or = new OperationResult(rows); - operationResults.add(or); - } - } - } - return operationResults; - } - - /** - * Convert Operation JsonNode into Rows. - * @param tableSchema TableSchema entity - * @param rowsNode JsonNode - * @return ArrayList<Row> the List of Row - */ - private static ArrayList<Row> createRows(TableSchema tableSchema, JsonNode rowsNode) { - validateJsonNode(rowsNode, "rows"); - ArrayList<Row> rows = Lists.newArrayList(); - for (JsonNode rowNode : rowsNode.get("rows")) { - rows.add(createRow(tableSchema, null, rowNode)); //FIXME null will throw exception - } - return rows; - } - - /** - * convert the params of Update Notification into TableUpdates. - * @param updatesJson the params of Update Notification - * @param dbSchema DatabaseSchema entity - * @return TableUpdates - */ - public static TableUpdates jsonNodeToTableUpdates(JsonNode updatesJson, DatabaseSchema dbSchema) { - Map<String, TableUpdate> tableUpdateMap = Maps.newHashMap(); - Iterator<Map.Entry<String, JsonNode>> tableUpdatesItr = updatesJson.fields(); - while (tableUpdatesItr.hasNext()) { - Map.Entry<String, JsonNode> entry = tableUpdatesItr.next(); - TableSchema tableSchema = dbSchema.getTableSchema(entry.getKey()); - TableUpdate tableUpdate = jsonNodeToTableUpdate(tableSchema, entry.getValue()); - tableUpdateMap.put(entry.getKey(), tableUpdate); - } - return TableUpdates.tableUpdates(tableUpdateMap); - } - - /** - * convert the params of Update Notification into TableUpdate. - * @param tableSchema TableSchema entity - * @param updateJson the table-update in params of Update Notification - * @return TableUpdate - */ - public static TableUpdate jsonNodeToTableUpdate(TableSchema tableSchema, JsonNode updateJson) { - Map<UUID, RowUpdate> rows = Maps.newHashMap(); - Iterator<Map.Entry<String, JsonNode>> tableUpdateItr = updateJson.fields(); - while (tableUpdateItr.hasNext()) { - Map.Entry<String, JsonNode> oldNewRow = tableUpdateItr.next(); - String uuidStr = oldNewRow.getKey(); - UUID uuid = UUID.uuid(uuidStr); - JsonNode newR = oldNewRow.getValue().get("new"); - JsonNode oldR = oldNewRow.getValue().get("old"); - Row newRow = newR != null ? createRow(tableSchema, uuid, newR) : null; - Row oldRow = oldR != null ? createRow(tableSchema, uuid, oldR) : null; - RowUpdate rowUpdate = new RowUpdate(uuid, oldRow, newRow); - rows.put(uuid, rowUpdate); - } - return TableUpdate.tableUpdate(rows); - } - - /** - * Convert Operation JsonNode into Row. - * @param tableSchema TableSchema entity - * @param rowNode JsonNode - * @return Row - */ - private static Row createRow(TableSchema tableSchema, UUID uuid, JsonNode rowNode) { - if (tableSchema == null) { - return null; - } - Map<String, Column> columns = Maps.newHashMap(); - Iterator<Map.Entry<String, JsonNode>> rowIter = rowNode.fields(); - while (rowIter.hasNext()) { - Map.Entry<String, JsonNode> next = rowIter.next(); - ColumnSchema columnSchema = tableSchema.getColumnSchema(next.getKey()); - if (columnSchema != null) { - String columnName = columnSchema.name(); - Object obj = TransValueUtil.getValueFromJson(next.getValue(), columnSchema.type()); - columns.put(columnName, new Column(columnName, obj)); - } - } - return new Row(tableSchema.name(), uuid, columns); - } - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/JsonRpcReaderUtil.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/JsonRpcReaderUtil.java deleted file mode 100644 index 2a88199d..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/JsonRpcReaderUtil.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.utils; - -import io.netty.buffer.ByteBuf; -import io.netty.buffer.ByteBufInputStream; - -import java.io.IOException; -import java.util.List; -import java.util.Stack; - -import org.onosproject.ovsdb.rfc.exception.UnsupportedException; -import org.onosproject.ovsdb.rfc.jsonrpc.JsonReadContext; - -import com.fasterxml.jackson.core.JsonEncoding; -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.io.IOContext; -import com.fasterxml.jackson.core.json.ByteSourceJsonBootstrapper; -import com.fasterxml.jackson.core.util.BufferRecycler; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.MappingJsonFactory; - -/** - * Decoder utility class. - */ -public final class JsonRpcReaderUtil { - - /** - * Constructs a JsonRpcReaderUtil object. Utility classes should not have a - * public or default constructor, otherwise IDE will compile unsuccessfully. - * This class should not be instantiated. - */ - private JsonRpcReaderUtil() { - } - - /** - * Decode the bytes to Json object. - * @param in input of bytes - * @param out ouput of Json object list - * @param jrContext context for the last decoding process - * @throws IOException IOException - * @throws JsonParseException JsonParseException - */ - public static void readToJsonNode(ByteBuf in, List<Object> out, JsonReadContext jrContext) - throws JsonParseException, IOException { - int lastReadBytes = jrContext.getLastReadBytes(); - if (lastReadBytes == 0) { - if (in.readableBytes() < 4) { - return; - } - checkEncoding(in); - } - - int i = lastReadBytes + in.readerIndex(); - Stack<Byte> bufStack = jrContext.getBufStack(); - for (; i < in.writerIndex(); i++) { - byte b = in.getByte(i); - switch (b) { - case '{': - if (!isDoubleQuote(bufStack)) { - bufStack.push(b); - jrContext.setStartMatch(true); - } - break; - case '}': - if (!isDoubleQuote(bufStack)) { - bufStack.pop(); - } - break; - case '"': - if (in.getByte(i - 1) != '\\') { - if (!bufStack.isEmpty() && bufStack.peek() != '"') { - bufStack.push(b); - } else { - bufStack.pop(); - } - } - break; - default: - break; - } - - if (jrContext.isStartMatch() && bufStack.isEmpty()) { - ByteBuf buf = in.readSlice(i - in.readerIndex() + 1); - JsonParser jf = new MappingJsonFactory().createParser(new ByteBufInputStream(buf)); - JsonNode jsonNode = jf.readValueAsTree(); - out.add(jsonNode); - lastReadBytes = 0; - jrContext.setLastReadBytes(lastReadBytes); - break; - } - } - - if (i >= in.writerIndex()) { - lastReadBytes = in.readableBytes(); - jrContext.setLastReadBytes(lastReadBytes); - } - } - - /** - * Filter the invalid characters before decoding. - * @param in input of bytes - * @param lastReadBytes the bytes for last decoding incomplete record - */ - private static void fliterCharaters(ByteBuf in) { - while (in.isReadable()) { - int ch = in.getByte(in.readerIndex()); - if ((ch != ' ') && (ch != '\n') && (ch != '\t') && (ch != '\r')) { - break; - } else { - in.readByte(); - } - } - } - - /** - * Check whether the peek of the stack element is double quote. - * @param jrContext context for the last decoding process - * @return boolean - */ - private static boolean isDoubleQuote(Stack<Byte> bufStack) { - if (!bufStack.isEmpty() && bufStack.peek() == '"') { - return true; - } - return false; - } - - /** - * Check whether the encoding is valid. - * @param in input of bytes - * @throws IOException this is an IO exception - * @throws UnsupportedException this is an unsupported exception - */ - private static void checkEncoding(ByteBuf in) throws IOException { - int inputStart = 0; - int inputLength = 4; - fliterCharaters(in); - byte[] buff = new byte[4]; - in.getBytes(in.readerIndex(), buff); - ByteSourceJsonBootstrapper strapper = new ByteSourceJsonBootstrapper(new IOContext(new BufferRecycler(), - null, - false), - buff, inputStart, - inputLength); - JsonEncoding jsonEncoding = strapper.detectEncoding(); - if (!JsonEncoding.UTF8.equals(jsonEncoding)) { - throw new UnsupportedException("Only UTF-8 encoding is supported."); - } - } - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/JsonRpcWriterUtil.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/JsonRpcWriterUtil.java deleted file mode 100644 index 7511c36e..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/JsonRpcWriterUtil.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.utils; - -import java.util.List; - -import org.onosproject.ovsdb.rfc.jsonrpc.JsonRpcRequest; -import org.onosproject.ovsdb.rfc.operations.Operation; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; - -/** - * RPC Methods request utility class. Refer to RFC7047's Section 4.1. - */ -public final class JsonRpcWriterUtil { - - /** - * Constructs a JsonRpcWriterUtil object. Utility classes should not have a - * public or default constructor, otherwise IDE will compile unsuccessfully. - * This class should not be instantiated. - */ - private JsonRpcWriterUtil() { - } - - /** - * Returns string of RPC request. - * @param uuid id of request object - * @param methodName method of request object - * @param params params of request object - * @return RPC Request String - */ - private static String getRequestStr(String uuid, String methodName, - List params) { - JsonRpcRequest request; - if (params != null) { - request = new JsonRpcRequest(uuid, methodName, params); - } else { - request = new JsonRpcRequest(uuid, methodName); - } - String str = ObjectMapperUtil.convertToString(request); - return str; - } - - /** - * Returns string of get_schema request. - * @param uuid id of get_schema request - * @param dbnames params of get_schema request - * @return get_schema Request String - */ - public static String getSchemaStr(String uuid, List<String> dbnames) { - String methodName = "get_schema"; - return getRequestStr(uuid, methodName, dbnames); - } - - /** - * Returns string of echo request. - * @param uuid id of echo request - * @return echo Request String - */ - public static String echoStr(String uuid) { - String methodName = "echo"; - return getRequestStr(uuid, methodName, null); - } - - /** - * Returns string of monitor request. - * @param uuid id of monitor request - * @param monotorId json-value in params of monitor request - * @param dbSchema DatabaseSchema entity - * @return monitor Request String - */ - public static String monitorStr(String uuid, String monotorId, - DatabaseSchema dbSchema) { - String methodName = "monitor"; - return getRequestStr(uuid, methodName, - ParamUtil.getMonitorParams(monotorId, dbSchema)); - } - - /** - * Returns string of list_dbs request. - * @param uuid id of list_dbs request - * @return list_dbs Request String - */ - public static String listDbsStr(String uuid) { - String methodName = "list_dbs"; - return getRequestStr(uuid, methodName, null); - } - - /** - * Returns string of transact request. - * @param uuid id of transact request - * @param dbSchema DatabaseSchema entity - * @param operations operation* in params of transact request - * @return transact Request String - */ - public static String transactStr(String uuid, DatabaseSchema dbSchema, - List<Operation> operations) { - String methodName = "transact"; - return getRequestStr(uuid, methodName, - ParamUtil.getTransactParams(dbSchema, operations)); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/MutationUtil.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/MutationUtil.java deleted file mode 100644 index 9ec62d31..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/MutationUtil.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.utils; - -import org.onosproject.ovsdb.rfc.notation.Mutation; -import org.onosproject.ovsdb.rfc.notation.Mutation.Mutator; - -public final class MutationUtil { - - /** - * Constructs a MutationUtil object. Utility classes should not have a - * public or default constructor, otherwise IDE will compile unsuccessfully. This - * class should not be instantiated. - */ - private MutationUtil() { - } - - /** - * Returns a Mutation that means += . - * @param columnName column name - * @param data column value - * @return Mutation - */ - public static Mutation sum(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Mutation(columnName, Mutator.SUM, value); - } - - /** - * Returns a Mutation that means -= . - * @param columnName column name - * @param data column value - * @return Mutation - */ - public static Mutation difference(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Mutation(columnName, Mutator.DIFFERENCE, value); - } - - /** - * Returns a Mutation that means *= . - * @param columnName column name - * @param data column value - * @return Mutation - */ - public static Mutation product(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Mutation(columnName, Mutator.PRODUCT, value); - } - - /** - * Returns a Mutation that means /= . - * @param columnName column name - * @param data column value - * @return Mutation - */ - public static Mutation quotient(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Mutation(columnName, Mutator.QUOTIENT, value); - } - - /** - * Returns a Mutation that means %= . - * @param columnName column name - * @param data column value - * @return Mutation - */ - public static Mutation remainder(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Mutation(columnName, Mutator.REMAINDER, value); - } - - /** - * Returns a Mutation that means insert . - * @param columnName column name - * @param data column value - * @return Mutation - */ - public static Mutation insert(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Mutation(columnName, Mutator.INSERT, value); - } - - /** - * Returns a Mutation that means delete . - * @param columnName column name - * @param data column value - * @return Mutation - */ - public static Mutation delete(String columnName, Object data) { - Object value = TransValueUtil.getFormatData(data); - return new Mutation(columnName, Mutator.DELETE, value); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/ObjectMapperUtil.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/ObjectMapperUtil.java deleted file mode 100644 index e80a52bc..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/ObjectMapperUtil.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.utils; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; - -/** - * ObjectMapper utility class. - */ -public final class ObjectMapperUtil { - - private static final Logger log = LoggerFactory - .getLogger(ObjectMapperUtil.class); - - /** - * Constructs a ObjectMapperUtil object. Utility classes should not have a - * public or default constructor, otherwise IDE will compile unsuccessfully. This - * class should not be instantiated. - */ - private ObjectMapperUtil() { - } - - /** - * get ObjectMapper entity. - * @return ObjectMapper entity - */ - public static ObjectMapper getObjectMapper() { - ObjectMapper objectMapper = new ObjectMapper(); - objectMapper - .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, - false); - objectMapper.setSerializationInclusion(Include.NON_NULL); - return objectMapper; - } - - /** - * get ObjectMapper entity. - * @param flag configure - * @return ObjectMapper entity - */ - public static ObjectMapper getObjectMapper(boolean flag) { - ObjectMapper objectMapper = new ObjectMapper(); - objectMapper - .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, - flag); - return objectMapper; - } - - /** - * get ObjectMapper entity. - * @param flag configure - * @param incl setSerializationInclusion - * @return ObjectMapper entity - */ - public static ObjectMapper getObjectMapper(boolean flag, Include incl) { - ObjectMapper objectMapper = new ObjectMapper(); - objectMapper - .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, - flag); - objectMapper.setSerializationInclusion(incl); - return objectMapper; - } - - /** - * convert Object into String. - * @param obj Object - * @return String - */ - public static String convertToString(Object obj) { - ObjectMapper objectMapper = new ObjectMapper(); - try { - return objectMapper.writeValueAsString(obj); - } catch (JsonProcessingException e) { - log.error("JsonProcessingException while converting Entity into string", e); - } - return null; - } - -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/ParamUtil.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/ParamUtil.java deleted file mode 100644 index 486b39b8..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/ParamUtil.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.utils; - -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.message.MonitorRequest; -import org.onosproject.ovsdb.rfc.message.MonitorSelect; -import org.onosproject.ovsdb.rfc.operations.Operation; -import org.onosproject.ovsdb.rfc.schema.DatabaseSchema; -import org.onosproject.ovsdb.rfc.schema.TableSchema; - -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; - -/** - * Params utility class. Params of the request object, refer to RFC7047's - * Section 4.1. - */ -public final class ParamUtil { - - /** - * Constructs a ParamUtil object. Utility classes should not have a public - * or default constructor, otherwise IDE will compile unsuccessfully. This - * class should not be instantiated. - */ - private ParamUtil() { - } - - /** - * Returns MonitorRequest, refer to RFC7047's Section 4.1.5. - * @param tableSchema entity - * @return MonitorRequest - */ - private static MonitorRequest getAllColumnsMonitorRequest(TableSchema tableSchema) { - String tableName = tableSchema.name(); - Set<String> columns = tableSchema.getColumnNames(); - MonitorSelect select = new MonitorSelect(true, true, true, true); - MonitorRequest monitorRequest = new MonitorRequest(tableName, columns, select); - return monitorRequest; - } - - /** - * Returns params of monitor method, refer to RFC7047's Section 4.1.5. - * @param monotorId json-value, refer to RFC7047's Section 4.1.5. - * @param dbSchema DatabaseSchema entity - * @return List of Object, the params of monitor request - */ - public static List<Object> getMonitorParams(String monotorId, DatabaseSchema dbSchema) { - Set<String> tables = dbSchema.getTableNames(); - Map<String, MonitorRequest> mrMap = Maps.newHashMap(); - for (String tableName : tables) { - TableSchema tableSchema = dbSchema.getTableSchema(tableName); - MonitorRequest monitorRequest = getAllColumnsMonitorRequest(tableSchema); - mrMap.put(tableName, monitorRequest); - } - return Lists.newArrayList(dbSchema.name(), monotorId, mrMap); - } - - /** - * Returns params of transact method, refer to RFC7047's Section 4.1.3. - * @param dbSchema DatabaseSchema entity - * @param operations operation*, refer to RFC7047's Section 4.1.3. - * @return List of Object, the params of transact request - */ - public static List<Object> getTransactParams(DatabaseSchema dbSchema, List<Operation> operations) { - List<Object> lists = Lists.newArrayList(dbSchema.name()); - lists.addAll(operations); - return lists; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/StringEncoderUtil.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/StringEncoderUtil.java deleted file mode 100644 index 0e414d8b..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/StringEncoderUtil.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.utils; - -import io.netty.handler.codec.string.StringEncoder; -import io.netty.util.CharsetUtil; - -/** - * StringEncoder utility class.Only UTF-8 encoding is supported refer to - * RFC7047's Section 3.1. - */ -public final class StringEncoderUtil { - - /** - * Constructs a StringEncoderUtil object. Utility classes should not have a - * public or default constructor, otherwise IDE will compile unsuccessfully. This - * class should not be instantiated. - */ - private StringEncoderUtil() { - } - - /** - * Returns StringEncoder of UTF_8 . - * @return StringEncoder - */ - public static StringEncoder getEncoder() { - return new StringEncoder(CharsetUtil.UTF_8); - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/TransValueUtil.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/TransValueUtil.java deleted file mode 100644 index 49fbd375..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/TransValueUtil.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.utils; - -import java.util.Map; -import java.util.Set; - -import org.onosproject.ovsdb.rfc.notation.OvsdbMap; -import org.onosproject.ovsdb.rfc.notation.OvsdbSet; -import org.onosproject.ovsdb.rfc.notation.RefTableRow; -import org.onosproject.ovsdb.rfc.notation.UUID; -import org.onosproject.ovsdb.rfc.schema.type.AtomicColumnType; -import org.onosproject.ovsdb.rfc.schema.type.BaseType; -import org.onosproject.ovsdb.rfc.schema.type.BooleanBaseType; -import org.onosproject.ovsdb.rfc.schema.type.ColumnType; -import org.onosproject.ovsdb.rfc.schema.type.IntegerBaseType; -import org.onosproject.ovsdb.rfc.schema.type.KeyValuedColumnType; -import org.onosproject.ovsdb.rfc.schema.type.RealBaseType; -import org.onosproject.ovsdb.rfc.schema.type.StringBaseType; -import org.onosproject.ovsdb.rfc.schema.type.UuidBaseType; - -import com.fasterxml.jackson.databind.JsonNode; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; - -/** - * Object value utility class. - */ -public final class TransValueUtil { - - /** - * Constructs a TransValueUtil object. Utility classes should not have a - * public or default constructor, otherwise IDE will compile unsuccessfully. - * This class should not be instantiated. - */ - private TransValueUtil() { - } - - /** - * if the type is Set, convert into OvsdbSet, if Map, convert into OvsdbMap. - * @param value Object - * @return Object - */ - public static Object getFormatData(Object value) { - if (value instanceof Map) { - return OvsdbMap.ovsdbMap((Map) value); - } else if (value instanceof Set) { - return OvsdbSet.ovsdbSet((Set) value); - } else { - return value; - } - } - - /** - * Transform JsonNode to corresponding value. - * @param json the ColumnType JsonNode - * @param columnType AtomicColumnType or KeyValuedColumnType - * @return Object OvsdbMap or OvsdbSet - */ - public static Object getValueFromJson(JsonNode json, ColumnType columnType) { - if (columnType instanceof AtomicColumnType) { - AtomicColumnType atoType = (AtomicColumnType) columnType; - return getValueFromAtoType(json, atoType); - } else if (columnType instanceof KeyValuedColumnType) { - KeyValuedColumnType kvType = (KeyValuedColumnType) columnType; - return getValueFromKvType(json, kvType); - } - return null; - } - - /** - * Convert AtomicColumnType JsonNode into OvsdbSet value. - * @param json AtomicColumnType JsonNode - * @param atoType AtomicColumnType entity - * @return Object OvsdbSet or the value of JsonNode - */ - private static Object getValueFromAtoType(JsonNode json, AtomicColumnType atoType) { - BaseType baseType = atoType.baseType(); - // If "min" or "max" is not specified, If "min" is not 1 or "max" is not - // 1, or both, and "value" is not specified, the type is a set of scalar - // type "key". Refer to RFC 7047, Section 3.2 <type>. - if (atoType.min() != atoType.max()) { - Set set = Sets.newHashSet(); - if (json.isArray()) { - if (json.size() == 2) { - if (json.get(0).isTextual() && "set".equals(json.get(0).asText())) { - for (JsonNode node : json.get(1)) { - set.add(transToValue(node, baseType)); - } - } else { - set.add(transToValue(json, baseType)); - } - } - } else { - set.add(transToValue(json, baseType)); - } - return OvsdbSet.ovsdbSet(set); - } else { - return transToValue(json, baseType); - } - } - - /** - * Convert KeyValuedColumnType JsonNode into OvsdbMap value. - * @param json KeyValuedColumnType JsonNode - * @param kvType KeyValuedColumnType entity - * @return Object OvsdbMap - */ - private static Object getValueFromKvType(JsonNode json, KeyValuedColumnType kvType) { - if (json.isArray()) { - if (json.size() == 2) { - if (json.get(0).isTextual() && "map".equals(json.get(0).asText())) { - Map map = Maps.newHashMap(); - for (JsonNode pairNode : json.get(1)) { - if (pairNode.isArray() && json.size() == 2) { - Object key = transToValue(pairNode.get(0), kvType.keyType()); - Object value = transToValue(pairNode.get(1), kvType.valueType()); - map.put(key, value); - } - } - return OvsdbMap.ovsdbMap(map); - } - } - } - return null; - } - - /** - * convert into value. - * @param valueNode the BaseType JsonNode - * @param baseType BooleanBaseType or IntegerBaseType or RealBaseType or - * StringBaseType or UuidBaseType - * @return Object the value of JsonNode - */ - public static Object transToValue(JsonNode valueNode, BaseType baseType) { - if (baseType instanceof BooleanBaseType) { - return valueNode.asBoolean(); - } else if (baseType instanceof IntegerBaseType) { - return valueNode.asInt(); - } else if (baseType instanceof RealBaseType) { - return valueNode.asDouble(); - } else if (baseType instanceof StringBaseType) { - return valueNode.asText(); - } else if (baseType instanceof UuidBaseType) { - if (valueNode.isArray()) { - if (valueNode.size() == 2) { - if (valueNode.get(0).isTextual() - && ("uuid".equals(valueNode.get(0).asText()) || "named-uuid" - .equals(valueNode.get(0).asText()))) { - return UUID.uuid(valueNode.get(1).asText()); - } - } - } else { - return new RefTableRow(((UuidBaseType) baseType).getRefTable(), valueNode); - } - } - return null; - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/VersionUtil.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/VersionUtil.java deleted file mode 100644 index d05d90ed..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/VersionUtil.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.ovsdb.rfc.utils; - -/** - * Version utility class. - */ -public final class VersionUtil { - - /** - * Constructs a VersionUtil object. Utility classes should not have a public - * or default constructor, otherwise IDE will compile unsuccessfully. This - * class should not be instantiated. - */ - private VersionUtil() { - } - - public static final String DEFAULT_VERSION_STRING = "0.0.0"; - private static final String FORMAT = "(\\d+)\\.(\\d+)\\.(\\d+)"; - - /** - * Match version by the format. - * @param version the version String - * @throws IllegalArgumentException this is an illegal argument exception - */ - public static void versionMatch(String version) { - if (!version.matches(FORMAT)) { - throw new IllegalArgumentException("<" + version - + "> does not match format " + FORMAT); - } - } - - /** - * Compare fromVersion and toVersion. - * @param fromVersion the initial version - * @param toVersion the end of the version - * @return an int number - */ - public static int versionCompare(String fromVersion, String toVersion) { - String[] fromArr = fromVersion.split("\\."); - String[] toArr = toVersion.split("\\."); - int fromFirst = Integer.parseInt(fromArr[0]); - int fromMiddle = Integer.parseInt(fromArr[1]); - int fromEnd = Integer.parseInt(fromArr[2]); - int toFirst = Integer.parseInt(toArr[0]); - int toMiddle = Integer.parseInt(toArr[1]); - int toEnd = Integer.parseInt(toArr[2]); - if (fromFirst - toFirst != 0) { - return fromFirst - toFirst; - } else if (fromMiddle - toMiddle != 0) { - return fromMiddle - toMiddle; - } else { - return fromEnd - toEnd; - } - } -} diff --git a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/package-info.java b/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/package-info.java deleted file mode 100644 index 0a0a4f78..00000000 --- a/framework/src/onos/protocols/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/utils/package-info.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * OVSDB utilities. - */ -package org.onosproject.ovsdb.rfc.utils; |