Remove unused northbound 47/27447/1
authorSam Hague <shague@redhat.com>
Fri, 25 Sep 2015 15:27:44 +0000 (11:27 -0400)
committerSam Hague <shague@redhat.com>
Fri, 25 Sep 2015 15:27:44 +0000 (11:27 -0400)
Change-Id: I8ac5ae92315d2558a7563a35bdd67c0d816ccc68
Signed-off-by: Sam Hague <shague@redhat.com>
19 files changed:
README
integrationtest/src/test/resources/northbound.yaml [deleted file]
northbound/enunciate.xml [deleted file]
northbound/pom.xml [deleted file]
northbound/src/main/java/org/opendaylight/ovsdb/northbound/DatabaseResource.java [deleted file]
northbound/src/main/java/org/opendaylight/ovsdb/northbound/NodeResource.java [deleted file]
northbound/src/main/java/org/opendaylight/ovsdb/northbound/OvsdbNorthboundV2.java [deleted file]
northbound/src/main/java/org/opendaylight/ovsdb/northbound/OvsdbNorthboundV3.java [deleted file]
northbound/src/main/java/org/opendaylight/ovsdb/northbound/OvsdbRow.java [deleted file]
northbound/src/main/java/org/opendaylight/ovsdb/northbound/OvsdbRows.java [deleted file]
northbound/src/main/java/org/opendaylight/ovsdb/northbound/RowResource.java [deleted file]
northbound/src/main/java/org/opendaylight/ovsdb/northbound/TableResource.java [deleted file]
northbound/src/main/resources/WEB-INF/web.xml [deleted file]
northbound/src/test/java/org/opendaylight/ovsdb/northbound/NodeResourceTest.java [deleted file]
northbound/src/test/java/org/opendaylight/ovsdb/northbound/OvsdbNorthboundV3Test.java [deleted file]
pom.xml
resources/commons/OVSDB_Northbound_APIs.json.postman_collection [deleted file]
resources/commons/OVSDB_Northbound_v3_APIs.json.postman_collection [deleted file]
resources/commons/README

diff --git a/README b/README
index b4072ea9d92e92991991a88fa7ae8f8a1e397f73..b084ea7c8bb2d2888f913096bce1b2e65a024fad 100644 (file)
--- a/README
+++ b/README
@@ -18,10 +18,6 @@ DIRECTORY ORGANIZATION
             This module doesn't depend on any of the Opendaylight components.
             This library module can also be used independently in a non-OSGi environment.
 
-- northbound : Provides AD-SAL style Northbound REST APIs.
-               Supports the legacy v2 APIs to provide backward compatibility for Hydrogen Release
-               Also supports the newer v3 APIs to provide schema-independent access to the OVSDB protocol.
-
 - openstack
   +-- net-virt : Handles the Openstack Neutron ML2 and Network Service calls and performs all the logic required
                  for Network Virtualization.
@@ -67,7 +63,7 @@ Pre-requisites : JDK 1.7+, Maven 3+
 
    4. Once karaf has started and you see the Opendaylight ascii art in the console, the last step
       is to start the OVSDB plugin framework with the following command in the karaf console:
-      "feature:install odl-ovsdb-openstack odl-ovsdb-northbound" (without quotation marks).
+      "feature:install odl-ovsdb-openstack" (without quotation marks).
 
    Sample output from Karaf console :
 
@@ -76,8 +72,6 @@ Pre-requisites : JDK 1.7+, Maven 3+
    odl-ovsdb-library                | 1.0.0-SNAPSHOT      | x         | ovsdb-1.0.0-SNAPSHOT                  | OVSDB :: Library
    odl-ovsdb-schema-openvswitch     | 1.0.0-SNAPSHOT      | x         | ovsdb-1.0.0-SNAPSHOT                  | OVSDB :: Schema :: Open_vSwitch
    odl-ovsdb-schema-hardwarevtep    | 1.0.0-SNAPSHOT      | x         | ovsdb-1.0.0-SNAPSHOT                  | OVSDB :: Schema :: hardware_vtep
-   odl-ovsdb-plugin                 | 1.0.0-SNAPSHOT      | x         | ovsdb-1.0.0-SNAPSHOT                  | OpenDaylight :: OVSDB :: Plugin
-   odl-ovsdb-northbound             | 0.6.0-SNAPSHOT      |           | ovsdb-1.0.0-SNAPSHOT                  | OpenDaylight :: OVSDB :: Northbound
    odl-ovsdb-openstack              | 1.0.0-SNAPSHOT      | x         | ovsdb-1.0.0-SNAPSHOT                  | OpenDaylight :: OVSDB :: OpenStack Network Virtual
    odl-ovsdb-ovssfc                 | 0.0.1-SNAPSHOT      |           | ovsdb-0.0.1-SNAPSHOT                  | OpenDaylight :: OVSDB :: OVS Service Function Chai
 
diff --git a/integrationtest/src/test/resources/northbound.yaml b/integrationtest/src/test/resources/northbound.yaml
deleted file mode 100644 (file)
index c6c1981..0000000
+++ /dev/null
@@ -1,520 +0,0 @@
-# This file contains test cases for the OVSDB Northbound API
-# The ordering of the test data MUST be as follows:
-#   name:
-#   operation:
-#   uri:
-#   json:
-#   expected:
-#
-# The tests are run in the order specified in this file
-# The following variables are permitted in the URI or JSON:
-#
-# ${node} = The node identifier
-# ${uuid} = The last UUID returned by a POST operation
-# ${bridge_uuid} = The UUID of the test bridge
-# ${port_uuid} = The UUID of the test port
----
-- name: testGetBridgeRows
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/bridge/rows
-  json:
-  expected: 200
-
-- name: testGetPortRows
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/port/rows
-  json:
-  expected: 200
-
-- name: testGetInterfaceRows
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/interface/rows
-  json:
-  expected: 200
-
-- name: testGetControllerRows
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/controller/rows
-  json:
-  expected: 200
-
-- name: testGetSslRows
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/ssl/rows
-  json:
-  expected: 200
-
-- name: testGetSflowRows
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/sflow/rows
-  json:
-  expected: 200
-
-- name: testGetQosRows
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/qos/rows
-  json:
-  expected: 200
-
-- name: testGetQueueRows
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/queue/rows
-  json:
-  expected: 200
-
-- name: testGetNetflowRows
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/netflow/rows
-  json:
-  expected: 200
-
-- name: testGetManagerRows
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/manager/rows
-  json:
-  expected: 200
-
-- name: testGetOpenVswitchRows
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/open_vswitch/rows
-  json:
-  expected: 200
-
-# Bridge
-
-- name: testCreateBridge
-  operation: POST
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/bridge/rows
-  json: >
-    {
-      "row": {
-        "Bridge": {
-        "name": "bridge1",
-        "datapath_type": "OPENFLOW"
-        }
-     }
-    }
-  expected: 201
-
-- name: testGetBridgeRow
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/bridge/rows/${uuid}
-  json:
-  expected: 200
-
-- name: testUpdateBridgeRow
-  operation: PUT
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/bridge/rows/${uuid}
-  json: >
-    {
-      "row": {
-        "Bridge": {
-          "stp_enable": true
-        }
-     }
-    }
-  expected: 200
-
-# Port
-
-- name: testCreatePort
-  operation: POST
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/port/rows
-  json: >
-    {
-      "parent_uuid":"${bridge_uuid}",
-        "row":{
-          "Port":{
-            "name":"testPort1"
-          }
-        }
-    }
-  expected: 201
-
-- name: testGetPortRow
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/port/rows/${uuid}
-  json:
-  expected: 200
-
-- name: testUpdatePortRow
-  operation: PUT
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/port/rows/${uuid}
-  json: >
-    {
-       "row": {
-         "Port": {
-            "fake_bridge": true
-         }
-       }
-    }
-  expected: 200
-
-# Interface
-
-- name: testCreateInteface
-  operation: POST
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/interface/rows
-  json: >
-    {
-      "parent_uuid": "${port_uuid}",
-        "row":{
-          "Interface":{
-            "name":"testInterface",
-            "admin_state":"up"
-        }
-      }
-    }
-  expected: 201
-
-- name: testGetInterfaceRow
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/interface/rows/${uuid}
-  json:
-  expected: 200
-
-- name: testUpdateInterfaceRow
-  operation: PUT
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/interface/rows/${uuid}
-  json: >
-    {
-      "row":{
-        "Interface":{
-          "type": "gre"
-        }
-      }
-    }
-  expected: 200
-
-- name: testDeleteInterfaceRow
-  operation: DELETE
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/interface/rows/${uuid}
-  json:
-  expected: 204
-
-# Controller
-
-- name: testCreateController
-  operation: POST
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/controller/rows
-  json: >
-    {
-      "parent_uuid" : "${bridge_uuid}",
-      "row" : {
-        "Controller": {
-          "target": "1.1.1.1"
-            }
-        }
-    }
-  expected: 201
-
-- name: testGetControllerRow
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/controller/rows/${uuid}
-  json:
-  expected: 200
-
-- name: testUpdateControllerRow
-  operation: PUT
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/controller/rows/${uuid}
-  json: >
-    {
-      "row":{
-        "Controller":{
-          "is_connected": false
-        }
-      }
-    }
-  expected: 200
-
-- name: testDeleteControllerRow
-  operation: DELETE
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/controller/rows/${uuid}
-  json:
-  expected: 204
-
-# SSL
-
-- name: testCreateSslRow
-  operation: POST
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/ssl/rows
-  json: >
-    {
-        "row":{
-          "SSL":{
-            "name":"mySSL",
-            "ca_cert" : "ca_cert",
-            "bootstrap_ca_cert" : true,
-            "certificate":"pieceofpaper",
-            "private_key" : "private"
-          }
-        }
-    }
-  expected: 201
-
-- name: testGetSslRow
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/ssl/rows/${uuid}
-  json:
-  expected: 200
-
-- name: testUpdateSslRow
-  operation: PUT
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/ssl/rows/${uuid}
-  json: >
-    {
-      "row":{
-        "SSL":{
-          "private_key" : "secret"
-        }
-      }
-    }
-  expected: 200
-
-- name: testDeleteSslRow
-  operation: DELETE
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/ssl/rows/${uuid}
-  json:
-  expected: 204
-
-# sFlow
-
-- name: testCreateSflowRow
-  operation: POST
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/sflow/rows
-  json: >
-    {
-      "parent_uuid": "${bridge_uuid}",
-      "row": {
-        "sFlow": {
-          "targets": [
-            "set",
-            [
-              "targets_string"
-            ]
-          ]
-        }
-      }
-    }
-  expected: 201
-
-- name: testGetSflowRow
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/sflow/rows/${uuid}
-  json:
-  expected: 200
-
-- name: testUpdateSflowRow
-  operation: PUT
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/sflow/rows/${uuid}
-  json: >
-    {
-      "row":{
-        "sFlow":{
-          "targets": [
-            "set",
-            [
-              "targets_string",
-              "second_target"
-            ]
-          ]
-        }
-      }
-    }
-  expected: 200
-
-- name: testDeleteSflowRow
-  operation: DELETE
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/sflow/rows/${uuid}
-  json:
-  expected: 204
-
-# QoS
-
-- name: testCreateQosRow
-  operation: POST
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/qos/rows
-  json: >
-    {
-      "parent_uuid" : "${port_uuid}",
-      "row" : {
-        "QoS": {
-          "type": "linux-htb"
-        }
-      }
-    }
-  expected: 201
-
-- name: testGetQosRow
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/qos/rows/${uuid}
-  json:
-  expected: 200
-
-- name: testUpdateQosRow
-  operation: PUT
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/qos/rows/${uuid}
-  json: >
-    {
-      "row":{
-        "QoS":{
-          "type": "linux-hfsc"
-        }
-      }
-    }
-  expected: 200
-
-# Queue
-
-- name: testCreateQueueRow
-  operation: POST
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/queue/rows
-  json: >
-    {
-      "parent_uuid": "${qos_uuid}",
-      "row": {
-        "Queue": {
-          "dscp" : [
-          "set",
-          [
-              25
-            ]
-          ]
-        }
-      }
-    }
-  expected: 201
-
-- name: testGetQueueRow
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/queue/rows/${uuid}
-  json:
-  expected: 200
-
-- name: testUpdateQueueRow
-  operation: PUT
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/queue/rows/${uuid}
-  json: >
-    {
-      "row":{
-        "Queue":{
-          "other_config" : [
-            "map", ["foo", "bar" ]
-          ]
-        }
-      }
-    }
-  expected: 200
-
-- name: testDeleteQueueRow
-  operation: DELETE
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/queue/rows/${uuid}
-  json:
-  expected: 204
-
-# NetFlow
-
-- name: testCreateNetflowRow
-  operation: POST
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/netflow/rows
-  json: >
-    {
-      "parent_uuid":"${bridge_uuid}",
-      "row" : {
-        "NetFlow":{
-          "targets" : [
-            "set", ["192.168.1.102:9998"]],
-          "active_timeout" : "0"
-          }
-      }
-    }
-  expected: 201
-
-- name: testGetNetflowRow
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/netflow/rows/${uuid}
-  json:
-  expected: 200
-
-- name: testUpdateNetflowRow
-  operation: PUT
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/netflow/rows/${uuid}
-  json: >
-    {
-      "row" : {
-        "NetFlow":{
-          "targets" : [
-            "set", ["192.168.1.102:9998", "192.168.2.102:9998"]]
-          }
-      }
-    }
-  expected: 200
-
-- name: testDeleteNetflowRow
-  operation: DELETE
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/netflow/rows/${uuid}
-  json:
-  expected: 204
-
-# Manager
-
-- name: testCreateManagerRow
-  operation: POST
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/manager/rows
-  json: >
-    {
-      "parent_uuid":"${ovs_uuid}",
-        "row":{
-          "Manager":{
-            "target":"a_string",
-            "is_connected": true,
-            "state":"active"
-          }
-        }
-    }
-  expected: 201
-
-- name: testGetManagerRow
-  operation: GET
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/manager/rows/${uuid}
-  json:
-  expected: 200
-
-- name: testUpdateManagerRow
-  operation: PUT
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/manager/rows/${uuid}
-  json: >
-    {
-        "row":{
-          "Manager":{
-            "is_connected": false
-          }
-        }
-    }
-  expected: 200
-
-- name: testDeleteManagerRow
-  operation: DELETE
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/manager/rows/${uuid}
-  json:
-  expected: 204
-
-# Cleanup
-
-- name: testDeleteQosRow
-  operation: DELETE
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/qos/rows/${qos_uuid}
-  json:
-  expected: 204
-
-- name: testDeletePortRow
-  operation: DELETE
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/port/rows/${port_uuid}
-  json:
-  expected: 204
-
-- name: testDeleteBridgeRow
-  operation: DELETE
-  uri: /ovsdb/nb/v2/node/OVS/${node}/tables/bridge/rows/${bridge_uuid}
-  json:
-  expected: 204
diff --git a/northbound/enunciate.xml b/northbound/enunciate.xml
deleted file mode 100644 (file)
index e6faef2..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<enunciate label="full" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.26.xsd">
-
-  <services>
-    <rest defaultRestSubcontext="/ovsdb/nb/v2"/>
-  </services>
-
-  <modules>
-    <docs docsDir="rest" title="OVSDB Table operations over REST" includeExampleXml="true" includeExampleJson="true"/>
-  </modules>
-</enunciate>
diff --git a/northbound/pom.xml b/northbound/pom.xml
deleted file mode 100644 (file)
index 73ad141..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Copyright (C) 2014 Red Hat, Inc. and others. All rights reserved.
-
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<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/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.opendaylight.ovsdb</groupId>
-    <artifactId>commons</artifactId>
-    <version>1.4.0-SNAPSHOT</version>
-    <relativePath>../commons/parent</relativePath>
-  </parent>
-
-  <artifactId>northbound</artifactId>
-  <version>0.8.0-SNAPSHOT</version>
-  <packaging>bundle</packaging>
-  <description>The OVSDB Plugin integration project is a project for OpenDaylight that will implement the Open vSwitch Database RFC 7047 management protocol allowing the Southbound configuration of vSwitches and a network virtualization implementation.</description>
-  <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
-  <licenses>
-    <license>
-      <name>Eclipse Public License v1.0</name>
-      <url>http://www.eclipse.org/legal/epl-v10.html</url>
-    </license>
-  </licenses>
-  <developers>
-    <developer>
-      <name>Sam Hague</name>
-      <email>shague@gmail.com</email>
-      <url>https://github.com/shague</url>
-    </developer>
-  </developers>
-  <scm>
-    <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
-    <tag>HEAD</tag>
-    <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
-  </scm>
-
-  <dependencies>
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-databind</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.enunciate</groupId>
-      <artifactId>enunciate-core-annotations</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.powermock</groupId>
-      <artifactId>powermock-api-mockito</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.powermock</groupId>
-      <artifactId>powermock-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.powermock</groupId>
-      <artifactId>powermock-module-junit4</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>commons.northbound</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>library</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>plugin</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>utils.servicehelper</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>com.sun.jersey</groupId>
-      <artifactId>jersey-core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-simple</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-  </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Import-Package>org.opendaylight.controller.sal.utils,
-              org.opendaylight.controller.northbound.commons,
-              org.opendaylight.controller.northbound.commons.exception,
-              org.opendaylight.controller.northbound.commons.utils,
-              com.sun.jersey.spi.container.servlet,
-              org.opendaylight.controller.sal.core,
-              org.opendaylight.controller.sal.authorization,
-              org.opendaylight.ovsdb.plugin.api,
-              org.opendaylight.ovsdb.lib,
-              org.opendaylight.ovsdb.lib.jsonrpc,
-              org.opendaylight.ovsdb.lib.notation,
-              org.opendaylight.ovsdb.lib.operations,
-              org.opendaylight.ovsdb.lib.message,
-              org.opendaylight.ovsdb.lib.schema,
-              org.opendaylight.ovsdb.lib.schema.typed,
-              javax.ws.rs,
-              javax.ws.rs.core,
-              javax.xml.bind,
-              javax.xml.bind.annotation,
-              org.slf4j,
-              org.apache.catalina.filters,
-              !org.codehaus.enunciate.jaxrs,*</Import-Package>
-            <Export-Package/>
-            <Web-ContextPath>/ovsdb/nb</Web-ContextPath>
-            <Jaxrs-Resources>,${classes;ANNOTATION;javax.ws.rs.Path}</Jaxrs-Resources>
-          </instructions>
-          <manifestLocation>${project.basedir}/src/main/resources/META-INF</manifestLocation>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.enunciate</groupId>
-        <artifactId>maven-enunciate-plugin</artifactId>
-        <version>${enunciate.version}</version>
-      </plugin>
-      <plugin>
-        <groupId>org.jacoco</groupId>
-        <artifactId>jacoco-maven-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/northbound/src/main/java/org/opendaylight/ovsdb/northbound/DatabaseResource.java b/northbound/src/main/java/org/opendaylight/ovsdb/northbound/DatabaseResource.java
deleted file mode 100644 (file)
index 84b52dc..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 2014, 2015 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.ovsdb.northbound;
-
-import com.fasterxml.jackson.databind.SerializationFeature;
-import java.util.List;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.opendaylight.controller.northbound.commons.exception.InternalServerErrorException;
-import org.opendaylight.ovsdb.lib.OvsdbClient;
-import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-/**
- * Northbound interface for OVSDB Databases
- */
-public class DatabaseResource {
-
-    String nodeId;
-    ObjectMapper objectMapper;
-    DatabaseResource(String id) {
-        this.nodeId = id;
-        objectMapper = new ObjectMapper();
-        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-        objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-    }
-
-    private DatabaseSchema getDatabaseSchema (String databaseName) {
-        String csDatabaseName = this.caseSensitiveDatabaseName(databaseName);
-        OvsdbClient client = NodeResource.getOvsdbClient(nodeId, this);
-        return client.getDatabaseSchema(csDatabaseName);
-    }
-
-    @GET
-    @Produces(MediaType.APPLICATION_JSON)
-    public Response getDatabases(){
-        OvsdbClient client = NodeResource.getOvsdbClient(nodeId, this);
-        try {
-            List<String> databases = client.getDatabases().get();
-            if (databases == null) {
-                return Response.noContent().build();
-            }
-            String response = objectMapper.writeValueAsString(databases);
-            return Response.status(Response.Status.OK)
-                    .entity(response)
-                    .build();
-        } catch (Exception e) {
-            throw new InternalServerErrorException("Failed due to exception " + e.getMessage());
-        }
-    }
-
-    @GET
-    @Path("{name}")
-    @Produces(MediaType.APPLICATION_JSON)
-    public Response getDatabases(@PathParam("name") String name) throws JsonProcessingException {
-        DatabaseSchema dbSchema = this.getDatabaseSchema(name);
-        String response = objectMapper.writeValueAsString(dbSchema);
-        return Response.status(Response.Status.OK)
-                .entity(response)
-                .build();
-    }
-
-    @Path("{name}/table")
-    public TableResource getDatabaseTables(@PathParam("name") String name){
-        String csDatabaseName = this.caseSensitiveDatabaseName(name);
-        return new TableResource(nodeId, csDatabaseName);
-    }
-
-    private String caseSensitiveDatabaseName (String ciDatabaseName) {
-        OvsdbClient client = NodeResource.getOvsdbClient(nodeId, this);
-        try {
-            List<String> databases = client.getDatabases().get();
-            if (databases == null) {
-                return ciDatabaseName;
-            }
-            for (String csDatabaseName : databases) {
-                if (csDatabaseName.equalsIgnoreCase(ciDatabaseName)) {
-                    return csDatabaseName;
-                }
-            }
-            return ciDatabaseName;
-        } catch (Exception e) {
-            return ciDatabaseName;
-        }
-    }
-}
diff --git a/northbound/src/main/java/org/opendaylight/ovsdb/northbound/NodeResource.java b/northbound/src/main/java/org/opendaylight/ovsdb/northbound/NodeResource.java
deleted file mode 100644 (file)
index 5ccdf4f..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright (c) 2014, 2015 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.ovsdb.northbound;
-
-import com.fasterxml.jackson.databind.SerializationFeature;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.List;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.opendaylight.controller.northbound.commons.RestMessages;
-import org.opendaylight.controller.northbound.commons.exception.ResourceNotFoundException;
-import org.opendaylight.controller.northbound.commons.exception.ServiceUnavailableException;
-import org.opendaylight.ovsdb.lib.OvsdbClient;
-import org.opendaylight.ovsdb.plugin.api.Connection;
-import org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService;
-import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.collect.Lists;
-
-/**
- * Northbound Interface for OVSDB Nodes
- */
-public class NodeResource {
-    ObjectMapper objectMapper;
-    public NodeResource () {
-        objectMapper = new ObjectMapper();
-        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-        objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-    }
-
-    public static Node getOvsdbNode(String nodeId, Object bundleClassRef) {
-        OvsdbConnectionService connectionService =
-                (OvsdbConnectionService)ServiceHelper.
-                        getGlobalInstance(OvsdbConnectionService.class, bundleClassRef);
-        if (connectionService == null) {
-            throw new ServiceUnavailableException("Ovsdb ConnectionService "
-                    + RestMessages.SERVICEUNAVAILABLE.toString());
-        }
-
-        Node node = connectionService.getNode(nodeId);
-        if (node == null) {
-            throw new ResourceNotFoundException("Node "+nodeId+" not found");
-        }
-
-        return node;
-    }
-
-    public static Connection getOvsdbConnection(String nodeId, Object bundleClassRef) {
-        OvsdbConnectionService connectionService =
-                (OvsdbConnectionService)ServiceHelper.
-                        getGlobalInstance(OvsdbConnectionService.class, bundleClassRef);
-        if (connectionService == null) {
-            throw new ServiceUnavailableException("Ovsdb ConnectionService "
-                    + RestMessages.SERVICEUNAVAILABLE.toString());
-        }
-
-        Node node = connectionService.getNode(nodeId);
-        if (node == null) {
-            throw new ResourceNotFoundException("Node "+nodeId+" not found");
-        }
-
-        Connection connection = connectionService.getConnection(node);
-        if (connection == null) {
-            throw new ResourceNotFoundException("Connection for "+nodeId+" not available");
-        }
-
-        return connection;
-    }
-
-    public static OvsdbClient getOvsdbClient(String nodeId, Object bundleClassRef) {
-        Connection connection = NodeResource.getOvsdbConnection(nodeId, bundleClassRef);
-        OvsdbClient client = connection.getClient();
-        if (client == null) {
-            throw new ResourceNotFoundException("No Ovsdb Client to handle Node "+nodeId);
-        }
-        return client;
-    }
-
-    @GET
-    @Produces(MediaType.APPLICATION_JSON)
-    public Response getNodes() throws JsonProcessingException {
-        OvsdbConnectionService connectionService = (OvsdbConnectionService)ServiceHelper.getGlobalInstance(OvsdbConnectionService.class, this);
-        List<Node> nodes = connectionService.getNodes();
-        if (nodes == null) {
-            return Response.noContent().build();
-        }
-
-        List<String> nodeIds = Lists.newArrayList();
-        for (Node node : nodes) {
-            nodeIds.add(node.getId().getValue());
-        }
-        Collections.sort(nodeIds);
-
-        String response = objectMapper.writeValueAsString(nodeIds);
-        return Response.status(Response.Status.OK)
-                .entity(response)
-                .build();
-    }
-
-    @POST
-    @Consumes(MediaType.APPLICATION_JSON)
-    @Produces(MediaType.APPLICATION_JSON)
-    public Response createNode(InputStream is){
-        return Response.noContent().build();
-    }
-
-    @GET
-    @Path("{id}")
-    @Produces(MediaType.APPLICATION_JSON)
-    public Response getNode(@PathParam("id") String id) throws JsonProcessingException {
-        OvsdbClient client = NodeResource.getOvsdbClient(id, this);
-        String response = objectMapper.writeValueAsString(client.getConnectionInfo());
-        return Response.status(Response.Status.OK)
-                .entity(response)
-                .build();
-    }
-
-    @PUT
-    @Path("{id}")
-    @Consumes(MediaType.APPLICATION_JSON)
-    @Produces(MediaType.APPLICATION_JSON)
-    public Response updateNode(@PathParam("id") String id, InputStream is){
-        return Response.noContent().build();
-    }
-
-    @DELETE
-    @Path("{id}")
-    public Response deleteNode(@PathParam("id") String id){
-        return Response.noContent().build();
-    }
-
-    @Path("{id}/database")
-    public DatabaseResource getNodeDatabase(@PathParam("id") String nodeId){
-        return new DatabaseResource(nodeId);
-    }
-
-}
diff --git a/northbound/src/main/java/org/opendaylight/ovsdb/northbound/OvsdbNorthboundV2.java b/northbound/src/main/java/org/opendaylight/ovsdb/northbound/OvsdbNorthboundV2.java
deleted file mode 100644 (file)
index be1d98e..0000000
+++ /dev/null
@@ -1,681 +0,0 @@
-/*
- * Copyright (c) 2014, 2015 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.ovsdb.northbound;
-
-import java.io.IOException;
-import java.util.Map;
-import java.util.concurrent.ExecutionException;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-
-import org.codehaus.enunciate.jaxrs.ResponseCode;
-import org.codehaus.enunciate.jaxrs.StatusCodes;
-import org.codehaus.enunciate.jaxrs.TypeHint;
-import org.opendaylight.controller.northbound.commons.RestMessages;
-import org.opendaylight.controller.northbound.commons.exception.BadRequestException;
-import org.opendaylight.controller.northbound.commons.exception.ServiceUnavailableException;
-import org.opendaylight.controller.northbound.commons.exception.UnauthorizedException;
-import org.opendaylight.controller.northbound.commons.utils.NorthboundUtils;
-import org.opendaylight.controller.sal.authorization.Privilege;
-import org.opendaylight.ovsdb.plugin.api.Status;
-import org.opendaylight.ovsdb.lib.OvsdbClient;
-import org.opendaylight.ovsdb.lib.notation.Row;
-import org.opendaylight.ovsdb.lib.notation.UUID;
-import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
-import org.opendaylight.ovsdb.plugin.api.OvsVswitchdSchemaConstants;
-import org.opendaylight.ovsdb.plugin.api.OvsdbConfigurationService;
-import org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService;
-import org.opendaylight.ovsdb.plugin.api.StatusWithUuid;
-import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-/**
-* OVSDB Northbound REST API.<br>
-* This class provides REST APIs to Create, Read, Update and Delete OVSDB Row in any of the ovsdb table
-* database one at a time. The JSON used to create rows is in the same format as the OVSDB JSON-RPC messages.
-* This format is documented in the <a href="http://openvswitch.org/ovs-vswitchd.conf.db.5.pdf">OVSDB Schema</a>
-* and in <a href="http://tools.ietf.org/rfc/rfc7047.txt">RFC 7047</a>.
-*
-* <br>
-* <br>
-* Authentication scheme : <b>HTTP Basic</b><br>
-* Authentication realm : <b>opendaylight</b><br>
-* Transport : <b>HTTP and HTTPS</b><br>
-* <br>
-* HTTPS Authentication is disabled by default.
-*/
-
-@Path("/v2/")
-@Deprecated
-public class OvsdbNorthboundV2 {
-
-    @Context
-    private UriInfo _uriInfo;
-    private String username;
-
-    @Context
-    public void setSecurityContext(SecurityContext context) {
-        if (context != null && context.getUserPrincipal() != null) {
-            username = context.getUserPrincipal().getName();
-        }
-    }
-
-    protected String getUserName() {
-        return username;
-    }
-
-    /**
-     * Create a Row for Open_vSwitch schema
-     *
-     * @param nodeType type of node e.g OVS
-     * @param nodeId ID of the node
-     * @param tableName name of the OVSDB table
-     * @param rowJson the {@link OvsdbRow} Row that is being inserted
-     *
-     * @return Response as dictated by the HTTP Response Status code
-     *
-     * <br>
-     * Examples:
-     * <br>
-     * Create a Bridge Row:
-     * <pre>
-     *
-     * Request URL:
-     * POST http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/bridge/rows
-     *
-     * JSON:
-     * {
-     *   "row": {
-     *     "Bridge": {
-     *       "name": "bridge1",
-     *       "datapath_type": "OPENFLOW"
-     *     }
-     *   }
-     * }
-     * </pre>
-     *
-     *
-     * Create a Port Row:
-     * <pre>
-     *
-     * Request URL:
-     * POST http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/port/rows
-     *
-     * JSON:
-     * {
-     *   "parent_uuid": "b01cd26b-9c63-4216-8cf2-55f7087adab1",
-     *   "row": {
-     *     "Port": {
-     *       "name": "port1",
-     *       "mac": [
-     *         "set",
-     *         "00:00:00:00:00:01"
-     *       ],
-     *       "tag": [
-     *         "set",
-     *         200
-     *       ]
-     *     }
-     *   }
-     * }
-     * </pre>
-     *
-     *
-     * Create an Interface Row:
-     * <pre>
-     *
-     * Request URL:
-     * POST http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/interface/rows
-     *
-     * JSON:
-     * {
-     *   "parent_uuid": "c7b54c9b-9b25-4801-a81d-d7bc489d4840",
-     *   "row": {
-     *     "Interface": {
-     *       "name": "br2",
-     *       "mac": [
-     *         "set",
-     *         "00:00:bb:bb:00:01"
-     *       ],
-     *       "admin_state": "up"
-     *     }
-     *   }
-     * }
-     * </pre>
-     *
-     *
-     * Create an SSL Row:
-     * <pre>
-     *
-     * Request URL:
-     * POST http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/SSL/rows
-     *
-     * JSON:
-     * {
-     *   "row": {
-     *     "SSL": {
-     *       "name": "mySSL",
-     *       "ca_cert": "ca_cert",
-     *       "bootstrap_ca_cert": true,
-     *       "certificate": "pieceofpaper",
-     *       "private_key": "private"
-     *     }
-     *   }
-     * }
-     * </pre>
-     *
-     *
-     * Create an sFlow Row:
-     * <pre>
-     *
-     * Request URL:
-     * POST http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/sflow/rows
-     *
-     * JSON:
-     * {
-     *   "parent_uuid": "6b3072ba-a120-4db9-82f8-a8ce4eae6942",
-     *   "row": {
-     *     "sFlow": {
-     *       "agent": [
-     *         "set",
-     *         "agent_string"
-     *       ],
-     *       "targets": [
-     *         "set",
-     *         "targets_string"
-     *       ]
-     *     }
-     *   }
-     * }
-     * </pre>
-     *
-     *
-     * Create a QoS Row:
-     * <pre>
-     *
-     * Request URL:
-     * POST http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/qos/rows
-     *
-     * JSON:
-     * {
-     *   "parent_uuid": "b109dbcf-47bb-4121-b244-e623b3421d6e",
-     *   "row": {
-     *     "QoS": {
-     *       "type": "linux-htb"
-     *     }
-     *   }
-     * }
-     * </pre>
-     *
-     *
-     * Create a Queue Row:
-     * <pre>
-     *
-     * Request URL:
-     * POST http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/queue/rows
-     *
-     * {
-     *   "parent_uuid": "b16eae7d-7e97-46d2-95d1-333d1de4a3d7",
-     *   "row": {
-     *     "Queue": {
-     *       "dscp": [
-     *         "set",
-     *         "25"
-     *       ]
-     *     }
-     *   }
-     * }
-     * </pre>
-     *
-     *
-     * Create a Netflow Row:
-     * <pre>
-     *
-     * Request URL:
-     * POST http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/netflow/rows
-     *
-     * JSON:
-     * {
-     *   "parent_uuid": "b01cd26b-9c63-4216-8cf2-55f7087adab1",
-     *   "row": {
-     *     "NetFlow": {
-     *       "targets": [
-     *         "set",
-     *         [
-     *           "192.168.1.102:9998"
-     *         ]
-     *       ],
-     *       "active_timeout": "0"
-     *     }
-     *   }
-     * }
-     * </pre>
-     *
-     *
-     * Create a Manager Row:
-     * <pre>
-     *
-     * Request URL:
-     * POST http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/manager/rows
-     *
-     * JSON:
-     * {
-     *   "parent_uuid": "8d3fb89b-5fac-4631-a990-f5a4e7f5383a",
-     *   "row": {
-     *     "Manager": {
-     *       "target": "a_string",
-     *       "is_connected": true,
-     *       "state": "active"
-     *     }
-     *   }
-     * }
-     * </pre>
-     * @throws IOException
-     * @throws ExecutionException
-     * @throws InterruptedException
-     */
-
-    @Path("/node/{nodeType}/{nodeId}/tables/{tableName}/rows")
-    @POST
-    @StatusCodes({ @ResponseCode(code = 201, condition = "Row Inserted successfully"),
-        @ResponseCode(code = 400, condition = "Invalid data passed"),
-        @ResponseCode(code = 401, condition = "User not authorized to perform this operation")})
-    @Consumes({ MediaType.APPLICATION_JSON})
-    public Response addRow(@PathParam("nodeType") String nodeType, @PathParam("nodeId") String nodeId,
-                           @PathParam("tableName") String tableName, JsonNode rowJson) throws IOException, InterruptedException, ExecutionException {
-
-        if (!NorthboundUtils.isAuthorized(getUserName(), "default", Privilege.WRITE, this)) {
-            throw new UnauthorizedException("User is not authorized to perform this operation");
-        }
-
-        OvsdbConfigurationService
-                ovsdbTable = (OvsdbConfigurationService)ServiceHelper.getGlobalInstance(OvsdbConfigurationService.class,
-                                                                                            this);
-        if (ovsdbTable == null) {
-            throw new ServiceUnavailableException("OVS Configuration Service " + RestMessages.SERVICEUNAVAILABLE.toString());
-        }
-
-        OvsdbConnectionService
-                connectionService = (OvsdbConnectionService)ServiceHelper.getGlobalInstance(OvsdbConnectionService.class, this);
-        Node node = connectionService.getNode(nodeId);
-
-        OvsdbClient client = connectionService.getConnection(node).getClient();
-        OvsdbRow localRow = OvsdbRow.fromJsonNode(client, OvsVswitchdSchemaConstants.DATABASE_NAME, rowJson);
-        String bckCompatibleTableName = this.getBackwardCompatibleTableName(client, OvsVswitchdSchemaConstants.DATABASE_NAME, tableName);
-
-        if (localRow == null) {
-            return Response.status(Response.Status.BAD_REQUEST).build();
-        }
-
-        StatusWithUuid
-                statusWithUuid = ovsdbTable.insertRow(node, bckCompatibleTableName, localRow.getParentUuid(), localRow.getRow());
-
-        if (statusWithUuid.isSuccess()) {
-            UUID uuid = statusWithUuid.getUuid();
-            return Response.status(Response.Status.CREATED)
-                    .header("Location", String.format("%s/%s", _uriInfo.getAbsolutePath().toString(),
-                                                                uuid.toString()))
-                    .entity(uuid.toString())
-                    .build();
-        }
-        return NorthboundUtils.getResponse(
-                new org.opendaylight.controller.sal.utils.Status(
-                        org.opendaylight.controller.sal.utils.StatusCode.SUCCESS));
-    }
-
-    /**
-     * Read a Row
-     *
-     * @param nodeType type of node e.g OVS
-     * @param nodeId ID of the node
-     * @param tableName name of the ovsdb table
-     * @param rowUuid UUID of the row being read
-     *
-     * @return Row corresponding to the UUID.
-     *
-     * <br>
-     * Examples:
-     * <br>
-     * <pre>
-     * Get a specific Bridge Row:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/bridge/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Get a specific Port Row:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/port/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Get a specific Interface Row:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/interface/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Get a specific Controller Row:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/controller/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Get a specific SSL Row:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/SSL/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Get a specific sFlow Row:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/sflow/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Get a specific QoS Row:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/qos/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Get a specific Queue Row:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/queue/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Get a specific Netflow Row:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/netflow/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Get a specific Manager Row:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/manager/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     * </pre>
-     */
-
-    @Path("/node/{nodeType}/{nodeId}/tables/{tableName}/rows/{rowUuid}")
-    @GET
-    @StatusCodes({ @ResponseCode(code = 200, condition = "Row Updated successfully"),
-        @ResponseCode(code = 400, condition = "Invalid data passed"),
-        @ResponseCode(code = 401, condition = "User not authorized to perform this operation")})
-    @Produces({ MediaType.APPLICATION_JSON})
-    @TypeHint(Row.class)
-    public Row getRow(@PathParam("nodeType") String nodeType, @PathParam("nodeId") String nodeId,
-                           @PathParam("tableName") String tableName, @PathParam("rowUuid") String rowUuid) {
-
-        if (!NorthboundUtils.isAuthorized(getUserName(), "default", Privilege.WRITE, this)) {
-            throw new UnauthorizedException("User is not authorized to perform this operation");
-        }
-
-        OvsdbConfigurationService
-                ovsdbTable = (OvsdbConfigurationService)ServiceHelper.getGlobalInstance(OvsdbConfigurationService.class,
-                                                                                            this);
-        if (ovsdbTable == null) {
-            throw new ServiceUnavailableException("UserManager " + RestMessages.SERVICEUNAVAILABLE.toString());
-        }
-
-        OvsdbConnectionService
-                connectionService = (OvsdbConnectionService)ServiceHelper.getGlobalInstance(OvsdbConnectionService.class, this);
-        Node node = connectionService.getNode(nodeId);
-        OvsdbClient client = connectionService.getConnection(node).getClient();
-        String bckCompatibleTableName = this.getBackwardCompatibleTableName(client, OvsVswitchdSchemaConstants.DATABASE_NAME, tableName);
-
-        Row row;
-        try {
-            row = ovsdbTable.getRow(node, bckCompatibleTableName, rowUuid);
-        } catch (Exception e) {
-            throw new BadRequestException(e.getMessage());
-        }
-        return row;
-    }
-
-    /**
-     * Read all Rows of a table
-     *
-     * @param nodeType type of node e.g OVS
-     * @param nodeId ID of the node
-     * @param tableName name of the ovsdb table
-     *
-     * @return All the Rows of a table
-     *
-     * <br>
-     * Examples:
-     * <br>
-     * <pre>
-     * Get all Bridge Rows:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/bridge/rows
-     *
-     * Get all Port Rows:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/port/rows
-     *
-     * Get all Interface Rows:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/interface/rows
-     *
-     * Get all Controller Rows:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/controller/rows
-     *
-     * Get all SSL Rows:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/SSL/rows
-     *
-     * Get all sFlow Rows:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/sflow/rows
-     *
-     * Get all QoS Rows:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/qos/rows
-     *
-     * Get all Queue Rows:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/queue/rows
-     *
-     * Get all Netflow Rows:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/netflow/rows
-     *
-     * Get all Manager Rows:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/manager/rows
-     *
-     * Get all Open vSwitch Rows:
-     * GET http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/open_vswitch/rows
-     * </pre>
-     */
-
-    @Path("/node/{nodeType}/{nodeId}/tables/{tableName}/rows")
-    @GET
-    @StatusCodes({ @ResponseCode(code = 200, condition = "Row Updated successfully"),
-        @ResponseCode(code = 400, condition = "Invalid data passed"),
-        @ResponseCode(code = 401, condition = "User not authorized to perform this operation")})
-    @Produces({ MediaType.APPLICATION_JSON})
-    @TypeHint(OvsdbRows.class)
-    public OvsdbRows getAllRows(@PathParam("nodeType") String nodeType, @PathParam("nodeId") String nodeId,
-                               @PathParam("tableName") String tableName) {
-        if (!NorthboundUtils.isAuthorized(getUserName(), "default", Privilege.WRITE, this)) {
-            throw new UnauthorizedException("User is not authorized to perform this operation");
-        }
-
-        OvsdbConfigurationService
-                ovsdbTable = (OvsdbConfigurationService)ServiceHelper.getGlobalInstance(OvsdbConfigurationService.class,
-                                                                                            this);
-        if (ovsdbTable == null) {
-            throw new ServiceUnavailableException("UserManager " + RestMessages.SERVICEUNAVAILABLE.toString());
-        }
-
-        OvsdbConnectionService
-                connectionService = (OvsdbConnectionService)ServiceHelper.getGlobalInstance(OvsdbConnectionService.class, this);
-        Node node = connectionService.getNode(nodeId);
-        OvsdbClient client = connectionService.getConnection(node).getClient();
-        String bckCompatibleTableName = this.getBackwardCompatibleTableName(client, OvsVswitchdSchemaConstants.DATABASE_NAME, tableName);
-        Map<String, Row> rows;
-        try {
-            rows = ovsdbTable.getRows(node, bckCompatibleTableName);
-        } catch (Exception e) {
-            throw new BadRequestException(e.getMessage());
-        }
-        return new OvsdbRows(rows);
-    }
-
-    /*
-    /**
-     * Update a Row
-     *
-     * @param nodeType type of node e.g OVS
-     * @param nodeId ID of the node
-     * @param tableName name of the ovsdb table
-     * @param rowUuid UUID of the row being updated
-     * @param row the {@link OVSDBRow} Row that is being updated
-     *
-     * @return Response as dictated by the HTTP Response Status code
-     *
-     * <br>
-     * Examples:
-     * <br>
-     * Update the Bridge row to add a controller
-     * <pre>
-     *
-     * Request URL:
-     * PUT http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/bridge/rows/b01cd26b-9c63-4216-8cf2-55f7087adab1
-     *
-     * JSON:
-     * {
-     *   "row": {
-     *     "Bridge": {
-     *       "controller": [
-     *         "set",
-     *         [
-     *           [
-     *             "uuid",
-     *             "a566e8b4-fc38-499b-8623-6087d5b36b72"
-     *           ]
-     *         ]
-     *       ]
-     *     }
-     *   }
-     * }
-     * </pre>
-     */
-
-    @Path("/node/{nodeType}/{nodeId}/tables/{tableName}/rows/{rowUuid}")
-    @PUT
-    @StatusCodes({ @ResponseCode(code = 200, condition = "Row Updated successfully"),
-        @ResponseCode(code = 400, condition = "Invalid data passed"),
-        @ResponseCode(code = 401, condition = "User not authorized to perform this operation")})
-    @Consumes({ MediaType.APPLICATION_JSON})
-    public Response updateRow(@PathParam("nodeType") String nodeType, @PathParam("nodeId") String nodeId,
-                           @PathParam("tableName") String tableName, @PathParam("rowUuid") String rowUuid,
-                           JsonNode rowJson) {
-
-        if (!NorthboundUtils.isAuthorized(getUserName(), "default", Privilege.WRITE, this)) {
-            throw new UnauthorizedException("User is not authorized to perform this operation");
-        }
-
-        OvsdbConfigurationService
-                ovsdbTable = (OvsdbConfigurationService)ServiceHelper.getGlobalInstance(OvsdbConfigurationService.class,
-                                                                                            this);
-        if (ovsdbTable == null) {
-            throw new ServiceUnavailableException("OVS Configuration Service " + RestMessages.SERVICEUNAVAILABLE.toString());
-        }
-
-        OvsdbConnectionService
-                connectionService = (OvsdbConnectionService)ServiceHelper.getGlobalInstance(OvsdbConnectionService.class, this);
-        Node node = connectionService.getNode(nodeId);
-        OvsdbClient client = connectionService.getConnection(node).getClient();
-        String bckCompatibleTableName = this.getBackwardCompatibleTableName(client, OvsVswitchdSchemaConstants.DATABASE_NAME, tableName);
-        OvsdbRow localRow = OvsdbRow.fromJsonNode(client, OvsVswitchdSchemaConstants.DATABASE_NAME, rowJson);
-
-        if (localRow == null) {
-            return Response.status(Response.Status.BAD_REQUEST).build();
-        }
-
-        ovsdbTable.updateRow(node, bckCompatibleTableName, localRow.getParentUuid(), rowUuid, localRow.getRow());
-        return NorthboundUtils.getResponse(
-                new org.opendaylight.controller.sal.utils.Status(
-                        org.opendaylight.controller.sal.utils.StatusCode.SUCCESS));
-    }
-
-    /**
-     * Delete a row
-     *
-     * @param nodeType type of node e.g OVS
-     * @param nodeId ID of the node
-     * @param tableName name of the ovsdb table
-     * @param uuid UUID of the Row to be removed
-     *
-     * @return Response as dictated by the HTTP Response Status code
-     *
-     * <br>
-     * Examples:
-     * <br>
-     * <pre>
-     * Delete a specific Bridge Row:
-     * DELETE http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/bridge/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Delete a specific Port Row:
-     * DELETE http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/port/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Delete a specific Interface Row:
-     * DELETE http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/interface/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Delete a specific Controller Row:
-     * DELETE http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/controller/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Delete a specific SSL Row:
-     * DELETE http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/SSL/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Delete a specific sFlow Row:
-     * DELETE http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/sflow/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Delete a specific QoS Row:
-     * DELETE http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/qos/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Delete a specific Queue Row:
-     * DELETE http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/queue/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Delete a specific Netflow Row:
-     * DELETE http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/netflow/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     *
-     * Delete a specific Manager Row:
-     * DELETE http://localhost:8080/ovsdb/nb/v2/node/OVS/HOST1/tables/manager/rows/6f4c602c-026f-4390-beea-d50d6d448100
-     * </pre>
-     */
-
-    @Path("/node/{nodeType}/{nodeId}/tables/{tableName}/rows/{uuid}")
-    @DELETE
-    @StatusCodes({ @ResponseCode(code = 204, condition = "User Deleted Successfully"),
-        @ResponseCode(code = 401, condition = "User not authorized to perform this operation"),
-        @ResponseCode(code = 404, condition = "The userName passed was not found"),
-        @ResponseCode(code = 500, condition = "Internal Server Error : Removal of user failed"),
-        @ResponseCode(code = 503, condition = "Service unavailable") })
-    public Response removeRow(@PathParam("nodeType") String nodeType, @PathParam("nodeId") String nodeId,
-                              @PathParam("tableName") String tableName, @PathParam("uuid") String uuid) {
-        if (!NorthboundUtils.isAuthorized(getUserName(), "default", Privilege.WRITE, this)) {
-            throw new UnauthorizedException("User is not authorized to perform this operation");
-        }
-
-        OvsdbConfigurationService
-                ovsdbTable = (OvsdbConfigurationService)ServiceHelper.getGlobalInstance(OvsdbConfigurationService.class,
-                this);
-        if (ovsdbTable == null) {
-            throw new ServiceUnavailableException("OVS Configuration Service " + RestMessages.SERVICEUNAVAILABLE.toString());
-        }
-
-        OvsdbConnectionService
-                connectionService = (OvsdbConnectionService)ServiceHelper.getGlobalInstance(OvsdbConnectionService.class, this);
-        Node node = connectionService.getNode(nodeId);
-        OvsdbClient client = connectionService.getConnection(node).getClient();
-        String bckCompatibleTableName = this.getBackwardCompatibleTableName(client, OvsVswitchdSchemaConstants.DATABASE_NAME, tableName);
-
-        Status status = ovsdbTable.deleteRow(node, bckCompatibleTableName, uuid);
-        if (status.isSuccess()) {
-            return Response.noContent().build();
-        }
-        return NorthboundUtils.getResponse(
-                new org.opendaylight.controller.sal.utils.Status(
-                        org.opendaylight.controller.sal.utils.StatusCode.SUCCESS));
-    }
-
-    private String getBackwardCompatibleTableName(OvsdbClient client, String databaseName, String tableName) {
-        DatabaseSchema dbSchema = client.getDatabaseSchema(databaseName);
-        if (dbSchema == null || tableName == null) {
-            return tableName;
-        }
-        for (String dbTableName : dbSchema.getTables()) {
-            if (dbTableName.equalsIgnoreCase(tableName)) {
-                return dbTableName;
-            }
-        }
-        return tableName;
-    }
-}
diff --git a/northbound/src/main/java/org/opendaylight/ovsdb/northbound/OvsdbNorthboundV3.java b/northbound/src/main/java/org/opendaylight/ovsdb/northbound/OvsdbNorthboundV3.java
deleted file mode 100644 (file)
index 6f1d149..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 2014, 2015 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.ovsdb.northbound;
-
-import org.opendaylight.controller.northbound.commons.exception.UnauthorizedException;
-import org.opendaylight.controller.northbound.commons.utils.NorthboundUtils;
-import org.opendaylight.controller.sal.authorization.Privilege;
-
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-
-/**
-* OVSDB Northbound V3 REST API
-*/
-
-@Path("/v3/")
-public class OvsdbNorthboundV3 {
-    @Context
-    private UriInfo _uriInfo;
-    private String username;
-
-    @Context
-    public void setSecurityContext(SecurityContext context) {
-        if (context != null && context.getUserPrincipal() != null) {
-            username = context.getUserPrincipal().getName();
-        }
-    }
-
-    protected String getUserName() {
-        return username;
-    }
-
-    @Path("node")
-    public NodeResource getNode(){
-        if (!NorthboundUtils.isAuthorized(getUserName(), "default", Privilege.WRITE, this)) {
-            throw new UnauthorizedException("User is not authorized to perform this operation");
-        }
-        return new NodeResource();
-    }
-
-}
diff --git a/northbound/src/main/java/org/opendaylight/ovsdb/northbound/OvsdbRow.java b/northbound/src/main/java/org/opendaylight/ovsdb/northbound/OvsdbRow.java
deleted file mode 100644 (file)
index ac954bf..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2013, 2015 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.ovsdb.northbound;
-
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.concurrent.ExecutionException;
-
-import org.opendaylight.ovsdb.lib.OvsdbClient;
-import org.opendaylight.ovsdb.lib.notation.Row;
-import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
-import org.opendaylight.ovsdb.lib.schema.GenericTableSchema;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-
-public class OvsdbRow {
-    private static final Logger LOG = LoggerFactory.getLogger(OvsdbRow.class);
-    private static final String PARENTUUID = "parent_uuid";
-    private static final String PARENTTABLE = "parent_table";
-    private static final String PARENTCOLUMN = "parent_column";
-    private static final String ROW = "row";
-
-    private String parentUuid;
-    private String parentTable;
-    private String parentColumn;
-    private String tableName;
-    private Row<GenericTableSchema> row;
-
-    public OvsdbRow() {
-    }
-
-    public OvsdbRow(String parentUuid, String tableName, Row<GenericTableSchema> row) {
-        this.parentUuid = parentUuid;
-        this.tableName = tableName;
-        this.row = row;
-    }
-
-    public OvsdbRow(String parentTable, String parentUuid, String parentColumn, String tableName, Row<GenericTableSchema> row) {
-        this.parentTable = parentTable;
-        this.parentColumn = parentColumn;
-        this.parentUuid = parentUuid;
-        this.tableName = tableName;
-        this.row = row;
-    }
-
-    public static OvsdbRow fromJsonNode(OvsdbClient client, String dbName, JsonNode json) {
-        JsonNode parentUuidNode = json.get(PARENTUUID);
-        String parentUuid = null;
-        if (parentUuidNode != null) {
-           parentUuid = parentUuidNode.asText();
-        }
-        JsonNode parentTableNode = json.get(PARENTTABLE);
-        String parentTable = null;
-        if (parentTableNode != null) {
-            parentTable = parentTableNode.asText();
-        }
-        JsonNode parentColumnNode = json.get(PARENTCOLUMN);
-        String parentColumn = null;
-        if (parentColumnNode != null) {
-            parentColumn = parentColumnNode.asText();
-        }
-        JsonNode rowNode = json.get(ROW);
-        if (rowNode == null) {
-            return null;
-        }
-        Iterator<String> fieldNames = rowNode.fieldNames();
-        if (fieldNames.hasNext()) {
-            String tableName = fieldNames.next();
-            try {
-                Row<GenericTableSchema> row = getRow(client, dbName, tableName, rowNode.get(tableName));
-                return new OvsdbRow(parentTable, parentUuid, parentColumn, tableName, row);
-            } catch (InterruptedException | ExecutionException | IOException e) {
-                LOG.error("Error retrieving the row for {}", tableName, e);
-                return null;
-            }
-        }
-        return null;
-    }
-
-    public static Row<GenericTableSchema> getRow(OvsdbClient client, String dbName, String tableName, JsonNode rowJson) throws InterruptedException, ExecutionException, IOException {
-        DatabaseSchema dbSchema = client.getSchema(dbName).get();
-        GenericTableSchema schema = dbSchema.table(tableName, GenericTableSchema.class);
-        return schema.createRow((ObjectNode)rowJson);
-    }
-
-    public String getParentTable() {
-        return parentTable;
-    }
-
-    public String getParentUuid() {
-        return parentUuid;
-    }
-
-    public String getParentColumn() {
-        return parentColumn;
-    }
-
-    public String getTableName() {
-        return tableName;
-    }
-
-    public Row<GenericTableSchema> getRow() {
-        return row;
-    }
-}
diff --git a/northbound/src/main/java/org/opendaylight/ovsdb/northbound/OvsdbRows.java b/northbound/src/main/java/org/opendaylight/ovsdb/northbound/OvsdbRows.java
deleted file mode 100644 (file)
index 9a1eade..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2013, 2015 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.ovsdb.northbound;
-
-import java.util.Map;
-
-import org.opendaylight.ovsdb.lib.notation.Row;
-
-@Deprecated
-public class OvsdbRows {
-    Map<String, Row> rows;
-
-    public OvsdbRows(Map<String, Row> rows) {
-        super();
-        this.rows = rows;
-    }
-
-    public Map<String, Row> getRows() {
-        return rows;
-    }
-
-    public void setRows(Map<String, Row> rows) {
-        this.rows = rows;
-    }
-}
diff --git a/northbound/src/main/java/org/opendaylight/ovsdb/northbound/RowResource.java b/northbound/src/main/java/org/opendaylight/ovsdb/northbound/RowResource.java
deleted file mode 100644 (file)
index e656428..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (c) 2014, 2015 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.ovsdb.northbound;
-
-import com.fasterxml.jackson.databind.SerializationFeature;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.Map;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.opendaylight.controller.northbound.commons.RestMessages;
-import org.opendaylight.controller.northbound.commons.exception.BadRequestException;
-import org.opendaylight.controller.northbound.commons.exception.ServiceUnavailableException;
-import org.opendaylight.ovsdb.lib.OvsdbClient;
-import org.opendaylight.ovsdb.lib.notation.Row;
-import org.opendaylight.ovsdb.lib.notation.UUID;
-import org.opendaylight.ovsdb.lib.schema.GenericTableSchema;
-import org.opendaylight.ovsdb.plugin.api.OvsVswitchdSchemaConstants;
-import org.opendaylight.ovsdb.plugin.api.OvsdbConfigurationService;
-import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-/**
- * Northbound interface for OVSDB Rows
- */
-public class RowResource {
-
-    String nodeId;
-    String databaseName;
-    String tableName;
-    ObjectMapper objectMapper;
-
-    public RowResource(String nodeId, String databaseName, String tableName) {
-        this.nodeId = nodeId;
-        this.databaseName = databaseName;
-        this.tableName = tableName;
-        objectMapper = new ObjectMapper();
-        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-        objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-    }
-
-    private OvsdbRow getOvsdbRow (InputStream stream) throws IOException {
-        StringBuilder rowNodeStrBuilder = new StringBuilder();
-        BufferedReader in = new BufferedReader(new InputStreamReader(stream));
-        String line = null;
-        while ((line = in.readLine()) != null) {
-            rowNodeStrBuilder.append(line);
-        }
-        JsonNode jsonNode = objectMapper.readTree(rowNodeStrBuilder.toString());
-        OvsdbClient client = NodeResource.getOvsdbClient(nodeId, this);
-        return OvsdbRow.fromJsonNode(client, OvsVswitchdSchemaConstants.DATABASE_NAME, jsonNode);
-    }
-
-    @GET
-    @Produces(MediaType.APPLICATION_JSON)
-    public Response getRows() throws JsonProcessingException {
-        OvsdbConfigurationService
-                ovsdbTable = (OvsdbConfigurationService)ServiceHelper.getGlobalInstance(OvsdbConfigurationService.class,
-                                                                                            this);
-        if (ovsdbTable == null) {
-            throw new ServiceUnavailableException("Ovsdb ConfigurationService " + RestMessages.SERVICEUNAVAILABLE.toString());
-        }
-
-        Node node = NodeResource.getOvsdbNode(nodeId, this);
-        Map<UUID,Row<GenericTableSchema>> rows = null;
-        try {
-            rows = ovsdbTable.getRows(node, databaseName, tableName);
-        } catch (Exception e) {
-            throw new BadRequestException(e.getMessage());
-        }
-        String response = objectMapper.writeValueAsString(rows);
-        return Response.status(Response.Status.OK)
-                .entity(response)
-                .build();
-    }
-
-    @POST
-    @Consumes(MediaType.APPLICATION_JSON)
-    @Produces(MediaType.APPLICATION_JSON)
-    public Response createRow(InputStream stream) throws IOException {
-        OvsdbRow localRow = this.getOvsdbRow(stream);
-        if (localRow == null) {
-            return Response.status(Response.Status.BAD_REQUEST).build();
-        }
-        OvsdbConfigurationService
-        ovsdbTable = (OvsdbConfigurationService)ServiceHelper.getGlobalInstance(OvsdbConfigurationService.class,
-                                                                                    this);
-        if (ovsdbTable == null) {
-            throw new ServiceUnavailableException("OVS Configuration Service " + RestMessages.SERVICEUNAVAILABLE.toString());
-        }
-
-        Node node = NodeResource.getOvsdbNode(nodeId, this);
-        Row row = ovsdbTable.insertTree(node, OvsVswitchdSchemaConstants.DATABASE_NAME, tableName,
-                localRow.getParentTable(), new UUID(localRow.getParentUuid()), localRow.getParentColumn(),
-                localRow.getRow());
-        String response = objectMapper.writeValueAsString(row);
-        return Response.status(Response.Status.CREATED)
-                .entity(response)
-                .build();
-    }
-
-    @GET
-    @Path("{id}")
-    @Produces(MediaType.APPLICATION_JSON)
-    public Response getRowDetails(@PathParam("id") String id) throws JsonProcessingException {
-        OvsdbConfigurationService
-        ovsdbTable = (OvsdbConfigurationService)ServiceHelper.getGlobalInstance(OvsdbConfigurationService.class,
-                                                                                    this);
-        if (ovsdbTable == null) {
-            throw new ServiceUnavailableException("Ovsdb ConfigurationService " + RestMessages.SERVICEUNAVAILABLE.toString());
-        }
-
-        Node node = NodeResource.getOvsdbNode(nodeId, this);
-        Row<GenericTableSchema> row = null;
-        try {
-            row = ovsdbTable.getRow(node, databaseName, tableName, new UUID(id));
-        } catch (Exception e) {
-            throw new BadRequestException(e.getMessage());
-        }
-        String response = objectMapper.writeValueAsString(row);
-        return Response.status(Response.Status.OK)
-                .entity(response)
-                .build();
-    }
-
-    @PUT
-    @Path("{id}")
-    @Consumes(MediaType.APPLICATION_JSON)
-    @Produces(MediaType.APPLICATION_JSON)
-    public Response updateRow(@PathParam("id") String id, InputStream stream) throws IOException{
-        OvsdbRow localRow = this.getOvsdbRow(stream);
-        if (localRow == null) {
-            return Response.status(Response.Status.BAD_REQUEST).build();
-        }
-        OvsdbConfigurationService ovsdbTable = (OvsdbConfigurationService)ServiceHelper.getGlobalInstance(OvsdbConfigurationService.class,
-                                                                                    this);
-        if (ovsdbTable == null) {
-            throw new ServiceUnavailableException("OVS Configuration Service " + RestMessages.SERVICEUNAVAILABLE.toString());
-        }
-
-        Node node = NodeResource.getOvsdbNode(nodeId, this);
-        Row<GenericTableSchema> row = ovsdbTable.updateRow(node, databaseName, tableName, new UUID(id), localRow.getRow(), true);
-        String response = objectMapper.writeValueAsString(row);
-        return Response.status(Response.Status.OK)
-                .entity(response)
-                .build();
-    }
-
-    @DELETE
-    @Path("{id}")
-    @Consumes(MediaType.APPLICATION_JSON)
-    public Response deleteRow(@PathParam("id") String id){
-        OvsdbConfigurationService
-        ovsdbTable = (OvsdbConfigurationService)ServiceHelper.getGlobalInstance(OvsdbConfigurationService.class,
-                                                                                    this);
-        if (ovsdbTable == null) {
-            throw new ServiceUnavailableException("Ovsdb ConfigurationService " + RestMessages.SERVICEUNAVAILABLE.toString());
-        }
-
-        Node node = NodeResource.getOvsdbNode(nodeId, this);
-        try {
-            ovsdbTable.deleteRow(node, databaseName, tableName, new UUID(id));
-        } catch (Exception e) {
-            throw new BadRequestException(e.getMessage());
-        }
-        return Response.status(Response.Status.OK)
-                .build();
-
-    }
-}
diff --git a/northbound/src/main/java/org/opendaylight/ovsdb/northbound/TableResource.java b/northbound/src/main/java/org/opendaylight/ovsdb/northbound/TableResource.java
deleted file mode 100644 (file)
index 309448f..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 2014, 2015 Red Hat, Inc. and others. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.ovsdb.northbound;
-
-import com.fasterxml.jackson.databind.SerializationFeature;
-import java.util.Set;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.opendaylight.ovsdb.lib.OvsdbClient;
-import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
-import org.opendaylight.ovsdb.lib.schema.GenericTableSchema;
-import org.opendaylight.ovsdb.lib.schema.TableSchema;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-/**
- * Northbound interface for OVSDB tables
- */
-public class TableResource {
-    ObjectMapper objectMapper;
-    String databaseName;
-    String nodeId;
-
-    TableResource(String nodeId, String databaseName){
-        this.nodeId = nodeId;
-        this.databaseName = databaseName;
-        objectMapper = new ObjectMapper();
-        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-        objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-    }
-
-    private DatabaseSchema getDatabaseSchema (String databaseName) {
-        OvsdbClient client = NodeResource.getOvsdbClient(nodeId, this);
-        return client.getDatabaseSchema(databaseName);
-    }
-
-    @GET
-    @Produces(MediaType.APPLICATION_JSON)
-    public Response getTables() throws JsonProcessingException {
-        DatabaseSchema dbSchema = this.getDatabaseSchema(databaseName);
-        if (dbSchema == null) {
-            return Response.noContent().build();
-        }
-        String response = objectMapper.writeValueAsString(dbSchema.getTables());
-        return Response.status(Response.Status.OK)
-                .entity(response)
-                .build();
-    }
-
-    @GET
-    @Path("{name}")
-    @Produces(MediaType.APPLICATION_JSON)
-    public Response getTableDetails(@PathParam("name") String name) throws JsonProcessingException {
-        String csTableName = this.caseSensitiveTableName(databaseName, name);
-        DatabaseSchema dbSchema = this.getDatabaseSchema(databaseName);
-        if (dbSchema == null) {
-            return Response.noContent().build();
-        }
-        TableSchema<GenericTableSchema> tableSchema = dbSchema.table(csTableName, GenericTableSchema.class);
-        String response = objectMapper.writeValueAsString(tableSchema);
-        return Response.status(Response.Status.OK)
-                .entity(response)
-                .build();
-    }
-
-    @Path("{name}/row")
-    public RowResource getDatabaseTables(@PathParam("name") String name){
-        return new RowResource(nodeId, databaseName, name);
-    }
-
-    private String caseSensitiveTableName (String databaseName, String ciTableName) {
-        DatabaseSchema dbSchema = this.getDatabaseSchema(databaseName);
-        if (dbSchema == null) {
-            return ciTableName;
-        }
-        Set<String> tables = dbSchema.getTables();
-        if (tables == null) {
-            return ciTableName;
-        }
-        for (String tableName : tables) {
-            if (tableName.equalsIgnoreCase(ciTableName)) {
-                return tableName;
-            }
-        }
-        return ciTableName;
-    }
-}
diff --git a/northbound/src/main/resources/WEB-INF/web.xml b/northbound/src/main/resources/WEB-INF/web.xml
deleted file mode 100644 (file)
index 61f9014..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
-        version="3.0">
-  <servlet>
-    <servlet-name>OVSDB</servlet-name>
-    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
-    <init-param>
-      <param-name>javax.ws.rs.Application</param-name>
-      <param-value> org.opendaylight.controller.northbound.commons.NorthboundApplication</param-value>
-    </init-param>
-    <init-param>
-        <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
-        <param-value>true</param-value>
-    </init-param>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-  <servlet-mapping>
-    <servlet-name>OVSDB</servlet-name>
-    <url-pattern>/*</url-pattern>
-  </servlet-mapping>
-        <filter>
-          <filter-name>CorsFilter</filter-name>
-          <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
-          <init-param>
-            <param-name>cors.allowed.origins</param-name>
-            <param-value>*</param-value>
-          </init-param>
-          <init-param>
-            <param-name>cors.allowed.methods</param-name>
-            <param-value>GET,POST,HEAD,OPTIONS,PUT,DELETE</param-value>
-          </init-param>
-          <init-param>
-            <param-name>cors.allowed.headers</param-name>
-            <param-value>Content-Type,X-Requested-With,accept,authorization, origin,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
-          </init-param>
-          <init-param>
-            <param-name>cors.exposed.headers</param-name>
-            <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
-          </init-param>
-          <init-param>
-            <param-name>cors.support.credentials</param-name>
-            <param-value>true</param-value>
-          </init-param>
-          <init-param>
-            <param-name>cors.preflight.maxage</param-name>
-            <param-value>10</param-value>
-          </init-param>
-        </filter>
-        <filter-mapping>
-          <filter-name>CorsFilter</filter-name>
-          <url-pattern>/*</url-pattern>
-        </filter-mapping>
-
-        <security-constraint>
-          <web-resource-collection>
-            <web-resource-name>NB api</web-resource-name>
-            <url-pattern>/*</url-pattern>
-            <http-method>POST</http-method>
-            <http-method>GET</http-method>
-            <http-method>PUT</http-method>
-            <http-method>PATCH</http-method>
-            <http-method>DELETE</http-method>
-            <http-method>HEAD</http-method>
-          </web-resource-collection>
-          <auth-constraint>
-            <role-name>System-Admin</role-name>
-            <role-name>Network-Admin</role-name>
-          </auth-constraint>
-        </security-constraint>
-
-        <security-role>
-                <role-name>System-Admin</role-name>
-        </security-role>
-        <security-role>
-                <role-name>Network-Admin</role-name>
-        </security-role>
-
-        <login-config>
-                <auth-method>BASIC</auth-method>
-                <realm-name>opendaylight</realm-name>
-        </login-config>
-</web-app>
diff --git a/northbound/src/test/java/org/opendaylight/ovsdb/northbound/NodeResourceTest.java b/northbound/src/test/java/org/opendaylight/ovsdb/northbound/NodeResourceTest.java
deleted file mode 100644 (file)
index 872a305..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- *  Copyright (C) 2015 Red Hat, Inc.
- *
- *  This program and the accompanying materials are made available under the
- *  terms of the Eclipse Public License v1.0 which accompanies this distribution,
- *  and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- *  Authors : Sam Hague
- */
-package org.opendaylight.ovsdb.northbound;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.fail;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.when;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.google.common.collect.Lists;
-import java.util.List;
-import javax.ws.rs.core.Response;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.opendaylight.controller.northbound.commons.exception.ResourceNotFoundException;
-import org.opendaylight.controller.northbound.commons.exception.ServiceUnavailableException;
-import org.opendaylight.ovsdb.plugin.api.Connection;
-import org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService;
-import org.opendaylight.ovsdb.plugin.impl.ConnectionServiceImpl;
-import org.opendaylight.ovsdb.utils.servicehelper.ServiceHelper;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-
-@RunWith(PowerMockRunner.class)
-@PrepareForTest(ServiceHelper.class)
-public class NodeResourceTest {
-    private static final String OVS = "OVS";
-    private static final String IDENTIFIER = "192.168.120.31:45001";
-    private static final String IDENTIFIER2 = "192.168.120.31:45002";
-    private static final String OVS_IDENTIFIER = OVS + "|" + IDENTIFIER;
-    private static final String OVS_IDENTIFIER2 = OVS + "|" + IDENTIFIER2;
-    private static final String BAD_IDENTIFIER = "BAD" + "|" + IDENTIFIER;
-
-    @Test
-    public void testGetOvsdbNode () {
-        ConnectionServiceImpl connectionService = new ConnectionServiceImpl();
-        Connection connection = new Connection(IDENTIFIER, null);
-        connectionService.putOvsdbConnection(IDENTIFIER, connection);
-
-        PowerMockito.mockStatic(ServiceHelper.class);
-        when(ServiceHelper.getGlobalInstance(eq(OvsdbConnectionService.class), anyObject()))
-                .thenReturn(null)
-                .thenReturn(connectionService)
-                .thenReturn(connectionService);
-
-        try {
-            NodeResource.getOvsdbNode(IDENTIFIER, this);
-            fail("Expected an ServiceUnavailableException to be thrown");
-        } catch (ServiceUnavailableException e) {
-            assertSame(ServiceUnavailableException.class, e.getClass());
-        }
-
-        try {
-            NodeResource.getOvsdbNode(BAD_IDENTIFIER, this);
-            fail("Expected an ResourceNotFoundException to be thrown");
-        } catch (ResourceNotFoundException e) {
-            assertSame(ResourceNotFoundException.class, e.getClass());
-        }
-
-        Node node = NodeResource.getOvsdbNode(OVS_IDENTIFIER, this);
-        assertNotNull("Node " + OVS_IDENTIFIER + " is null", node);
-    }
-
-    @Test
-    public void testGetOvsdbConnection () {
-        ConnectionServiceImpl connectionService = new ConnectionServiceImpl();
-        Connection connection = new Connection(IDENTIFIER, null);
-        connectionService.putOvsdbConnection(IDENTIFIER, connection);
-
-        PowerMockito.mockStatic(ServiceHelper.class);
-        when(ServiceHelper.getGlobalInstance(eq(OvsdbConnectionService.class), anyObject()))
-                .thenReturn(null)
-                .thenReturn(connectionService)
-                .thenReturn(connectionService);
-
-        try {
-            NodeResource.getOvsdbConnection(IDENTIFIER, this);
-            fail("Expected an ServiceUnavailableException to be thrown");
-        } catch (ServiceUnavailableException e) {
-            assertSame(ServiceUnavailableException.class, e.getClass());
-        }
-
-        try {
-            NodeResource.getOvsdbConnection(BAD_IDENTIFIER, this);
-            fail("Expected an ResourceNotFoundException to be thrown");
-        } catch (ResourceNotFoundException e) {
-            assertSame(ResourceNotFoundException.class, e.getClass());
-        }
-
-        Connection testConnection = NodeResource.getOvsdbConnection(IDENTIFIER, this);
-        assertNotNull("Connection " + OVS_IDENTIFIER + " is null", testConnection);
-    }
-
-    @Test
-    public void testGetNodes () {
-        ConnectionServiceImpl connectionService = new ConnectionServiceImpl();
-
-        PowerMockito.mockStatic(ServiceHelper.class);
-        when(ServiceHelper.getGlobalInstance(eq(OvsdbConnectionService.class), anyObject()))
-                .thenReturn(connectionService)
-                .thenReturn(connectionService)
-                .thenReturn(connectionService);
-
-        NodeResource nodeResource = new NodeResource();
-
-        // Check getNodes when there are no nodes
-        try {
-            Response response = nodeResource.getNodes();
-            assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
-            assertNotNull("entity should not be null", response.getEntity());
-            String id = "";
-            List<String> ids = Lists.newArrayList();
-            ids.add(id);
-            assertEquals("there should be no nodes", ids.toString(), response.getEntity());
-        } catch (JsonProcessingException ex) {
-            fail("Exception should not have been caught");
-        }
-
-        // Check getNodes when there is a node
-        Connection connection = new Connection(IDENTIFIER, null);
-        connectionService.putOvsdbConnection(IDENTIFIER, connection);
-
-        try {
-            Response response = nodeResource.getNodes();
-            assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
-            assertNotNull("entity should not be null", response.getEntity());
-            String id = "\"" + OVS_IDENTIFIER + "\"";
-            List<String> ids = Lists.newArrayList();
-            ids.add(id);
-            assertEquals(OVS_IDENTIFIER + " should be found", ids.toString(), response.getEntity());
-        } catch (JsonProcessingException ex) {
-            fail("Exception should not have been caught");
-        }
-
-        // Check getNodes when there are multiple nodes
-        connection = new Connection(IDENTIFIER2, null);
-        connectionService.putOvsdbConnection(IDENTIFIER2, connection);
-
-        try {
-            Response response = nodeResource.getNodes();
-            assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
-            assertNotNull("entity should not be null", response.getEntity());
-            String id = "\"" + OVS_IDENTIFIER + "\"";
-            String id2 = "\"" + OVS_IDENTIFIER2 + "\"";
-            List<String> ids = Lists.newArrayList();
-            ids.add(id);
-            ids.add(id2);
-            assertEquals(OVS_IDENTIFIER + " and " + OVS_IDENTIFIER2 + " should be found",
-                    ids.toString().replaceAll("\\s",""), response.getEntity());
-        } catch (JsonProcessingException ex) {
-            fail("Exception should not have been caught");
-        }
-    }
-}
diff --git a/northbound/src/test/java/org/opendaylight/ovsdb/northbound/OvsdbNorthboundV3Test.java b/northbound/src/test/java/org/opendaylight/ovsdb/northbound/OvsdbNorthboundV3Test.java
deleted file mode 100644 (file)
index 9ecaf40..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-* Copyright (C) 2014 Red Hat, Inc.
-*
-* This program and the accompanying materials are made available under the
-* terms of the Eclipse Public License v1.0 which accompanies this distribution,
-* and is available at http://www.eclipse.org/legal/epl-v10.html
-*
-* Authors : Sam Hague
-*/
-package org.opendaylight.ovsdb.northbound;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.fail;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.security.Principal;
-import javax.ws.rs.core.SecurityContext;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.opendaylight.controller.northbound.commons.exception.UnauthorizedException;
-import org.opendaylight.controller.northbound.commons.utils.NorthboundUtils;
-import org.opendaylight.controller.sal.authorization.Privilege;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-
-@RunWith(PowerMockRunner.class)
-@PrepareForTest(NorthboundUtils.class)
-public class OvsdbNorthboundV3Test {
-    private static final String USER = "admin";
-
-    @Test
-    public void testSetSecurityContext () {
-        SecurityContext securityContext = mock(SecurityContext.class);
-        Principal principal = mock(Principal.class);
-
-        when(securityContext.getUserPrincipal()).thenReturn(null)
-                .thenReturn(principal);
-        when(principal.getName()).thenReturn(USER);
-
-        OvsdbNorthboundV3 ovsdbNorthboundV3 = new OvsdbNorthboundV3();
-
-        // Check if SecurityContext is null
-        ovsdbNorthboundV3.setSecurityContext(null);
-        String userName = ovsdbNorthboundV3.getUserName();
-        assertNull(userName);
-
-        // Check if user has no Principal
-        ovsdbNorthboundV3.setSecurityContext(securityContext);
-        userName = ovsdbNorthboundV3.getUserName();
-        assertNull(userName);
-
-        // Success case
-        ovsdbNorthboundV3.setSecurityContext(securityContext);
-        userName = ovsdbNorthboundV3.getUserName();
-        assertEquals(USER, userName);
-    }
-
-    @Test
-    public void testGetNode () {
-        PowerMockito.mockStatic(NorthboundUtils.class);
-        when(NorthboundUtils.isAuthorized(anyString(), eq("default"), eq(Privilege.WRITE), anyObject()))
-                .thenReturn(false)
-                .thenReturn(true);
-
-        OvsdbNorthboundV3 ovsdbNorthboundV3 = new OvsdbNorthboundV3();
-
-        // Check for unauthorized user
-        try {
-            NodeResource nodeResource = ovsdbNorthboundV3.getNode();
-            fail("Expected an UnauthorizedException to be thrown");
-        } catch (UnauthorizedException e) {
-            assertSame(UnauthorizedException.class, e.getClass());
-        }
-
-        // Success case
-        NodeResource nodeResource = ovsdbNorthboundV3.getNode();
-        assertNotNull(nodeResource);
-    }
-}
diff --git a/pom.xml b/pom.xml
index 44352706064fb183f6d09c03992e804e9173f1d0..462d26a96518fc2d8f30b66587feaba3f4f47132 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -58,7 +58,6 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <module>karaf</module>
     <!-- OVSDB Components -->
     <module>southbound</module>
-    <module>northbound</module>
     <module>openstack</module>
     <module>ovsdb-artifacts</module>
     <module>schemas</module>
diff --git a/resources/commons/OVSDB_Northbound_APIs.json.postman_collection b/resources/commons/OVSDB_Northbound_APIs.json.postman_collection
deleted file mode 100644 (file)
index 97a09e4..0000000
+++ /dev/null
@@ -1,792 +0,0 @@
-{
-       "id": "b4485302-3406-776b-fb0c-94d74c76dc36",
-       "name": "OVSDB Northbound APIs",
-       "description": "Northbound APIs exposed by ovsdb.northbound bundle",
-       "order": [
-               "1aaa544a-7d79-3159-84b5-89574ff7f3e2",
-               "190627e6-ef20-863f-998b-e019034874c4",
-               "d70a4755-d62a-dfcd-e363-dbe931af99a0"
-       ],
-       "folders": [
-               {
-                       "id": "f0bc8237-daf6-5584-4011-1549618623b5",
-                       "name": "01 BRIDGE",
-                       "description": "",
-                       "order": [
-                               "085fa6c6-1d5b-8afb-4e4a-56cafe5e8bd0",
-                               "aed6c263-4d42-ca35-669f-33a00c3d9c82",
-                               "6f5b8f9a-3e66-16b0-7a16-62a96313eab5",
-                               "7e41f2e4-6797-64f0-ebd2-b4b634b6a559",
-                               "2ced04cd-b934-9a0a-576d-8640b6a0b80e"
-                       ],
-                       "collection_name": "OVSDB Northbound APIs",
-                       "collection_id": "b4485302-3406-776b-fb0c-94d74c76dc36"
-               },
-               {
-                       "id": "d5c6f3fa-0354-d2db-a2e8-4cb29ade5580",
-                       "name": "02 PORT",
-                       "description": "",
-                       "order": [
-                               "2990bcf5-976b-413a-f732-9a21d26d2146",
-                               "618382e3-a833-04d1-f917-c40e70c176cb",
-                               "39cdc358-7c75-d1cc-34ff-081e74254748",
-                               "4945fedc-a9c9-5b38-478f-df9ea0d1248a"
-                       ],
-                       "collection_name": "OVSDB Northbound APIs",
-                       "collection_id": "b4485302-3406-776b-fb0c-94d74c76dc36"
-               },
-               {
-                       "id": "10aeabc5-bd4b-b64f-31b6-82cbe9c7e9de",
-                       "name": "03 INTERFACE",
-                       "description": "",
-                       "order": [
-                               "a37af20f-0e43-3fe1-9f3b-c42a264fa3a1",
-                               "4b21a8b1-1703-bc2c-8716-7dcdab57300a",
-                               "0753fa84-8a0e-7727-1d45-5b5eb8c74de0"
-                       ],
-                       "collection_name": "OVSDB Northbound APIs",
-                       "collection_id": "b4485302-3406-776b-fb0c-94d74c76dc36"
-               },
-               {
-                       "id": "704ce201-08b0-59b4-eba0-c0a22d14d64a",
-                       "name": "04 CONTROLLER",
-                       "description": "",
-                       "order": [
-                               "7fc7d8cd-244d-58a0-febf-9814729b9422",
-                               "646be7a5-a484-329a-1039-02b53e1b05fc",
-                               "d239a9ea-8247-3d47-0d3a-2a1063c0177a"
-                       ],
-                       "collection_name": "OVSDB Northbound APIs",
-                       "collection_id": "b4485302-3406-776b-fb0c-94d74c76dc36"
-               },
-               {
-                       "id": "c49bb77a-920b-9653-232b-6a35fae3229f",
-                       "name": "05 SSL",
-                       "description": "",
-                       "order": [
-                               "3c4a6bb9-30e8-fdf1-1cf3-a3e187537924",
-                               "6c1b9611-b195-c64c-684f-a639e7ae3946",
-                               "989d5e9c-47a9-206a-c225-dc0e796f096a"
-                       ],
-                       "collection_name": "OVSDB Northbound APIs",
-                       "collection_id": "b4485302-3406-776b-fb0c-94d74c76dc36"
-               },
-               {
-                       "id": "7d339efa-b5a2-ecb5-1639-7c99ab2beb08",
-                       "name": "06 sFlow",
-                       "description": "",
-                       "order": [
-                               "88f1ec23-5471-97a8-2633-c89c51c20071",
-                               "9b2eaefc-5cc0-958a-0926-2b18fea54b88",
-                               "5eab776e-dd13-2a7f-90c3-fabc4d98d481"
-                       ],
-                       "collection_name": "OVSDB Northbound APIs",
-                       "collection_id": "b4485302-3406-776b-fb0c-94d74c76dc36"
-               },
-               {
-                       "id": "75c166a9-e5de-c7bd-59b4-20e512c89ef4",
-                       "name": "07 Qos",
-                       "description": "",
-                       "order": [
-                               "5e1f52b7-3295-9485-377f-6988c401a8cd",
-                               "d565f3fb-4a9a-3e61-9e8e-87324427c979",
-                               "40323a39-f07f-695a-2428-e888dd9c7cf1",
-                               "c3c1dd3a-1f8e-947d-f729-2eef56795fef"
-                       ],
-                       "collection_name": "OVSDB Northbound APIs",
-                       "collection_id": "b4485302-3406-776b-fb0c-94d74c76dc36"
-               },
-               {
-                       "id": "ebb04a01-9318-78ba-7d7d-590688434f35",
-                       "name": "08 Queue",
-                       "description": "",
-                       "order": [
-                               "b1af09ee-f6b9-cddd-9087-6d8dc5b958a4",
-                               "d32420de-40fd-d407-59c5-e1c3b8ea359c",
-                               "2d670425-e1ae-c615-1fe1-b27c0ddf4c43",
-                               "9d887d97-a323-a847-a163-ca6e62ad96fe"
-                       ],
-                       "collection_name": "OVSDB Northbound APIs",
-                       "collection_id": "b4485302-3406-776b-fb0c-94d74c76dc36"
-               },
-               {
-                       "id": "dc13be48-4ea4-7d32-63df-d367c6df6e70",
-                       "name": "09 NetFlow",
-                       "description": "",
-                       "order": [
-                               "c7ab23bd-2d49-71a0-7a40-31ee0f44b2b0",
-                               "76c04544-3be0-e330-75e1-509919d781f0",
-                               "f8d9b165-7fa7-e0bd-b634-b45d550a3114"
-                       ],
-                       "collection_name": "OVSDB Northbound APIs",
-                       "collection_id": "b4485302-3406-776b-fb0c-94d74c76dc36"
-               },
-               {
-                       "id": "1fe328ce-a0f2-2512-36b2-21c854081873",
-                       "name": "10 Manager",
-                       "description": "",
-                       "order": [
-                               "3d34de25-8015-98e5-957b-eb3cef69175f",
-                               "1aaa544a-7d79-3159-84b5-89574ff7f3e2",
-                               "baab428a-b056-bd23-906d-290933aee25f"
-                       ],
-                       "collection_name": "OVSDB Northbound APIs",
-                       "collection_id": "b4485302-3406-776b-fb0c-94d74c76dc36"
-               },
-               {
-                       "id": "40018e32-d0ca-4a2f-5f06-bff5c95382f8",
-                       "name": "11 IPFIX",
-                       "description": "",
-                       "order": [
-                               "a01a045e-e642-8e39-f2cc-baf37ec5dfc5",
-                               "485249a8-94d2-b61b-a6b9-addfe8fb1495",
-                               "8f74bdb1-1f10-69f4-da1d-cd878df784e5"
-                       ],
-                       "collection_name": "OVSDB Northbound APIs",
-                       "collection_id": "b4485302-3406-776b-fb0c-94d74c76dc36"
-               }
-       ],
-       "timestamp": 1384305639019,
-       "synced": false,
-       "requests": [
-               {
-                       "id": "0753fa84-8a0e-7727-1d45-5b5eb8c74de0",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/interface/rows/45bf1633-1411-4c92-87f8-b1492eed2ff6",
-                       "data": "",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "dataMode": "raw",
-                       "method": "DELETE",
-                       "version": 2,
-                       "time": 1385442001088,
-                       "name": "DELETE interface row given UUID",
-                       "description": "package org.opendaylight.ovsdb.plugin\n\nclass ConfigurationService\n\nMethod: deleteInterfaceRow()",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "085fa6c6-1d5b-8afb-4e4a-56cafe5e8bd0",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/bridge/rows",
-                       "data": [],
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "dataMode": "params",
-                       "method": "GET",
-                       "version": 2,
-                       "time": 1384863804932,
-                       "name": "GET all bridge rows",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "190627e6-ef20-863f-998b-e019034874c4",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/open_vswitch/rows",
-                       "data": [],
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "dataMode": "params",
-                       "method": "GET",
-                       "version": 2,
-                       "time": 1384895597912,
-                       "name": "GET all open_vswitch rows",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "1aaa544a-7d79-3159-84b5-89574ff7f3e2",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/manager/rows",
-                       "data": "{\n  \"parent_uuid\":\"8d3fb89b-5fac-4631-a990-f5a4e7f5383a\",\n    \"row\":{\n      \"Manager\":{\n        \"target\":\"a_string\",\n        \"is_connected\": true,\n        \"state\":\"active\"\n      }\n    }\n}",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "dataMode": "raw",
-                       "method": "POST",
-                       "version": 2,
-                       "time": 1384920841537,
-                       "name": "INSERT a Manager Row",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "2990bcf5-976b-413a-f732-9a21d26d2146",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/port/rows",
-                       "data": [],
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "dataMode": "params",
-                       "method": "GET",
-                       "version": 2,
-                       "time": 1384863858721,
-                       "name": "GET all port rows",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "2ced04cd-b934-9a0a-576d-8640b6a0b80e",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/bridge/rows/66ad493c-23cf-45e7-b5a5-1901fb3165f4",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": "{\n    \"row\":{\n      \"Bridge\":{\n        \"netflow\": [\"55f5d382-17fd-4c42-850d-02c282a67c20\",\"60db8cde-26e6-4bf9-bb08-cd1da68d1fcc\"]\n                \n      }\n    }\n}",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "time": 1386202840003,
-                       "name": "Update (PUT) Bridge table",
-                       "description": "Please note that the UUID used here must be one of the existing UUID of a Row in Bridge Table.\n\nAlso the Update must be done ONLY on the fields that needs update. Should NOT send all the immutable fields again. Update will fail in that case.",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "2d670425-e1ae-c615-1fe1-b27c0ddf4c43",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/queue/rows/cd1d39f2-0e8d-4164-a5ab-926329cd1c61",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": "",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "time": 1386291032110,
-                       "name": "DELETE a Queue row given a UUID (ROOT TABLE)",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "39cdc358-7c75-d1cc-34ff-081e74254748",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/port/rows/2f93780e-ce56-4cce-9f7c-579be7996651",
-                       "data": "",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "dataMode": "raw",
-                       "method": "DELETE",
-                       "version": 2,
-                       "time": 1385084358582,
-                       "name": "DELETE port row given UUID",
-                       "description": "package org.opendaylight.ovsdb.plugin\n\nclass ConfigurationService\n\nMethod: deletePortRow()",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "3c4a6bb9-30e8-fdf1-1cf3-a3e187537924",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/SSL/rows",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "params",
-                       "version": 2,
-                       "time": 1385766024370,
-                       "name": "GET all SSL row",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "3d34de25-8015-98e5-957b-eb3cef69175f",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/manager/rows",
-                       "data": [],
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "dataMode": "params",
-                       "method": "GET",
-                       "version": 2,
-                       "time": 1384920805653,
-                       "name": "GET all manager rows",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "40323a39-f07f-695a-2428-e888dd9c7cf1",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/qos/rows/739f3929-3a3e-45b1-88ea-afc09df0ca5c",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": "",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "time": 1386292478840,
-                       "name": "DELETE a QoS row given a UUID (ROOT TABLE)",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "485249a8-94d2-b61b-a6b9-addfe8fb1495",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/ipfix/rows",
-                       "pathVariables": {},
-                       "method": "POST",
-                       "data": "{\n  \"parent_uuid\":\"2e5c0418-e70c-406b-9ad9-58585ac10c19\",\n    \"row\":{\n      \"IPFIX\":{\n        \"targets\":[\n          \"set\", [\"192.168.56.1:5555\"]]\n      }\n    }\n}",
-                       "dataMode": "raw",
-                       "name": "Insert a IPFIX row",
-                       "description": "",
-                       "descriptionFormat": "html",
-                       "time": 1396821935199,
-                       "version": 2,
-                       "responses": [],
-                       "tests": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "synced": false
-               },
-               {
-                       "id": "4945fedc-a9c9-5b38-478f-df9ea0d1248a",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/port/rows/97a82ec9-e85e-4a48-9b77-ca4a41128b90",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": "{\n    \"row\":{\n      \"Port\":{\n        \"qos\": [\n          \"ab2b6f2d-5cb4-4dcf-ac1b-c989ae3d76ce\"\n                ]\n      }\n    }\n}",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "time": 1386208729980,
-                       "name": "Update Port Table",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "4b21a8b1-1703-bc2c-8716-7dcdab57300a",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/interface/rows",
-                       "pathVariables": {},
-                       "method": "POST",
-                       "data": "{\n  \"parent_uuid\":\"ea70e5b1-8b21-4caf-a102-0b85b6c63119\",\n    \"row\":{\n      \"Interface\":{\n        \"name\":\"s1-1125-1\",\n        \"mac\":[\"00:00:bb:bb:00:01\"],\n        \"admin_state\":\"up\"\n      }\n    }\n}",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "time": 1396829465324,
-                       "name": "Create row: Interface Table",
-                       "description": "package org.opendaylight.ovsdb.plugin\npublic class ConfigurationService\n\nMethod: insertInterfaceRow\n",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "5e1f52b7-3295-9485-377f-6988c401a8cd",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/qos/rows",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "params",
-                       "version": 2,
-                       "time": 1385833787440,
-                       "name": "GET all QoS rows",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "5eab776e-dd13-2a7f-90c3-fabc4d98d481",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/sflow/rows/",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": "",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "time": 1385832734561,
-                       "name": "DELETE an sFlow row given a UUID",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "618382e3-a833-04d1-f917-c40e70c176cb",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/port/rows",
-                       "pathVariables": {},
-                       "method": "POST",
-                       "data": "{\n  \"parent_uuid\":\"6b3072ba-a120-4db9-82f8-a8ce4eae6942\",\n    \"row\":{\n      \"Port\":{\n        \"name\":\"krb1\",\n        \"mac\":[\"00:00:00:00:00:01\"],\n        \"tag\":[200]\n      }\n    }\n}",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "time": 1396829482311,
-                       "name": "Create a Port and add it to a Bridge",
-                       "description": "Please note that the parent_uuid of this HTTP Data is the UUID of the Bridge that was created in the previous step.\n\nWatch out for the return value which is the UUID of the port that was just created. This UUID must be used as the parent_uuid for the interface addition. Also look out for the HTTP headers that is returned and it has a location field that can be used for both DELETE and UPDATE operations later.\n",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "646be7a5-a484-329a-1039-02b53e1b05fc",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/controller/rows/68e97a9a-9f2c-497a-b39b-7f1e37c30c6f",
-                       "data": "",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "dataMode": "raw",
-                       "method": "DELETE",
-                       "version": 2,
-                       "time": 1385391658840,
-                       "name": "DELETE controller row given UUID",
-                       "description": "package org.opendaylight.ovsdb.plugin\n\nclass ConfigurationService\n\nMethod: deleteControllerRow()",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "6c1b9611-b195-c64c-684f-a639e7ae3946",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/SSL/rows",
-                       "pathVariables": {},
-                       "method": "POST",
-                       "data": "{\n    \"row\":{\n      \"SSL\":{\n        \"name\":\"mySSL\",\n        \"ca_cert\" : \"ca_cert\",\n        \"bootstrap_ca_cert\" : true,\n        \"certificate\":\"pieceofpaper\",\n        \"private_key\" : \"private\"\n      }\n    }\n}\n",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "time": 1385766215625,
-                       "name": "INSERT an SSL row",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "6f5b8f9a-3e66-16b0-7a16-62a96313eab5",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/bridge/rows",
-                       "pathVariables": {},
-                       "method": "POST",
-                       "data": "{\n    \"row\":{\n      \"Bridge\":{\n        \"name\":\"br25\",\n        \"datapath_type\":\"OPENFLOW\"\n      }\n    }\n}",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "time": 1396829500172,
-                       "name": "Create a Bridge",
-                       "description": "Watch out for the return value which is the UUID of the bridge that was just created.\nThis UUID must be used as the parent_uuid for the port addition.\n\nAlso look out for the HTTP headers that is returned and it has a location field that can be used for both DELETE and UPDATE operations later.",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "76c04544-3be0-e330-75e1-509919d781f0",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/netflow/rows",
-                       "pathVariables": {},
-                       "method": "POST",
-                       "data": "{\n  \"parent_uuid\":\"817d2e33-448d-4f2e-b183-7f835e93922f\",\n  \"row\" : {\n    \"NetFlow\":{\n      \"targets\" : [\n        \"set\", [\"192.168.1.102:9998\"]],\n      \"active_timeout\" : \"0\"\n      }\n  } \n}",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "time": 1396822912058,
-                       "name": "INSERT a NetFlow row",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "id": "7e41f2e4-6797-64f0-ebd2-b4b634b6a559",
-                       "name": "DELETE a Bridge row given UUID",
-                       "description": "Please note that the UUID used here must be one of the existing UUID of a Row in Bridge Table",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/bridge/rows/45677cc9-bed2-4def-9986-b05a9b59f1f4",
-                       "method": "DELETE",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "data": "",
-                       "dataMode": "raw",
-                       "timestamp": 0,
-                       "version": 2,
-                       "time": 1384465149749,
-                       "synced": false
-               },
-               {
-                       "id": "7fc7d8cd-244d-58a0-febf-9814729b9422",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/controller/rows",
-                       "data": [],
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "dataMode": "params",
-                       "method": "GET",
-                       "version": 2,
-                       "time": 1384898533812,
-                       "name": "GET all controller rows",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "88f1ec23-5471-97a8-2633-c89c51c20071",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/sflow/rows",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "params",
-                       "version": 2,
-                       "time": 1385832695823,
-                       "name": "GET all sFlow rows",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "8f74bdb1-1f10-69f4-da1d-cd878df784e5",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/ipfix/rows/715fb52c-63bb-495a-8dca-f3f824fbf8fb",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": "",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "time": 1396823075244,
-                       "name": "DELETE a IPFIX row given a UUID",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "989d5e9c-47a9-206a-c225-dc0e796f096a",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/SSL/rows/6c2a532c-96df-49ce-8f3f-f83c39e47122",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": "",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "time": 1385766788123,
-                       "name": "DELETE an SSL row given a UUID",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "9b2eaefc-5cc0-958a-0926-2b18fea54b88",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/sflow/rows",
-                       "pathVariables": {},
-                       "method": "POST",
-                       "data": "{\n  \"parent_uuid\": \"a8c88ae9-fc08-498b-8ec8-2fd86627055d\",\n  \"row\": {\n    \"sFlow\": {\n      \"targets\": [\n        \"set\",\n        [\n          \"targets_string\"\n        ]\n      ]\n    }\n  }\n}",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "time": 1396827237234,
-                       "name": "INSERT an sFlow row",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "9d887d97-a323-a847-a163-ca6e62ad96fe",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/qos/rows/ab2b6f2d-5cb4-4dcf-ac1b-c989ae3d76ce",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": "{\n    \"row\":{\n      \"QoS\":{\n        \"queues\": {\n          \"1\" : { \"val\": \"0fbe6ced-16cf-4a39-8a79-e7c8c31f63a9\"}\n        }\n      }\n    }\n}",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "time": 1386287453591,
-                       "name": "UPDATE a queue in QOS",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "a01a045e-e642-8e39-f2cc-baf37ec5dfc5",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/ipfix/rows",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "params",
-                       "name": "GET all IPFIX rows",
-                       "description": "",
-                       "descriptionFormat": "html",
-                       "time": 1396821857102,
-                       "version": 2,
-                       "responses": [],
-                       "tests": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "synced": false
-               },
-               {
-                       "id": "a37af20f-0e43-3fe1-9f3b-c42a264fa3a1",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/interface/rows",
-                       "data": [],
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "dataMode": "params",
-                       "method": "GET",
-                       "version": 2,
-                       "time": 1384866802408,
-                       "name": "GET all interface rows",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "id": "aed6c263-4d42-ca35-669f-33a00c3d9c82",
-                       "name": "GET a bridge row given a UUID",
-                       "description": "Please note that the UUID used here must be one of the existing UUID of a Row in Bridge Table",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/bridge/rows/45677cc9-bed2-4def-9986-b05a9b59f1f4",
-                       "method": "GET",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "data": "",
-                       "dataMode": "raw",
-                       "timestamp": 0,
-                       "version": 2,
-                       "time": 1384465185771,
-                       "synced": false
-               },
-               {
-                       "id": "b1af09ee-f6b9-cddd-9087-6d8dc5b958a4",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/queue/rows",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "params",
-                       "version": 2,
-                       "time": 1385846165644,
-                       "name": "GET all Queue rows",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "baab428a-b056-bd23-906d-290933aee25f",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/manager/rows/",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": "",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "time": 1385866190653,
-                       "name": "DELETE a Manager row given UUID",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "c3c1dd3a-1f8e-947d-f729-2eef56795fef",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/qos/rows/ab2b6f2d-5cb4-4dcf-ac1b-c989ae3d76ce",
-                       "pathVariables": {},
-                       "method": "PUT",
-                       "data": "{\n    \"row\":{\n      \"QoS\":{\n        \"Queues\": {\n          \"queue_value\" : \"5afa70b6-7c74-4972-9d98-874e6307807d\"\n        }\n      }\n    }\n}",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "time": 1386212074539,
-                       "name": "UPDATE a QoS row ",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "c7ab23bd-2d49-71a0-7a40-31ee0f44b2b0",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/netflow/rows",
-                       "pathVariables": {},
-                       "method": "GET",
-                       "data": [],
-                       "dataMode": "params",
-                       "version": 2,
-                       "time": 1385853862100,
-                       "name": "GET all NetFlow rows",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "d239a9ea-8247-3d47-0d3a-2a1063c0177a",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/controller/rows",
-                       "pathVariables": {},
-                       "method": "POST",
-                       "data": "{\n  \"parent_uuid\" : \"a8c88ae9-fc08-498b-8ec8-2fd86627055d\",\n  \"row\" : {\n  \t\"Controller\": {\n      \"target\": \"1.1.1.1\"\n    \t}\n\t}\t\n}",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "time": 1396828737787,
-                       "name": "Add Controller to Bridge",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "d32420de-40fd-d407-59c5-e1c3b8ea359c",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/queue/rows",
-                       "pathVariables": {},
-                       "method": "POST",
-                       "data": "{\n  \"parent_uuid\": \"c5f7ce39-847c-4a69-bf8a-2a0181898581\",\n  \"row\": {\n    \"Queue\": {\n      \"dscp\" : [\n      \"set\",\n      [\n          25\n        ]\n      ]\n    }\n  }\n}",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "tests": "",
-                       "time": 1396828046762,
-                       "name": "INSERT a Queue row",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "d565f3fb-4a9a-3e61-9e8e-87324427c979",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/qos/rows",
-                       "pathVariables": {},
-                       "method": "POST",
-                       "data": "{\n  \"parent_uuid\" : \"b109dbcf-47bb-4121-b244-e623b3421d6e\",\n  \"row\" : {\n  \t\"QoS\": {\n      \"type\": \"linux-htb\"\n    \t}\n\t}\t\n}",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "time": 1386291627774,
-                       "name": "INSERT a QoS row",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "d70a4755-d62a-dfcd-e363-dbe931af99a0",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/controller/nb/v2/connectionmanager/node/HOST1/address/192.168.1.102/port/6640/",
-                       "data": [],
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\n",
-                       "dataMode": "params",
-                       "method": "PUT",
-                       "version": 2,
-                       "time": 1385493381229,
-                       "name": "Connect controller to OVSDB server",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               },
-               {
-                       "id": "f8d9b165-7fa7-e0bd-b634-b45d550a3114",
-                       "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-                       "url": "http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v2/node/OVS/HOST1/tables/netflow/rows/60db8cde-26e6-4bf9-bb08-cd1da68d1fcc",
-                       "pathVariables": {},
-                       "method": "DELETE",
-                       "data": "",
-                       "dataMode": "raw",
-                       "version": 2,
-                       "time": 1386202872294,
-                       "name": "DELETE a NetFlow row given UUID",
-                       "description": "",
-                       "collectionId": "b4485302-3406-776b-fb0c-94d74c76dc36",
-                       "responses": [],
-                       "synced": false
-               }
-       ]
-}
\ No newline at end of file
diff --git a/resources/commons/OVSDB_Northbound_v3_APIs.json.postman_collection b/resources/commons/OVSDB_Northbound_v3_APIs.json.postman_collection
deleted file mode 100644 (file)
index d5af815..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-{
-    "id":"4bc6df66-04c6-f750-e6a4-2518f667f85e",
-    "name":"OVSDB Northbound v3 APIs",
-    "timestamp":1416933391257,
-    "requests":[
-        {
-            "collectionId":"4bc6df66-04c6-f750-e6a4-2518f667f85e",
-            "id":"28f2c9fe-06a8-55fa-eb95-ae6d93fc271e",
-            "name":"GET node database table Manager info",
-            "description":"",
-            "url":"http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v3/node/OVS|192.168.120.31:48161/database/Open_vSwitch/table/Manager",
-            "method":"GET",
-            "headers":"Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-            "data":[
-
-            ],
-            "dataMode":"params",
-            "timestamp":0,
-            "responses":[
-
-            ],
-            "version":2
-        },
-        {
-            "collectionId":"4bc6df66-04c6-f750-e6a4-2518f667f85e",
-            "id":"2ceafd22-6467-e29b-f5b9-a947196a365d",
-            "name":"GET config",
-            "description":"",
-            "url":"http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v3/config",
-            "method":"GET",
-            "headers":"Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-            "data":[
-
-            ],
-            "dataMode":"params",
-            "timestamp":0,
-            "responses":[
-
-            ],
-            "version":2
-        },
-        {
-            "collectionId":"4bc6df66-04c6-f750-e6a4-2518f667f85e",
-            "id":"31423e07-7f63-cace-1d92-eade985c8058",
-            "name":"GET node database table list",
-            "description":"",
-            "url":"http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v3/node/OVS|192.168.120.31:48161/database/Open_vSwitch/table",
-            "method":"GET",
-            "headers":"Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-            "data":[
-
-            ],
-            "dataMode":"params",
-            "timestamp":0,
-            "responses":[
-
-            ],
-            "version":2
-        },
-        {
-            "collectionId":"4bc6df66-04c6-f750-e6a4-2518f667f85e",
-            "id":"52f720c9-424b-f48f-65aa-ef9a9bb29f40",
-            "name":"GET node",
-            "description":"",
-            "url":"http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v3/node/OVS|192.168.120.31:48161",
-            "method":"GET",
-            "headers":"Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-            "data":[
-
-            ],
-            "dataMode":"params",
-            "timestamp":0,
-            "responses":[
-
-            ],
-            "version":2
-        },
-        {
-            "collectionId":"4bc6df66-04c6-f750-e6a4-2518f667f85e",
-            "id":"9d327275-fd29-6b72-9ac8-3bbd38c5364d",
-            "name":"GET node database list",
-            "description":"",
-            "url":"http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v3/node/OVS|192.168.120.31:48161/database",
-            "method":"GET",
-            "headers":"Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-            "data":[
-
-            ],
-            "dataMode":"params",
-            "timestamp":0,
-            "responses":[
-
-            ],
-            "version":2
-        },
-        {
-            "collectionId":"4bc6df66-04c6-f750-e6a4-2518f667f85e",
-            "id":"9f6858b9-198b-5368-7987-9468354ae06b",
-            "name":"GET node database table Open-vSwitch rows uuid",
-            "description":"",
-            "url":"http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v3/node/OVS|192.168.120.31:48161/database/Open_vSwitch/table/Open_vSwitch/row/626d6b88-821f-474c-9680-2b74dfafdcd1",
-            "method":"GET",
-            "headers":"Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-            "data":[
-
-            ],
-            "dataMode":"params",
-            "timestamp":0,
-            "responses":[
-
-            ],
-            "version":2
-        },
-        {
-            "collectionId":"4bc6df66-04c6-f750-e6a4-2518f667f85e",
-            "id":"b8fff80d-cb81-280a-2a88-e0b28d4d23d3",
-            "name":"GET node database table Open-vSwitch",
-            "description":"",
-            "url":"http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v3/node/OVS|192.168.120.31:48161/database/Open_vSwitch/table/Open_vSwitch",
-            "method":"GET",
-            "headers":"Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-            "data":[
-
-            ],
-            "dataMode":"params",
-            "timestamp":0,
-            "responses":[
-
-            ],
-            "version":2
-        },
-        {
-            "collectionId":"4bc6df66-04c6-f750-e6a4-2518f667f85e",
-            "id":"c508233b-ed4b-c03d-0446-3e206b513203",
-            "name":"GET node database table Open-vSwitch rows",
-            "description":"",
-            "url":"http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v3/node/OVS|192.168.120.31:48161/database/Open_vSwitch/table/Open_vSwitch/row",
-            "method":"GET",
-            "headers":"Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-            "data":[
-
-            ],
-            "dataMode":"params",
-            "timestamp":0,
-            "responses":[
-
-            ],
-            "version":2
-        },
-        {
-            "collectionId":"4bc6df66-04c6-f750-e6a4-2518f667f85e",
-            "id":"d8d420f8-826d-af7e-951b-2d29a51c6033",
-            "name":"GET node database info",
-            "description":"",
-            "url":"http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v3/node/OVS|192.168.120.31:48161/database/Open_vSwitch",
-            "method":"GET",
-            "headers":"Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-            "data":[
-
-            ],
-            "dataMode":"params",
-            "timestamp":0,
-            "responses":[
-
-            ],
-            "version":2
-        },
-        {
-            "collectionId":"4bc6df66-04c6-f750-e6a4-2518f667f85e",
-            "id":"e650b8cc-d983-f329-be2e-153a5601e34c",
-            "name":"GET all nodes",
-            "description":"",
-            "url":"http://{{controllerHost}}:{{controllerPort}}/ovsdb/nb/v3/node",
-            "method":"GET",
-            "headers":"Authorization: Basic YWRtaW46YWRtaW4=\nAccept: application/json\nContent-Type: application/json\n",
-            "data":[
-
-            ],
-            "dataMode":"params",
-            "timestamp":0,
-            "responses":[
-
-            ],
-            "version":2
-        }
-    ]
-}
\ No newline at end of file
index 0e34991087dd6a6e1b9aa644f1b300a78f2f609d..c5ab757162a709d8e03aa08b7a32b9f618047d4e 100644 (file)
@@ -5,14 +5,12 @@ administrators working on ovsdb project in general.
 Contents
 --------
 
-1. localhost.json.postman_environment : Environment that associates address and port to localhost:8080 in templates for the collections below.
+- localhost.json.postman_environment : Environment that associates address and port to localhost:8080 in templates for the collections below.
 
-2. Mininet_Demo_OVSDB_OF.json.postman_collection : Collection of REST-APIs used in the Mininet demo (http://www.youtube.com/watch?v=8iWhMVlflwE)
+- Mininet_Demo_OVSDB_OF.json.postman_collection : Collection of REST-APIs used in the Mininet demo (http://www.youtube.com/watch?v=8iWhMVlflwE)
 
-3. OVSDB_Northbound_APIs.json.postman_collection : Collection of REST-APIs detailing on all the ovsdb.northbound APIs.
+- OVSDB_Southbound.postman_collection : Collection of RESTCONF APIs for using the OVSDB MD-SAL Southbound
 
-4. OVSDB_Southbound.postman_collection : Collection of RESTCONF APIs for using the OVSDB MD-SAL Southbound
+- Neutron-v2.0-LBaaS-API-Examples_July15.json.postman_collection.txt : Collection of REST-APIs to interact with LBaas pool/pool member/loadbalancer.
 
-5. Neutron-v2.0-LBaaS-API-Examples_July15.json.postman_collection.txt : Collection of REST-APIs to interact with LBaas pool/pool member/loadbalancer.
-
-6. showOvsdbMdsal.py : Dumps mdsal related info from running ODL that is related to ovsdb and netvirt. Use 'showOvsdbMdsal.py -h' for usage
+- showOvsdbMdsal.py : Dumps mdsal related info from running ODL that is related to ovsdb and netvirt. Use 'showOvsdbMdsal.py -h' for usage