Removing the old unused plugin and ovsdb-plugin-compatibility-layer 38/27338/1
authorAnil Vishnoi <vishnoianil@gmail.com>
Wed, 19 Aug 2015 12:22:17 +0000 (17:52 +0530)
committerStephen Kitt <skitt@redhat.com>
Wed, 23 Sep 2015 08:53:47 +0000 (10:53 +0200)
OVSDB stopped using these module in Lithium release. These modules were kept for VTN project, because they didn't had time to migrate
VTN component that relies on these module to MD-SAL.
We will merge this patch after one month on 19th Sep.

Signed-off-by: Anil Vishnoi <vishnoianil@gmail.com>
36 files changed:
features/ovsdb/src/main/features/features.xml
ovsdb-plugin-compatibility-layer/pom.xml [deleted file]
ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/NodeUtils.java [deleted file]
ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/OvsdbConfigurationService.java [deleted file]
ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/OvsdbConnectionService.java [deleted file]
ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/OvsdbInventoryListener.java [deleted file]
ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/OvsdbInventoryService.java [deleted file]
ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/StatusWithUuid.java [deleted file]
ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/error/OvsdbPluginException.java [deleted file]
ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/impl/ConfigurationServiceImpl.java [deleted file]
ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/impl/ConnectionServiceImpl.java [deleted file]
ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/impl/InventoryServiceImpl.java [deleted file]
ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/impl/StatusConvertorUtil.java [deleted file]
ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/internal/Activator.java [deleted file]
ovsdb-plugin-compatibility-layer/src/test/java/org/opendaylight/ovsdb/compatibility/plugin/impl/ConnectionServiceImplTest.java [deleted file]
plugin/pom.xml [deleted file]
plugin/resources/logback.xml [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/Connection.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/ConnectionConstants.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsVswitchdSchemaConstants.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsdbConfigurationService.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsdbConnectionService.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsdbInventoryListener.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsdbInventoryService.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/Status.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/StatusCode.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/StatusWithUuid.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/error/OvsdbPluginException.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/impl/ConfigurationServiceImpl.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/impl/ConnectionServiceImpl.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/impl/InventoryServiceImpl.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/internal/Activator.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/internal/Encapsulation.java [deleted file]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/internal/NodeDatabase.java [deleted file]
plugin/src/test/java/org/opendaylight/ovsdb/plugin/impl/ConnectionServiceImplTest.java [deleted file]
pom.xml

index 03f5c9b4d0955003aeb0b98b15ab6fe16e6491d1..15bd93066b529a0b94ce8449065f074929200624 100644 (file)
@@ -12,7 +12,6 @@
   <feature name="odl-ovsdb-all" description="OpenDaylight :: OVSDB :: all"
            version='${project.version}'>
     <feature version="${ovsdb.library.version}">odl-ovsdb-library</feature>
-    <feature version="${ovsdb.plugin.version}">odl-ovsdb-plugin</feature>
   </feature>
 
   <feature name="odl-ovsdb-schema-openvswitch" description="OVSDB :: Schema :: Open_vSwitch"
     <bundle>mvn:org.opendaylight.ovsdb/schema.hardwarevtep/${schema.hardwarevtep.version}</bundle>
   </feature>
 
-  <feature name="odl-ovsdb-plugin" description="OpenDaylight :: OVSDB :: Plugin"
-           version='${ovsdb.plugin.version}'>
-    <feature version="${openflowplugin.version}">odl-openflowplugin-nsf-services</feature>
-    <feature version="${ovsdb.library.version}">odl-ovsdb-library</feature>
-    <feature version="${schema.openvswitch.version}">odl-ovsdb-schema-openvswitch</feature>
-    <feature version="${schema.hardwarevtep.version}">odl-ovsdb-schema-hardwarevtep</feature>
-    <bundle>mvn:org.apache.felix/org.apache.felix.dependencymanager/${felix.dependencymanager.version}</bundle>
-    <bundle>mvn:org.apache.felix/org.apache.felix.dependencymanager.shell/${felix.dependencymanager.shell.version}</bundle>
-    <bundle>mvn:org.osgi/org.osgi.compendium/${osgi.compendium.version}</bundle>
-    <bundle>mvn:org.opendaylight.ovsdb/plugin/${ovsdb.plugin.version}</bundle>
-    <bundle>mvn:org.opendaylight.ovsdb/plugin-shell/${plugin.shell.version}</bundle>
-  </feature>
-
   <feature name="odl-ovsdb-openstack" description="OpenDaylight :: OVSDB :: OpenStack Network Virtualization"
            version='${openstack.netvirt.version}'>
     <feature version='${mdsal.version}'>odl-mdsal-broker</feature>
diff --git a/ovsdb-plugin-compatibility-layer/pom.xml b/ovsdb-plugin-compatibility-layer/pom.xml
deleted file mode 100755 (executable)
index 0f13ac2..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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>ovsdb-plugin-compatibility-layer</artifactId>
-  <version>1.2.1-SNAPSHOT</version>
-  <name>${project.artifactId}</name>
-  <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>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.dependencymanager</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>plugin</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>library</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller.model</groupId>
-      <artifactId>model-inventory</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-simple</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <testResources>
-      <testResource>
-        <filtering>true</filtering>
-        <directory>src/test/resources</directory>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>2.4.0</version>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Import-Package>
-              org.opendaylight.controller.sal.core,
-              org.opendaylight.controller.sal.utils,
-              org.opendaylight.ovsdb.plugin.api,
-              org.apache.commons.lang3.builder,
-              org.apache.commons.lang3.tuple,
-              org.apache.felix.dm,
-              org.slf4j,
-              org.eclipse.osgi.framework.console,
-              org.osgi.framework,
-              javax.net.ssl,
-              *
-            </Import-Package>
-            <Embed-Dependency>commons-codec,javax.servlet-api,portlet-api,commons-collections,utils.config;type=!pom;inline=false</Embed-Dependency>
-            <Embed-Transitive>true</Embed-Transitive>
-            <Bundle-Activator>org.opendaylight.ovsdb.compatibility.plugin.internal.Activator</Bundle-Activator>
-            <Private-Package>
-              org.opendaylight.ovsdb.compatibility.plugin.impl,
-              org.opendaylight.ovsdb.compatibility.plugin.internal
-            </Private-Package>
-            <Export-Package>
-              org.opendaylight.ovsdb.compatibility.plugin,
-              org.opendaylight.ovsdb.compatibility.plugin.api,
-              org.opendaylight.ovsdb.compatibility.plugin.error
-            </Export-Package>
-          </instructions>
-          <manifestLocation>${project.basedir}/META-INF</manifestLocation>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-failsafe-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.jacoco</groupId>
-        <artifactId>jacoco-maven-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/NodeUtils.java b/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/NodeUtils.java
deleted file mode 100644 (file)
index b33f2a5..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 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.compatibility.plugin.api;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.opendaylight.controller.sal.core.ConstructionException;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class NodeUtils {
-    private static final Logger LOG = LoggerFactory.getLogger(NodeUtils.class);
-
-    public static String getId (String identifier) {
-        String id = identifier;
-
-        String[] pair = identifier.split("\\|");
-        if (pair[0].equals("OVS")) {
-            id = pair[1];
-        }
-        return id;
-    }
-
-    public static Node getMdsalNode (org.opendaylight.controller.sal.core.Node salNode) {
-        String identifier = salNode.getNodeIDString();
-
-        NodeId nodeId = new NodeId("OVS" + "|" + identifier);
-        NodeKey nodeKey = new NodeKey(nodeId);
-        Node node = new NodeBuilder()
-                .setId(nodeId)
-                .setKey(nodeKey)
-                .build();
-
-        return node;
-    }
-
-    public static org.opendaylight.controller.sal.core.Node getSalNode (Node mdsalNode) {
-        String identifier = NodeUtils.getId(mdsalNode.getId().getValue());
-        org.opendaylight.controller.sal.core.Node node = null;
-
-        try {
-            node = new org.opendaylight.controller.sal.core.Node("OVS", identifier);
-        } catch (ConstructionException e) {
-            LOG.error("Failed to allocate sal Node", e);
-        }
-
-        return node;
-    }
-
-    public static List<org.opendaylight.controller.sal.core.Node> getSalNodes (List<Node> mdsalNodes) {
-        List<org.opendaylight.controller.sal.core.Node> nodes = new ArrayList<>();
-
-        for (Node mdsalNode : mdsalNodes) {
-            nodes.add(NodeUtils.getSalNode(mdsalNode));
-        }
-        return nodes;
-    }
-}
diff --git a/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/OvsdbConfigurationService.java b/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/OvsdbConfigurationService.java
deleted file mode 100644 (file)
index 66127c5..0000000
+++ /dev/null
@@ -1,288 +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.compatibility.plugin.api;
-
-import java.util.List;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ExecutionException;
-
-import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.controller.sal.utils.Status;
-import org.opendaylight.ovsdb.compatibility.plugin.error.OvsdbPluginException;
-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.lib.schema.typed.TypedBaseTable;
-
-public interface OvsdbConfigurationService {
-
-    /**
-     * @deprecated This version of insertRow is a short-term replacement for the older and now deprecated method of the same name.
-     * This API assumes an Open_vSwitch database Schema.
-     *
-     * This API is replaced by
-     * {@link #insertRow(Node, String, String, UUID, Row) insertRow} and
-     * {@link #insertTree(Node, String, String, UUID, Row) insertTree}
-     *
-     * @param node OVSDB Node
-     * @param tableName Table on which the row is inserted
-     * @param parentUuid UUID of the parent table to which this operation will result in attaching/mutating.
-     * @param row Row of table Content to be inserted
-     * @return UUID of the inserted Row
-     */
-    @Deprecated
-    StatusWithUuid insertRow(Node node, String tableName, String parentUuid, Row<GenericTableSchema> row);
-
-    /**
-     * insert a Row in a Table of a specified Database Schema. This is a convenience method on top of
-     * {@link #insertRow(Node, String, String, String, UUID, String, Row) insertRow}
-     * which assumes that OVSDB schema implementation that corresponds to the databaseName will provide
-     * the necessary service to populate the Parent Table Name and Parent Column Name.
-     *
-     * This method can insert just a single Row specified in the row parameter.
-     * But {@link #insertTree(Node, String, String, UUID, Row) insertTree}
-     * can insert a hierarchy of rows with parent-child relationship.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is inserted
-     * @param parentRowUuid UUID of the parent table to which this operation will result in attaching/mutating.
-     * @param row Row of table Content to be inserted
-     * @throws OvsdbPluginException Any failure during the insert transaction will result in a specific exception.
-     * @return UUID of the inserted Row
-     */
-    UUID insertRow(Node node, String databaseName, String tableName, UUID parentRowUuid,
-                   Row<GenericTableSchema> row) throws OvsdbPluginException;
-
-    /**
-     * insert a Row in a Table of a specified Database Schema.
-     *
-     * This method can insert just a single Row specified in the row parameter.
-     * But {@link #insertTree(Node, String, String, UUID, Row) insertTree}
-     * can insert a hierarchy of rows with parent-child relationship.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is inserted
-     * @param parentTable Name of the Parent Table to which this operation will result in attaching/mutating.
-     * @param parentRowUuid UUID of a Row in parent table to which this operation will result in attaching/mutating.
-     * @param parentColumn Name of the Column in the Parent Table to be mutated with the UUID that results from the insert operation.
-     * @param row Row of table Content to be inserted
-     * @throws OvsdbPluginException Any failure during the insert transaction will result in a specific exception.
-     * @return UUID of the inserted Row
-     */
-    UUID insertRow(Node node, String databaseName, String tableName, String parentTable, UUID parentRowUuid,
-                   String parentColumn, Row<GenericTableSchema> row) throws OvsdbPluginException;
-
-    /**
-     * inserts a Tree of Rows in multiple Tables that has parent-child relationships referenced through the OVSDB schema's refTable construct.
-     * This is a convenience method on top of {@link #insertTree(Node, String, String, String, UUID, String, Row) insertTree}
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is inserted
-     * @param parentRowUuid UUID of a Row in parent table to which this operation will result in attaching/mutating.
-     * @param row Row Tree with parent-child relationships via column of type refTable.
-     * @throws OvsdbPluginException Any failure during the insert transaction will result in a specific exception.
-     * @return Returns the row tree with the UUID of every inserted Row populated in the _uuid column of every row in the tree
-     */
-    Row<GenericTableSchema> insertTree(Node node, String databaseName, String tableName, UUID parentRowUuid,
-                                       Row<GenericTableSchema> row) throws OvsdbPluginException;
-
-    /**
-     * inserts a Tree of Rows in multiple Tables that has parent-child relationships referenced through the OVSDB schema's refTable construct
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is inserted
-     * @param parentTable Name of the Parent Table to which this operation will result in attaching/mutating.
-     * @param parentRowUuid UUID of a Row in parent table to which this operation will result in attaching/mutating.
-     * @param parentColumn Name of the Column in the Parent Table to be mutated with the UUID that results from the insert operation.
-     * @param row Row Tree with parent-child relationships via column of type refTable.
-     * @throws OvsdbPluginException Any failure during the insert transaction will result in a specific exception.
-     * @return Returns the row tree with the UUID of every inserted Row populated in the _uuid column of every row in the tree
-     */
-    Row<GenericTableSchema> insertTree(Node node, String databaseName, String tableName, String parentTable, UUID parentRowUuid,
-                                       String parentColumn, Row<GenericTableSchema> row) throws OvsdbPluginException;
-
-    /**
-     * @deprecated This version of updateRow is a short-term replacement for the older and now deprecated method of the same name.
-     * This API assumes an Open_vSwitch database Schema.
-     *
-     * This API is replaced by
-     * {@link #updateRow(Node, String, String, UUID, Row, boolean) updateRow}
-     *
-     * @param node OVSDB Node
-     * @param tableName Table on which the row is Updated
-     * @param parentUuid UUID of the parent row on which this operation might result in mutating.
-     * @param rowUuid UUID of the row that is being updated
-     * @param row Row of table Content to be Updated. Include just those columns that needs to be updated.
-     */
-    @Deprecated
-    Status updateRow(Node node, String tableName, String parentUuid, String rowUuid, Row row);
-
-    /**
-     * update or mutate a Row in a Table of a specified Database Schema.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is updated
-     * @param rowUuid UUID of the row being updated
-     * @param row Row of table Content to be updated
-     * @param overwrite true will overwrite/replace the existing row (matching the rowUuid) with the passed row object.
-     *                  false will update the existing row (matching the rowUuid) using only the columns in the passed row object.
-     * @throws OvsdbPluginException Any failure during the update operation will result in a specific exception.
-     * @return Returns the entire Row after the update operation.
-     */
-    Row<GenericTableSchema> updateRow(Node node, String databaseName, String tableName, UUID rowUuid,
-                                      Row<GenericTableSchema> row, boolean overwrite) throws OvsdbPluginException;
-
-    /**
-     * @deprecated This version of deleteRow is a short-term replacement for the older and now deprecated method of the same name.
-     * This API assumes an Open_vSwitch database Schema.
-     *
-     * This API is replaced by {@link #deleteRow(Node, String, String, UUID) deleteRow}
-     *
-     * @param node OVSDB Node
-     * @param tableName Table on which the row is Updated
-     * @param rowUuid UUID of the row that is being deleted
-     */
-    @Deprecated
-    Status deleteRow(Node node, String tableName, String rowUuid);
-
-    /**
-     * update or mutate a Row in a Table of a specified Database Schema.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is Updated
-     * @param rowUuid UUID of the row that is being deleted
-     * @throws OvsdbPluginException Any failure during the delete operation will result in a specific exception.
-     */
-
-    void deleteRow(Node node, String databaseName, String tableName, UUID rowUuid) throws OvsdbPluginException;
-
-    /**
-     * update or mutate a Row in a Table of a specified Database Schema.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is Updated
-     * @param parentTable Name of the Parent Table to which this operation will result in mutating.
-     * @param parentColumn Name of the Column in the Parent Table to be mutated.
-     * @param rowUuid UUID of the row that is being deleted
-     * @throws OvsdbPluginException Any failure during the delete operation will result in a specific exception.
-     */
-
-    void deleteRow(Node node, String databaseName, String tableName, String parentTable,
-                   UUID parentRowUuid, String parentColumn, UUID rowUuid) throws OvsdbPluginException;
-
-    /**
-     * @deprecated This version of getRow is a short-term replacement for the older and now deprecated method of the same name.
-     * This API assumes an Open_vSwitch database Schema.
-     *
-     * This API is replaced by {@link #getRow(Node, String, String, UUID) getRow}
-     *
-     * @param node OVSDB Node
-     * @param tableName Table Name
-     * @param uuid UUID of the row being queried
-     * @return a row with a list of Column data that corresponds to an unique Row-identifier called uuid in a given table.
-     */
-    @Deprecated
-    Row getRow(Node node, String tableName, String uuid);
-
-    /**
-     * Returns a Row from a table for the specified uuid.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table Name
-     * @param uuid UUID of the row being queried
-     * @throws OvsdbPluginException Any failure during the get operation will result in a specific exception.
-     * @return a row with a list of Column data that corresponds to an unique Row-identifier called uuid in a given table.
-     */
-    Row<GenericTableSchema> getRow(Node node, String databaseName, String tableName, UUID uuid) throws OvsdbPluginException;
-
-    /**
-     * @deprecated This version of getRows is a short-term replacement for the older and now deprecated method of the same name.
-     * This API assumes an Open_vSwitch database Schema.
-     *
-     * This API is replaced by
-     * {@link #getRows(Node, String, String) getRows} and {@link #getRows(Node, String, String, String) getRows}
-     *
-     * @param node OVSDB Node
-     * @param tableName Table Name
-     * @return List of rows that makes the entire Table.
-     */
-    @Deprecated
-    ConcurrentMap<String, Row> getRows(Node node, String tableName);
-
-    /**
-     * Returns all rows of a table.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table Name
-     * @throws OvsdbPluginException Any failure during the get operation will result in a specific exception.
-     * @return Map of rows to its UUID that makes the entire Table.
-     */
-    ConcurrentMap<UUID, Row<GenericTableSchema>> getRows(Node node, String databaseName, String tableName) throws OvsdbPluginException;
-
-    /**
-     * Returns all rows of a table filtered by query string.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table Name
-     * @param fiqlQuery FIQL style String Query <a href="http://tools.ietf.org/html/draft-nottingham-atompub-fiql-00">draft-nottingham-atompub-fiql</a> to filter rows
-     * @throws OvsdbPluginException Any failure during the get operation will result in a specific exception.
-     * @return Map of rows to its UUID that makes the entire Table.
-     */
-    ConcurrentMap<UUID, Row<GenericTableSchema>> getRows(Node node, String databaseName, String tableName, String fiqlQuery) throws OvsdbPluginException;
-
-    /**
-     * @deprecated Returns all the Tables in a given Ndoe.
-     * This API assumes an Open_vSwitch database Schema.
-     *
-     * This API is replaced by
-     * {@link #getTables(Node, String) getTables}
-     * @param node OVSDB node
-     * @return List of Table Names that make up Open_vSwitch schema.
-     */
-    @Deprecated
-    List<String> getTables(Node node);
-
-    /**
-     * Returns all the Tables in a given Node.
-     *
-     * @param node OVSDB node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @throws OvsdbPluginException Any failure during the get operation will result in a specific exception.
-     * @return List of Table Names that make up the schema represented by the databaseName
-     */
-    List<String> getTables(Node node, String databaseName) throws OvsdbPluginException;
-
-    /**
-     * setOFController is a convenience method used by existing applications to setup Openflow Controller on
-     * a Open_vSwitch Bridge.
-     * This API assumes an Open_vSwitch database Schema.
-     *
-     * @param node Node
-     * @param bridgeUUID uuid of the Bridge for which the ip-address of Openflow Controller should be programmed.
-     * @return Boolean representing success or failure of the operation.
-     *
-     * @throws InterruptedException
-     * @throws ExecutionException
-     */
-    Boolean setOFController(Node node, String bridgeUUID) throws InterruptedException, ExecutionException;
-
-    <T extends TypedBaseTable<?>> String getTableName(Node node, Class<T> typedClass);
-    <T extends TypedBaseTable<?>> T getTypedRow(Node node, Class<T> typedClass, Row row);
-    <T extends TypedBaseTable<?>> T createTypedRow(Node node, Class<T> typedClass);
-}
diff --git a/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/OvsdbConnectionService.java b/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/OvsdbConnectionService.java
deleted file mode 100644 (file)
index b49eab6..0000000
+++ /dev/null
@@ -1,23 +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.compatibility.plugin.api;
-
-import java.util.List;
-import java.util.Map;
-
-import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.ovsdb.plugin.api.Connection;
-import org.opendaylight.ovsdb.plugin.api.ConnectionConstants;
-
-public interface OvsdbConnectionService {
-    Connection getConnection(Node node);
-    List<Node> getNodes();
-    Node getNode(String identifier);
-    Node connect(String identifier, Map<ConnectionConstants, String> params);
-}
diff --git a/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/OvsdbInventoryListener.java b/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/OvsdbInventoryListener.java
deleted file mode 100644 (file)
index c14c679..0000000
+++ /dev/null
@@ -1,22 +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.compatibility.plugin.api;
-
-import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.ovsdb.lib.notation.Row;
-
-import java.net.InetAddress;
-
-public interface OvsdbInventoryListener {
-    void nodeAdded(Node node, InetAddress address, int port);
-    void nodeRemoved(Node node);
-    void rowAdded(Node node, String tableName, String uuid, Row row);
-    void rowUpdated(Node node, String tableName, String uuid, Row old, Row row);
-    void rowRemoved(Node node, String tableName, String uuid, Row row, Object context);
-}
diff --git a/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/OvsdbInventoryService.java b/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/OvsdbInventoryService.java
deleted file mode 100644 (file)
index 7b152e8..0000000
+++ /dev/null
@@ -1,33 +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.compatibility.plugin.api;
-
-import java.net.InetAddress;
-import java.util.Set;
-import java.util.concurrent.ConcurrentMap;
-
-import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.controller.sal.core.Property;
-import org.opendaylight.controller.sal.core.UpdateType;
-import org.opendaylight.ovsdb.lib.message.TableUpdates;
-import org.opendaylight.ovsdb.lib.notation.Row;
-
-public interface OvsdbInventoryService{
-    ConcurrentMap<String, ConcurrentMap<String, Row>> getCache(Node n, String databaseName);
-    ConcurrentMap<String, Row> getTableCache(Node n, String databaseName, String tableName);
-    Row getRow(Node n, String databaseName, String tableName, String uuid);
-    void updateRow(Node n, String databaseName, String tableName, String uuid, Row row);
-    void removeRow(Node n, String databaseName, String tableName, String uuid);
-    void processTableUpdates(Node n, String databaseName, TableUpdates tableUpdates);
-    void printCache(Node n);
-    void addNode(Node n, Set<Property> props);
-    void notifyNodeAdded(Node n, InetAddress address, int port);
-    void removeNode(Node n);
-    void addNodeProperty(Node node, UpdateType type, Set<Property> props);
-}
\ No newline at end of file
diff --git a/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/StatusWithUuid.java b/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/api/StatusWithUuid.java
deleted file mode 100644 (file)
index 4abef02..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 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.compatibility.plugin.api;
-
-import org.opendaylight.controller.sal.utils.Status;
-import org.opendaylight.controller.sal.utils.StatusCode;
-import org.opendaylight.ovsdb.lib.notation.UUID;
-
-/**
- * Extends the Status class to allow functions to return a uuid
- */
-public class StatusWithUuid extends Status {
-    private static final long serialVersionUID = -5413085099514964003L;
-    private UUID uuid;
-
-    public StatusWithUuid(StatusCode errorCode) {
-        super(errorCode);
-    }
-
-    public StatusWithUuid(StatusCode errorCode, String description) {
-        super(errorCode, description);
-    }
-
-    public StatusWithUuid(StatusCode errorCode, long requestId) {
-        super(errorCode, requestId);
-    }
-
-    public StatusWithUuid(StatusCode errorCode, UUID uuid) {
-        super(errorCode);
-        this.uuid = uuid;
-    }
-
-    public UUID getUuid() {
-        return uuid;
-    }
-
-}
diff --git a/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/error/OvsdbPluginException.java b/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/error/OvsdbPluginException.java
deleted file mode 100644 (file)
index 198e157..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright (c) 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.compatibility.plugin.error;
-
-public class OvsdbPluginException extends RuntimeException {
-    public OvsdbPluginException(String message){
-        super(message);
-    }
-
-    public OvsdbPluginException(String message, Throwable cause){
-        super(message, cause);
-    }
-}
diff --git a/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/impl/ConfigurationServiceImpl.java b/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/impl/ConfigurationServiceImpl.java
deleted file mode 100644 (file)
index a4148cb..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Copyright (c) 2015 Brocade Communications Systems, 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.compatibility.plugin.impl;
-
-import java.util.List;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ExecutionException;
-
-import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.controller.sal.utils.Status;
-import org.opendaylight.ovsdb.compatibility.plugin.api.NodeUtils;
-import org.opendaylight.ovsdb.compatibility.plugin.api.OvsdbConfigurationService;
-import org.opendaylight.ovsdb.compatibility.plugin.api.StatusWithUuid;
-import org.opendaylight.ovsdb.compatibility.plugin.error.OvsdbPluginException;
-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.lib.schema.typed.TypedBaseTable;
-
-/**
- * This is a proxy class for ovsdb plugin's OvsdbConfigurationService class
- * It just forward the call to OvsdbConfigurationService instance and pass
- * back the response to the caller.
- *
- * @author Anil Vishnoi (vishnoianil@gmail.com)
- *
- */
-public class ConfigurationServiceImpl implements OvsdbConfigurationService
-{
-    private volatile org.opendaylight.ovsdb.plugin.api.OvsdbConfigurationService pluginOvsdbConfigurationService;
-
-    void init() {
-    }
-
-    /**
-     * Function called by the dependency manager when at least one dependency
-     * become unsatisfied or when the component is shutting down because for
-     * example bundle is being stopped.
-     *
-     */
-    void destroy() {
-    }
-
-    /**
-     * Function called by dependency manager after "init ()" is called and after
-     * the services provided by the class are registered in the service registry
-     *
-     */
-    void start() {
-    }
-
-    /**
-     * Function called by the dependency manager before the services exported by
-     * the component are unregistered, this will be followed by a "destroy ()"
-     * calls
-     *
-     */
-    void stop() {
-    }
-
-    public void setOvsdbConfigurationService(org.opendaylight.ovsdb.plugin.api.OvsdbConfigurationService pluginOvsdbConfigurationService){
-        this.pluginOvsdbConfigurationService = pluginOvsdbConfigurationService;
-    }
-
-    public void unsetOvsdbConfigurationService(org.opendaylight.ovsdb.plugin.api.OvsdbConfigurationService pluginOvsdbConfigurationService){
-        this.pluginOvsdbConfigurationService = null;
-    }
-
-
-    @Override
-    public StatusWithUuid insertRow(Node node, String tableName, String parentUuid, Row<GenericTableSchema> row) {
-        return StatusConvertorUtil.convertOvsdbStatusWithUuidToCompLayerStatusWithUuid(pluginOvsdbConfigurationService.insertRow(NodeUtils.getMdsalNode(node), tableName, parentUuid, row));
-    }
-
-    @Override
-    public Status updateRow (Node node, String tableName, String parentUUID, String rowUUID, Row row) {
-        return StatusConvertorUtil
-                .convertOvsdbStatusToSalStatus(pluginOvsdbConfigurationService
-                        .updateRow(NodeUtils.getMdsalNode(node), tableName, parentUUID, rowUUID, row));
-    }
-
-    @Override
-    public Status deleteRow(Node node, String tableName, String uuid) {
-        return StatusConvertorUtil
-                .convertOvsdbStatusToSalStatus(pluginOvsdbConfigurationService.
-                        deleteRow(NodeUtils.getMdsalNode(node), tableName, uuid));
-    }
-
-    @Override
-    public ConcurrentMap<String, Row> getRows(Node node, String tableName) {
-        return pluginOvsdbConfigurationService.getRows(NodeUtils.getMdsalNode(node), tableName);
-    }
-
-    @Override
-    public Row getRow(Node node, String tableName, String uuid) {
-        return pluginOvsdbConfigurationService.getRow(NodeUtils.getMdsalNode(node), tableName, uuid);
-    }
-
-    @Override
-    public List<String> getTables(Node node) {
-        return pluginOvsdbConfigurationService.getTables(NodeUtils.getMdsalNode(node));
-    }
-
-    @Override
-    public Boolean setOFController(Node node, String bridgeUUID) throws InterruptedException, ExecutionException {
-        return pluginOvsdbConfigurationService.setOFController(NodeUtils.getMdsalNode(node), bridgeUUID);
-    }
-
-    @Override
-    public <T extends TypedBaseTable<?>> String getTableName(Node node, Class<T> typedClass) {
-        return pluginOvsdbConfigurationService.getTableName(NodeUtils.getMdsalNode(node), typedClass);
-    }
-
-    @Override
-    public <T extends TypedBaseTable<?>> T getTypedRow(Node node, Class<T> typedClass, Row row) {
-        return pluginOvsdbConfigurationService.getTypedRow(NodeUtils.getMdsalNode(node), typedClass, row);
-    }
-
-    @Override
-    public <T extends TypedBaseTable<?>> T createTypedRow(Node node, Class<T> typedClass) {
-        return pluginOvsdbConfigurationService.createTypedRow(NodeUtils.getMdsalNode(node), typedClass);
-    }
-
-    @Override
-    public UUID insertRow(Node node, String databaseName, String tableName, String parentTable, UUID parentUuid,
-                          String parentColumn, Row<GenericTableSchema> row) throws OvsdbPluginException {
-        return pluginOvsdbConfigurationService
-                .insertRow(NodeUtils.getMdsalNode(node), databaseName, tableName, parentTable, parentUuid,
-                        parentColumn, row);
-    }
-
-    @Override
-    public UUID insertRow(Node node, String databaseName, String tableName,
-            UUID parentRowUuid, Row<GenericTableSchema> row)
-            throws OvsdbPluginException {
-        return this.insertRow(node, databaseName, tableName, null, parentRowUuid, null, row);
-    }
-
-    @Override
-    public Row<GenericTableSchema> insertTree(Node node, String databaseName, String tableName, String parentTable, UUID parentUuid,
-                                              String parentColumn, Row<GenericTableSchema> row) throws OvsdbPluginException {
-        return pluginOvsdbConfigurationService
-                .insertTree(NodeUtils.getMdsalNode(node), databaseName, tableName, parentTable,
-                        parentUuid, parentColumn, row);
-    }
-
-    @Override
-    public Row<GenericTableSchema> insertTree(Node node, String databaseName,
-            String tableName, UUID parentRowUuid, Row<GenericTableSchema> row)
-            throws OvsdbPluginException {
-        return this.insertTree(node, databaseName, tableName, null, parentRowUuid, null, row);
-    }
-
-    @Override
-    public Row<GenericTableSchema> updateRow(Node node, String databaseName,
-            String tableName, UUID rowUuid, Row<GenericTableSchema> row,
-            boolean overwrite) throws OvsdbPluginException {
-        return pluginOvsdbConfigurationService
-                .updateRow(NodeUtils.getMdsalNode(node), databaseName, tableName, rowUuid, row, overwrite);
-    }
-
-    @Override
-    public void deleteRow(Node node, String databaseName, String tableName, String parentTable, UUID parentRowUuid,
-            String parentColumn, UUID rowUuid) throws OvsdbPluginException {
-        pluginOvsdbConfigurationService
-                .deleteRow(NodeUtils.getMdsalNode(node), databaseName, tableName, parentTable,
-                        parentRowUuid, parentColumn, rowUuid);
-    }
-
-    @Override
-    public void deleteRow(Node node, String databaseName, String tableName, UUID rowUuid) throws OvsdbPluginException {
-        this.deleteRow(node, databaseName, tableName, null, null, null, rowUuid);
-    }
-
-    @Override
-    public Row<GenericTableSchema> getRow(Node node, String databaseName,
-            String tableName, UUID uuid) throws OvsdbPluginException {
-        return pluginOvsdbConfigurationService
-                .getRow(NodeUtils.getMdsalNode(node), databaseName, tableName, uuid);
-    }
-
-    @Override
-    public ConcurrentMap<UUID, Row<GenericTableSchema>> getRows(Node node,
-            String databaseName, String tableName) throws OvsdbPluginException {
-        return pluginOvsdbConfigurationService
-                .getRows(NodeUtils.getMdsalNode(node), databaseName, tableName);
-    }
-
-    @Override
-    public ConcurrentMap<UUID, Row<GenericTableSchema>> getRows(Node node,
-            String databaseName, String tableName, String fiqlQuery)
-            throws OvsdbPluginException {
-        return this.getRows(node, databaseName, tableName);
-    }
-
-    @Override
-    public List<String> getTables(Node node, String databaseName) throws OvsdbPluginException {
-        return pluginOvsdbConfigurationService.getTables(NodeUtils.getMdsalNode(node), databaseName);
-    }
-}
diff --git a/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/impl/ConnectionServiceImpl.java b/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/impl/ConnectionServiceImpl.java
deleted file mode 100644 (file)
index 33b9551..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2015 Brocade Communications Systems, 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.compatibility.plugin.impl;
-
-import java.util.List;
-import java.util.Map;
-
-import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.ovsdb.compatibility.plugin.api.NodeUtils;
-import org.opendaylight.ovsdb.compatibility.plugin.api.OvsdbConnectionService;
-import org.opendaylight.ovsdb.plugin.api.Connection;
-import org.opendaylight.ovsdb.plugin.api.ConnectionConstants;
-
-/**
- * This is a proxy class for ovsdb plugin's OvsdbConnectionService class
- * It just forward the call to OvsdbConnectionService instance and pass
- * back the response to the caller.
- *
- * @author Anil Vishnoi (vishnoianil@gmail.com)
- *
- */
-public class ConnectionServiceImpl implements OvsdbConnectionService{
-
-    private volatile org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService pluginOvsdbConnectionService;
-
-    public void init() {
-    }
-
-    /**
-     * Function called by the dependency manager when at least one dependency
-     * become unsatisfied or when the component is shutting down because for
-     * example bundle is being stopped.
-     */
-    void destroy() {
-    }
-
-    /**
-     * Function called by dependency manager after "init ()" is called and after
-     * the services provided by the class are registered in the service registry
-     */
-    void start() {
-    }
-
-    /**
-     * Function called by the dependency manager before the services exported by
-     * the component are unregistered, this will be followed by a "destroy ()"
-     * calls
-     */
-    void stopping() {
-    }
-
-    public void setOvsdbConnectionService(org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService pluginOvsdbConnectionService){
-        this.pluginOvsdbConnectionService = pluginOvsdbConnectionService;
-    }
-
-    public void unsetOvsdbConnectionService(org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService pluginOvsdbConnectionService){
-        this.pluginOvsdbConnectionService = null;
-    }
-
-    @Override
-    public Connection getConnection(Node node) {
-        return pluginOvsdbConnectionService.getConnection(NodeUtils.getMdsalNode(node));
-    }
-
-    @Override
-    public Node getNode (String identifier) {
-        return NodeUtils.getSalNode(pluginOvsdbConnectionService.getNode(identifier));
-    }
-
-    @Override
-    public List<Node> getNodes() {
-        return NodeUtils.getSalNodes(pluginOvsdbConnectionService.getNodes());
-    }
-
-    @Override
-    public Node connect(String identifier, Map<ConnectionConstants, String> params) {
-        return NodeUtils.getSalNode(pluginOvsdbConnectionService.connect(identifier, params));
-    }
-
-}
diff --git a/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/impl/InventoryServiceImpl.java b/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/impl/InventoryServiceImpl.java
deleted file mode 100644 (file)
index c694380..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright (c) 2015 Brocade Communications Systems, 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.compatibility.plugin.impl;
-
-import java.net.InetAddress;
-import java.util.Set;
-import java.util.concurrent.ConcurrentMap;
-
-import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.controller.sal.core.Property;
-import org.opendaylight.controller.sal.core.UpdateType;
-import org.opendaylight.ovsdb.compatibility.plugin.api.NodeUtils;
-import org.opendaylight.ovsdb.compatibility.plugin.api.OvsdbInventoryListener;
-import org.opendaylight.ovsdb.compatibility.plugin.api.OvsdbInventoryService;
-import org.opendaylight.ovsdb.lib.message.TableUpdates;
-import org.opendaylight.ovsdb.lib.notation.Row;
-
-import com.google.common.collect.Sets;
-
-/**
- * This is a proxy class for ovsdb plugin's OvsdbInventoryService class
- * It just forward the call to OvsdbInventoryService instance and pass
- * back the response to the caller.
- * It also register as a listener to ovsdb plugin and relay the notification
- * back to all the subscriber of this compatibility layer.
- *
- * @author Anil Vishnoi (vishnoianil@gmail.com)
- *
- */
-public class InventoryServiceImpl implements OvsdbInventoryService,
-        org.opendaylight.ovsdb.plugin.api.OvsdbInventoryListener {
-    private volatile org.opendaylight.ovsdb.plugin.api.OvsdbInventoryService pluginOvsdbInventoryService;
-
-    private Set<OvsdbInventoryListener> ovsdbInventoryListeners = Sets.newCopyOnWriteArraySet();
-
-
-    /**
-     * Function called by the dependency manager when all the required
-     * dependencies are satisfied
-     *
-     */
-    public void init() {
-    }
-
-    /**
-     * Function called by the dependency manager when at least one dependency
-     * become unsatisfied or when the component is shutting down because for
-     * example bundle is being stopped.
-     *
-     */
-    public void destroy() {
-    }
-
-    /**
-     * Function called by dependency manager after "init ()" is called and after
-     * the services provided by the class are registered in the service registry
-     *
-     */
-    public void start() {
-    }
-
-    /**
-     * Function called by the dependency manager before the services exported by
-     * the component are unregistered, this will be followed by a "destroy ()"
-     * calls
-     *
-     */
-    public void stop() {
-    }
-
-    public void setOvsdbInventoryService(org.opendaylight.ovsdb.plugin.api.OvsdbInventoryService pluginOvsdbInventoryService){
-        this.pluginOvsdbInventoryService = pluginOvsdbInventoryService;
-    }
-
-    public void unsetOvsdbInventoryService(org.opendaylight.ovsdb.plugin.api.OvsdbInventoryService pluginOvsdbInventoryService){
-        this.pluginOvsdbInventoryService = pluginOvsdbInventoryService;
-    }
-
-    //Register listener for ovsdb.compatibility
-    public void addOvsdbInventoryListener(OvsdbInventoryListener pluginOvsdbInventoryListener){
-        this.ovsdbInventoryListeners.add(pluginOvsdbInventoryListener);
-    }
-
-    public void removeOvsdbInventoryListener(OvsdbInventoryListener pluginOvsdbInventoryListener){
-        if(this.ovsdbInventoryListeners.contains(ovsdbInventoryListeners)) {
-            this.ovsdbInventoryListeners.remove(ovsdbInventoryListeners);
-        }
-    }
-
-    @Override
-    public ConcurrentMap<String, ConcurrentMap<String, Row>> getCache(Node n, String databaseName) {
-        return pluginOvsdbInventoryService.getCache(NodeUtils.getMdsalNode(n), databaseName);
-    }
-
-
-    @Override
-    public ConcurrentMap<String, Row> getTableCache(Node n, String databaseName, String tableName) {
-        return pluginOvsdbInventoryService.getTableCache(NodeUtils.getMdsalNode(n), databaseName, tableName);
-    }
-
-
-    @Override
-    public Row getRow(Node n, String databaseName, String tableName, String uuid) {
-        return pluginOvsdbInventoryService.getRow(NodeUtils.getMdsalNode(n), databaseName, tableName, uuid);
-    }
-
-    @Override
-    public void updateRow(Node n, String databaseName, String tableName, String uuid, Row row) {
-        pluginOvsdbInventoryService.updateRow(NodeUtils.getMdsalNode(n), databaseName, tableName, uuid, row);
-    }
-
-    @Override
-    public void removeRow(Node n, String databaseName, String tableName, String uuid) {
-        pluginOvsdbInventoryService.removeRow(NodeUtils.getMdsalNode(n), databaseName, tableName, uuid);
-    }
-
-    @Override
-    public void processTableUpdates(Node n, String databaseName, TableUpdates tableUpdates) {
-        pluginOvsdbInventoryService.processTableUpdates(NodeUtils.getMdsalNode(n), databaseName, tableUpdates);
-    }
-
-    @Override
-    public void printCache(Node n) {
-        pluginOvsdbInventoryService.printCache(NodeUtils.getMdsalNode(n));
-    }
-
-    @Override
-    public void addNode(Node node, Set<Property> props) {
-    }
-
-    @Override
-    public void notifyNodeAdded(Node node, InetAddress address, int port) {
-        pluginOvsdbInventoryService.notifyNodeAdded(NodeUtils.getMdsalNode(node), address, port);
-    }
-
-    @Override
-    public void addNodeProperty(Node node, UpdateType type, Set<Property> props) {
-    }
-
-    @Override
-    public void removeNode(Node node) {
-        pluginOvsdbInventoryService.removeNode(NodeUtils.getMdsalNode(node));
-    }
-
-    @Override
-    public void nodeAdded(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node node,
-                          InetAddress address, int port) {
-        for(OvsdbInventoryListener listener : this.ovsdbInventoryListeners) {
-            listener.nodeAdded(NodeUtils.getSalNode(node), address, port);
-        }
-
-    }
-
-    @Override
-    public void nodeRemoved(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node node) {
-        for(OvsdbInventoryListener listener : this.ovsdbInventoryListeners) {
-            listener.nodeRemoved(NodeUtils.getSalNode(node));
-        }
-
-    }
-
-    @Override
-    public void rowAdded(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node node,
-                         String tableName, String uuid, Row row) {
-        for(OvsdbInventoryListener listener : this.ovsdbInventoryListeners) {
-            listener.rowAdded(NodeUtils.getSalNode(node), tableName, uuid, row);
-        }
-
-    }
-
-    @Override
-    public void rowUpdated(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node node,
-                           String tableName, String uuid, Row old,
-            Row row) {
-        for(OvsdbInventoryListener listener : this.ovsdbInventoryListeners) {
-            listener.rowUpdated(NodeUtils.getSalNode(node), tableName, uuid, old, row);
-        }
-
-    }
-
-    @Override
-    public void rowRemoved(org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node node,
-                           String tableName, String uuid, Row row,
-            Object context) {
-        for(OvsdbInventoryListener listener : this.ovsdbInventoryListeners) {
-            listener.rowRemoved(NodeUtils.getSalNode(node), tableName, uuid, row, context);
-        }
-    }
-}
diff --git a/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/impl/StatusConvertorUtil.java b/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/impl/StatusConvertorUtil.java
deleted file mode 100644 (file)
index 9fd015c..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2015 Brocade Communications Systems, 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.compatibility.plugin.impl;
-
-import org.opendaylight.controller.sal.utils.Status;
-import org.opendaylight.controller.sal.utils.StatusCode;
-import org.opendaylight.ovsdb.compatibility.plugin.api.StatusWithUuid;
-
-/**
- * Class providers convenience methods for converting *.plugin.api.Status object to *.sal.utils.Status object.
- *
- * @author Anil Vishnoi ( vishnoianil@gmail.com)
- *
- */
-public class StatusConvertorUtil {
-
-    public static StatusWithUuid convertOvsdbStatusWithUuidToCompLayerStatusWithUuid(org.opendaylight.ovsdb.plugin.api.StatusWithUuid statusWithUuid){
-        if(statusWithUuid.getUuid() != null){
-            return new StatusWithUuid(convertOvsdbStatusCodeToSalStatusCode(statusWithUuid.getCode()),statusWithUuid.getUuid());
-        }else if(statusWithUuid.getRequestId() != 0){
-            return new StatusWithUuid(convertOvsdbStatusCodeToSalStatusCode(statusWithUuid.getCode()),statusWithUuid.getRequestId());
-        }else{
-            return new StatusWithUuid(convertOvsdbStatusCodeToSalStatusCode(statusWithUuid.getCode()),statusWithUuid.getDescription());
-        }
-
-    }
-
-    public static Status convertOvsdbStatusToSalStatus(org.opendaylight.ovsdb.plugin.api.Status status){
-        if(status.getRequestId() != 0){
-            return new org.opendaylight.controller.sal.utils.Status(convertOvsdbStatusCodeToSalStatusCode(status.getCode()),status.getRequestId());
-        }else{
-            return new org.opendaylight.controller.sal.utils.Status(convertOvsdbStatusCodeToSalStatusCode(status.getCode()),status.getDescription());
-        }
-    }
-
-    private static StatusCode convertOvsdbStatusCodeToSalStatusCode(org.opendaylight.ovsdb.plugin.api.StatusCode statusCode){
-        switch(statusCode){
-        case SUCCESS:
-            return StatusCode.SUCCESS;
-        case CREATED:
-            return StatusCode.CREATED;
-        case BADREQUEST:
-            return StatusCode.BADREQUEST;
-        case UNAUTHORIZED:
-            return StatusCode.UNAUTHORIZED;
-        case FORBIDDEN:
-            return StatusCode.FORBIDDEN;
-        case NOTFOUND:
-            return StatusCode.NOTFOUND;
-        case NOTALLOWED:
-            return StatusCode.NOTALLOWED;
-        case NOTACCEPTABLE:
-            return StatusCode.NOTACCEPTABLE;
-        case TIMEOUT:
-            return StatusCode.TIMEOUT;
-        case CONFLICT:
-            return StatusCode.CONFLICT;
-        case GONE:
-            return StatusCode.GONE;
-        case UNSUPPORTED:
-            return StatusCode.UNSUPPORTED;
-
-        case INTERNALERROR:
-            return StatusCode.INTERNALERROR;
-        case NOTIMPLEMENTED:
-            return StatusCode.NOTIMPLEMENTED;
-        case NOSERVICE:
-            return StatusCode.NOSERVICE;
-        case UNDEFINED:
-            return StatusCode.UNDEFINED;
-        default:
-            return StatusCode.UNSUPPORTED;
-        }
-    }
-
-}
diff --git a/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/internal/Activator.java b/ovsdb-plugin-compatibility-layer/src/main/java/org/opendaylight/ovsdb/compatibility/plugin/internal/Activator.java
deleted file mode 100644 (file)
index bec2632..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 2015 Brocade Communications Systems, 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.compatibility.plugin.internal;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-
-import org.apache.felix.dm.Component;
-import org.opendaylight.controller.sal.core.ComponentActivatorAbstractBase;
-import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.ovsdb.compatibility.plugin.api.OvsdbConfigurationService;
-import org.opendaylight.ovsdb.compatibility.plugin.api.OvsdbConnectionService;
-import org.opendaylight.ovsdb.compatibility.plugin.api.OvsdbInventoryListener;
-import org.opendaylight.ovsdb.compatibility.plugin.api.OvsdbInventoryService;
-import org.opendaylight.ovsdb.compatibility.plugin.impl.ConfigurationServiceImpl;
-import org.opendaylight.ovsdb.compatibility.plugin.impl.ConnectionServiceImpl;
-import org.opendaylight.ovsdb.compatibility.plugin.impl.InventoryServiceImpl;
-
-/**
- * Activator for ovsdb plugin compatibility layer
- * @author Anil Vishnoi (vishnoianil@gmail.com)
- *
- */
-public class Activator extends ComponentActivatorAbstractBase {
-
-    /**
-     * Function called when the activator starts just after some initializations
-     * are done by the ComponentActivatorAbstractBase.
-     * Here it registers the node Type
-     *
-     */
-    @Override
-    public void init() {
-        Node.NodeIDType.registerIDType("OVS", String.class);
-    }
-
-    /**
-     * Function called when the activator stops just before the cleanup done by
-     * ComponentActivatorAbstractBase
-     *
-     */
-    @Override
-    public void destroy() {
-        Node.NodeIDType.unRegisterIDType("OVS");
-    }
-    @Override
-    public Object[] getGlobalImplementations() {
-        return new Object[]{ ConnectionServiceImpl.class, ConfigurationServiceImpl.class, InventoryServiceImpl.class };
-    }
-
-    @Override
-    public void configureGlobalInstance(Component c, Object imp){
-        if (imp.equals(ConfigurationServiceImpl.class)) {
-            // export the service to be used by SAL
-            Dictionary<String, Object> props = new Hashtable<>();
-            c.setInterface(new String[] { OvsdbConfigurationService.class.getName()}, props);
-            c.add(createServiceDependency()
-                    .setService(org.opendaylight.ovsdb.plugin.api.OvsdbConfigurationService.class)
-                    .setCallbacks("setOvsdbConfigurationService", "unsetOvsdbConfigurationService")
-                    .setRequired(true));
-        }
-
-        if (imp.equals(ConnectionServiceImpl.class)) {
-            // export the service to be used by SAL
-            Dictionary<String, Object> props = new Hashtable<>();
-            c.setInterface(
-                    new String[] {OvsdbConnectionService.class.getName()}, props);
-            c.add(createServiceDependency()
-                    .setService(org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService.class)
-                    .setCallbacks("setOvsdbConnectionService", "unsetOvsdbConnectionService")
-                    .setRequired(true));
-        }
-
-        if (imp.equals(InventoryServiceImpl.class)) {
-            Dictionary<String, Object> props = new Hashtable<>();
-            c.setInterface(
-                    new String[]{OvsdbInventoryService.class.getName(),
-                            org.opendaylight.ovsdb.plugin.api.OvsdbInventoryListener.class.getName()}, props);
-            c.add(createServiceDependency()
-                    .setService(org.opendaylight.ovsdb.plugin.api.OvsdbInventoryService.class)
-                    .setCallbacks("setOvsdbInventoryService", "unsetOvsdbInventoryService")
-                    .setRequired(true));
-            c.add(createServiceDependency()
-                    .setService(OvsdbInventoryListener.class)
-                    .setCallbacks("addOvsdbInventoryListener", "removeOvsdbInventoryListener")
-                    .setRequired(true));
-        }
-
-    }
-}
diff --git a/ovsdb-plugin-compatibility-layer/src/test/java/org/opendaylight/ovsdb/compatibility/plugin/impl/ConnectionServiceImplTest.java b/ovsdb-plugin-compatibility-layer/src/test/java/org/opendaylight/ovsdb/compatibility/plugin/impl/ConnectionServiceImplTest.java
deleted file mode 100644 (file)
index 694d6b3..0000000
+++ /dev/null
@@ -1,83 +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.compatibility.plugin.impl;
-
-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 org.junit.BeforeClass;
-import org.junit.Test;
-import org.opendaylight.controller.sal.core.ConstructionException;
-import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.controller.sal.core.NodeConnector;
-import org.opendaylight.ovsdb.plugin.api.Connection;
-
-public class ConnectionServiceImplTest {
-    private static final String OVS = "OVS";
-    private static final String IDENTIFIER = "192.168.120.31:45001";
-    private static final String OVS_IDENTIFIER = OVS + "|" + IDENTIFIER;
-    private static final String BAD_IDENTIFIER = "BAD" + "|" + IDENTIFIER;
-    private static org.opendaylight.ovsdb.plugin.impl.ConnectionServiceImpl pluginConnectionService;
-    private static ConnectionServiceImpl connectionService;
-
-    @BeforeClass
-    public static void setUp () {
-        Node.NodeIDType.registerIDType(OVS, String.class);
-        NodeConnector.NodeConnectorIDType.registerIDType(OVS, String.class, OVS);
-        pluginConnectionService = new org.opendaylight.ovsdb.plugin.impl.ConnectionServiceImpl();
-        Connection connection = new Connection(IDENTIFIER, null);
-        pluginConnectionService.putOvsdbConnection(IDENTIFIER, connection);
-
-        connectionService = new ConnectionServiceImpl();
-        connectionService.setOvsdbConnectionService(pluginConnectionService);
-    }
-
-    @Test
-    public void testGetNode () {
-        Node node = connectionService.getNode(IDENTIFIER);
-        assertNotNull("Node " + IDENTIFIER + " is null", node);
-
-        node = connectionService.getNode(OVS_IDENTIFIER);
-        assertNotNull("Node " + OVS_IDENTIFIER + " is null", node);
-
-        try {
-            node = connectionService.getNode(BAD_IDENTIFIER);
-            fail("Expected a NullPointerException to be thrown");
-        } catch (NullPointerException e) {
-            assertSame(NullPointerException.class, e.getClass());
-        }
-    }
-
-    @Test
-    public void testGetConnection () {
-        Node node = connectionService.getNode(IDENTIFIER);
-        assertNotNull("Node " + IDENTIFIER + " is null", node);
-
-        Connection connection = connectionService.getConnection(node);
-        assertNotNull("Connection " + IDENTIFIER + " is null", connection);
-
-        try {
-            connection = connectionService.getConnection(null);
-            fail("Expected a NullPointerException to be thrown");
-        } catch (NullPointerException e) {
-            assertSame(NullPointerException.class, e.getClass());
-        }
-
-        try {
-            node = new Node("OVS", BAD_IDENTIFIER);
-        } catch (ConstructionException e) {
-            fail("Exception should not have occurred" + e);
-        }
-        connection = connectionService.getConnection(node);
-        assertNull("Connection " + BAD_IDENTIFIER + " is not null", connection);
-    }
-}
diff --git a/plugin/pom.xml b/plugin/pom.xml
deleted file mode 100755 (executable)
index 027ed1f..0000000
+++ /dev/null
@@ -1,149 +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>plugin</artifactId>
-  <version>1.2.1-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-databind</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>equinoxSDK381</groupId>
-      <artifactId>org.eclipse.osgi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>io.netty</groupId>
-      <artifactId>netty-all</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.dependencymanager</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>library</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>schema.openvswitch</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>utils.config</artifactId>
-      <version>${ovsdb.utils.config.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller.model</groupId>
-      <artifactId>model-inventory</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-simple</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <testResources>
-      <testResource>
-        <filtering>true</filtering>
-        <directory>src/test/resources</directory>
-      </testResource>
-    </testResources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>2.4.0</version>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Embed-Dependency>commons-codec,javax.servlet-api,portlet-api,commons-collections,utils.config;type=!pom;inline=false</Embed-Dependency>
-            <Embed-Transitive>true</Embed-Transitive>
-            <Bundle-Activator>org.opendaylight.ovsdb.plugin.internal.Activator</Bundle-Activator>
-            <Private-Package>
-              org.opendaylight.ovsdb.plugin.impl,
-              org.opendaylight.ovsdb.plugin.internal
-            </Private-Package>
-            <Export-Package>
-              org.opendaylight.ovsdb.plugin,
-              org.opendaylight.ovsdb.plugin.api,
-              org.opendaylight.ovsdb.plugin.error
-            </Export-Package>
-          </instructions>
-          <manifestLocation>${project.basedir}/META-INF</manifestLocation>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-failsafe-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.jacoco</groupId>
-        <artifactId>jacoco-maven-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/plugin/resources/logback.xml b/plugin/resources/logback.xml
deleted file mode 100644 (file)
index 3a78a98..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<configuration>
-
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <!-- encoders are assigned the type
-             ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
-        <encoder>
-            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
-        </encoder>
-    </appender>
-
-    <logger name="org.opendaylight.ovsdb" level="INFO" additivity="false">
-        <appender-ref ref="STDOUT" />
-    </logger>
-
-    <!--<logger name="com.lordofthejars.foo" level="INFO" additivity="false">-->
-        <!--<appender-ref ref="STDOUT" />-->
-    <!--</logger>-->
-
-    <root level="INFO">
-        <appender-ref ref="STDOUT" />
-    </root>
-
-</configuration>
\ No newline at end of file
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/Connection.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/Connection.java
deleted file mode 100644 (file)
index 9b883cf..0000000
+++ /dev/null
@@ -1,103 +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.plugin.api;
-
-import org.opendaylight.ovsdb.lib.OvsdbClient;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
-
-public class Connection {
-    private Node node;
-    private String identifier;
-    private OvsdbClient client;
-
-    public Long getIdCounter() {
-        return idCounter;
-    }
-
-    public void setIdCounter(Long idCounter) {
-        this.idCounter = idCounter;
-    }
-
-    private Long idCounter;
-
-    public Connection(String identifier, OvsdbClient client) {
-        super();
-
-        this.identifier = identifier;
-        this.client = client;
-        this.idCounter = 0L;
-        NodeId nodeId = new NodeId("OVS" + "|" + identifier);
-        NodeKey nodeKey = new NodeKey(nodeId);
-        node = new NodeBuilder()
-                .setId(nodeId)
-                .setKey(nodeKey)
-                .build();
-    }
-
-    public String getIdentifier() {
-        return identifier;
-    }
-
-    public void setIdentifier(String identifier) {
-        this.identifier = identifier;
-    }
-
-    public OvsdbClient getClient() {
-        return this.client;
-    }
-
-    public void setClient(OvsdbClient client) {
-        this.client = client;
-    }
-
-    public Node getNode() {
-        return node;
-    }
-
-    public void setNode(Node node) {
-        this.node = node;
-    }
-
-    public void disconnect() {
-        client.disconnect();
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((identifier == null) ? 0 : identifier.hashCode());
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        Connection other = (Connection) obj;
-        if (identifier == null) {
-            if (other.identifier != null) {
-                return false;
-            }
-        } else if (!identifier.equals(other.identifier)) {
-            return false;
-        }
-        return true;
-    }
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/ConnectionConstants.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/ConnectionConstants.java
deleted file mode 100644 (file)
index b2a33b2..0000000
+++ /dev/null
@@ -1,32 +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.plugin.api;
-
-/**
- * ConnectionConstants
- * Expand this enum as and when needed to support other connection parameters that
- * might be needed for certain protocol plugins.
- */
-public enum ConnectionConstants {
-    ADDRESS("address"),
-    PORT("port"),
-    PROTOCOL("protocol"),
-    USERNAME("username"),
-    PASSWORD("password");
-
-    private ConnectionConstants(String name) {
-        this.name = name;
-    }
-
-    private String name;
-
-    public String toString() {
-        return name;
-    }
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsVswitchdSchemaConstants.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsVswitchdSchemaConstants.java
deleted file mode 100644 (file)
index 7876259..0000000
+++ /dev/null
@@ -1,81 +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.plugin.api;
-
-import org.opendaylight.ovsdb.utils.config.ConfigProperties;
-
-import java.util.Map;
-
-import com.google.common.collect.Maps;
-
-public final class OvsVswitchdSchemaConstants {
-    public static String DATABASE_NAME = "Open_vSwitch";
-
-    private static final String OVSDB_AUTOCONFIGURECONTROLLER = "ovsdb.autoconfigurecontroller";
-    private static final boolean defaultAutoConfigureController = true;
-    private static boolean autoConfigureController = defaultAutoConfigureController;
-
-    private static Map<String, String[]> columnToMutate = Maps.newHashMap();
-    public static String[] getParentColumnToMutate(String childTabletoInsert) {
-        return columnToMutate.get(childTabletoInsert);
-    }
-    private static void addParentColumnToMutate(String childTable, String parentTable, String columnName) {
-        String[] parentColumn = {parentTable, columnName};
-        columnToMutate.put(childTable, parentColumn);
-    }
-
-    static {
-        addParentColumnToMutate("Bridge", "Open_vSwitch", "bridges");
-        addParentColumnToMutate("Port", "Bridge", "ports");
-        addParentColumnToMutate("Interface", "Port", "interfaces");
-        addParentColumnToMutate("SSL", "Open_vSwitch", "ssl");
-        addParentColumnToMutate("IPFIX", "Bridge", "ipfix");
-        addParentColumnToMutate("sFlow", "Bridge", "sflow");
-        addParentColumnToMutate("Flow_Table", "Bridge", "flow_tables");
-        addParentColumnToMutate("QoS", "Port", "qos");
-        addParentColumnToMutate("NetFlow", "Bridge", "netflow");
-        addParentColumnToMutate("Mirror", "Bridge", "mirrors");
-        addParentColumnToMutate("Manager", "Open_vSwitch", "manager_options");
-        addParentColumnToMutate("Controller", "Bridge", "controller");
-        // Keep the default value if the property is not set
-        final String autoConfigureControllerStr =
-                ConfigProperties.getProperty(OvsVswitchdSchemaConstants.class, OVSDB_AUTOCONFIGURECONTROLLER);
-        if (autoConfigureControllerStr != null) {
-            autoConfigureController = Boolean.getBoolean(autoConfigureControllerStr);
-        }
-    }
-
-    public static void setAutoConfigureController(boolean autoConfigure) {
-        autoConfigureController = autoConfigure;
-    }
-
-    public static boolean shouldConfigureController (String databaseName, String tableName) {
-        return autoConfigureController && databaseName.equals(DATABASE_NAME) && tableName.equals("Bridge");
-    }
-
-    public enum PortType {
-        VLAN("vlan"),
-        TUNNEL("Tunnel"),
-        BONDING("Bonding"),
-        PATCH("patch"),
-        INTERNAL("internal");
-
-        private PortType(String name) {
-            this.name = name;
-        }
-
-        private String name;
-
-        @Override
-        public String toString() {
-            return name;
-        }
-    }
-
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsdbConfigurationService.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsdbConfigurationService.java
deleted file mode 100644 (file)
index 660058f..0000000
+++ /dev/null
@@ -1,287 +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.plugin.api;
-
-import java.util.List;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ExecutionException;
-
-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.lib.schema.typed.TypedBaseTable;
-import org.opendaylight.ovsdb.plugin.error.OvsdbPluginException;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-
-public interface OvsdbConfigurationService {
-
-    /**
-     * @deprecated This version of insertRow is a short-term replacement for the older and now deprecated method of the same name.
-     * This API assumes an Open_vSwitch database Schema.
-     *
-     * This API is replaced by
-     * {@link #insertRow(Node, String, String, Row)} and
-     * {@link #insertTree(Node, String, String, UUID, Row)}
-     *
-     * @param node OVSDB Node
-     * @param tableName Table on which the row is inserted
-     * @param parentUuid UUID of the parent table to which this operation will result in attaching/mutating.
-     * @param row Row of table Content to be inserted
-     * @return UUID of the inserted Row
-     */
-    @Deprecated
-    StatusWithUuid insertRow(Node node, String tableName, String parentUuid, Row<GenericTableSchema> row);
-
-    /**
-     * insert a Row in a Table of a specified Database Schema. This is a convenience method on top of
-     * {@link insertRow(Node, String, String, String, UUID, String, Row) insertRow}
-     * which assumes that OVSDB schema implementation that corresponds to the databaseName will provide
-     * the necessary service to populate the Parent Table Name and Parent Column Name.
-     *
-     * This method can insert just a single Row specified in the row parameter.
-     * But {@link #insertTree(Node, String, String, UUID, Row) insertTree}
-     * can insert a hierarchy of rows with parent-child relationship.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is inserted
-     * @param parentRowUuid UUID of the parent table to which this operation will result in attaching/mutating.
-     * @param row Row of table Content to be inserted
-     * @throws OvsdbPluginException Any failure during the insert transaction will result in a specific exception.
-     * @return UUID of the inserted Row
-     */
-    UUID insertRow(Node node, String databaseName, String tableName, UUID parentRowUuid,
-                   Row<GenericTableSchema> row) throws OvsdbPluginException;
-
-    /**
-     * insert a Row in a Table of a specified Database Schema.
-     *
-     * This method can insert just a single Row specified in the row parameter.
-     * But {@link #insertTree(Node, String, String, UUID, Row)}
-     * can insert a hierarchy of rows with parent-child relationship.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is inserted
-     * @param parentTable Name of the Parent Table to which this operation will result in attaching/mutating.
-     * @param parentRowUuid UUID of a Row in parent table to which this operation will result in attaching/mutating.
-     * @param parentColumn Name of the Column in the Parent Table to be mutated with the UUID that results from the insert operation.
-     * @param row Row of table Content to be inserted
-     * @throws OvsdbPluginException Any failure during the insert transaction will result in a specific exception.
-     * @return UUID of the inserted Row
-     */
-    UUID insertRow(Node node, String databaseName, String tableName, String parentTable, UUID parentRowUuid,
-                   String parentColumn, Row<GenericTableSchema> row) throws OvsdbPluginException;
-
-    /**
-     * inserts a Tree of Rows in multiple Tables that has parent-child relationships referenced through the OVSDB schema's refTable construct.
-     * This is a convenience method on top of {@link #insertTree(Node, String, String, String, UUID, String, Row)}
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is inserted
-     * @param parentRowUuid UUID of a Row in parent table to which this operation will result in attaching/mutating.
-     * @param row Row Tree with parent-child relationships via column of type refTable.
-     * @throws OvsdbPluginException Any failure during the insert transaction will result in a specific exception.
-     * @return Returns the row tree with the UUID of every inserted Row populated in the _uuid column of every row in the tree
-     */
-    Row<GenericTableSchema> insertTree(Node node, String databaseName, String tableName, UUID parentRowUuid,
-                                       Row<GenericTableSchema> row) throws OvsdbPluginException;
-
-    /**
-     * inserts a Tree of Rows in multiple Tables that has parent-child relationships referenced through the OVSDB schema's refTable construct
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is inserted
-     * @param parentTable Name of the Parent Table to which this operation will result in attaching/mutating.
-     * @param parentRowUuid UUID of a Row in parent table to which this operation will result in attaching/mutating.
-     * @param parentColumn Name of the Column in the Parent Table to be mutated with the UUID that results from the insert operation.
-     * @param row Row Tree with parent-child relationships via column of type refTable.
-     * @throws OvsdbPluginException Any failure during the insert transaction will result in a specific exception.
-     * @return Returns the row tree with the UUID of every inserted Row populated in the _uuid column of every row in the tree
-     */
-    Row<GenericTableSchema> insertTree(Node node, String databaseName, String tableName, String parentTable, UUID parentRowUuid,
-                                       String parentColumn, Row<GenericTableSchema> row) throws OvsdbPluginException;
-
-    /**
-     * @deprecated This version of updateRow is a short-term replacement for the older and now deprecated method of the same name.
-     * This API assumes an Open_vSwitch database Schema.
-     *
-     * This API is replaced by
-     * {@link #updateRow(Node, String, String, UUID, Row, boolean) updateRow}
-     *
-     * @param node OVSDB Node
-     * @param tableName Table on which the row is Updated
-     * @param rowUuid UUID of the parent row on which this operation might result in mutating.
-     * @param rowUuid UUID of the row that is being updated
-     * @param row Row of table Content to be Updated. Include just those columns that needs to be updated.
-     */
-    @Deprecated
-    Status updateRow(Node node, String tableName, String parentUuid, String rowUuid, Row row);
-
-    /**
-     * update or mutate a Row in a Table of a specified Database Schema.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is updated
-     * @param rowUuid UUID of the row being updated
-     * @param row Row of table Content to be updated
-     * @param overwrite true will overwrite/replace the existing row (matching the rowUuid) with the passed row object.
-     *                  false will update the existing row (matching the rowUuid) using only the columns in the passed row object.
-     * @throws OvsdbPluginException Any failure during the update operation will result in a specific exception.
-     * @return Returns the entire Row after the update operation.
-     */
-    Row<GenericTableSchema> updateRow(Node node, String databaseName, String tableName, UUID rowUuid,
-                                      Row<GenericTableSchema> row, boolean overwrite) throws OvsdbPluginException;
-
-    /**
-     * @deprecated This version of deleteRow is a short-term replacement for the older and now deprecated method of the same name.
-     * This API assumes an Open_vSwitch database Schema.
-     *
-     * This API is replaced by {@link #deleteRow(Node, String, String, UUID)}
-     *
-     * @param node OVSDB Node
-     * @param tableName Table on which the row is Updated
-     * @param rowUuid UUID of the row that is being deleted
-     */
-    @Deprecated
-    Status deleteRow(Node node, String tableName, String rowUuid);
-
-    /**
-     * update or mutate a Row in a Table of a specified Database Schema.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is Updated
-     * @param rowUuid UUID of the row that is being deleted
-     * @throws OvsdbPluginException Any failure during the delete operation will result in a specific exception.
-     */
-
-    void deleteRow(Node node, String databaseName, String tableName, UUID rowUuid) throws OvsdbPluginException;
-
-    /**
-     * update or mutate a Row in a Table of a specified Database Schema.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is Updated
-     * @param parentTable Name of the Parent Table to which this operation will result in mutating.
-     * @param parentColumn Name of the Column in the Parent Table to be mutated.
-     * @param rowUuid UUID of the row that is being deleted
-     * @throws OvsdbPluginException Any failure during the delete operation will result in a specific exception.
-     */
-
-    void deleteRow(Node node, String databaseName, String tableName, String parentTable,
-                   UUID parentRowUuid, String parentColumn, UUID rowUuid) throws OvsdbPluginException;
-
-    /**
-     * @deprecated This version of getRow is a short-term replacement for the older and now deprecated method of the same name.
-     * This API assumes an Open_vSwitch database Schema.
-     *
-     * This API is replaced by {@link #getRow(Node, String, String, UUID) getRow}
-     *
-     * @param node OVSDB Node
-     * @param tableName Table Name
-     * @param uuid UUID of the row being queried
-     * @return a row with a list of Column data that corresponds to an unique Row-identifier called uuid in a given table.
-     */
-    @Deprecated
-    Row getRow(Node node, String tableName, String uuid);
-
-    /**
-     * Returns a Row from a table for the specified uuid.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table Name
-     * @param uuid UUID of the row being queried
-     * @throws OvsdbPluginException Any failure during the get operation will result in a specific exception.
-     * @return a row with a list of Column data that corresponds to an unique Row-identifier called uuid in a given table.
-     */
-    Row<GenericTableSchema> getRow(Node node, String databaseName, String tableName, UUID uuid) throws OvsdbPluginException;
-
-    /**
-     * @deprecated This version of getRows is a short-term replacement for the older and now deprecated method of the same name.
-     * This API assumes an Open_vSwitch database Schema.
-     *
-     * This API is replaced by
-     * {@link #getRows(Node, String, String) getRows} and {@link #getRows(Node, String, String, String) getRows}
-     *
-     * @param node OVSDB Node
-     * @param tableName Table Name
-     * @return List of rows that makes the entire Table.
-     */
-    @Deprecated
-    ConcurrentMap<String, Row> getRows(Node node, String tableName);
-
-    /**
-     * Returns all rows of a table.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table Name
-     * @throws OvsdbPluginException Any failure during the get operation will result in a specific exception.
-     * @return Map of rows to its UUID that makes the entire Table.
-     */
-    ConcurrentMap<UUID, Row<GenericTableSchema>> getRows(Node node, String databaseName, String tableName) throws OvsdbPluginException;
-
-    /**
-     * Returns all rows of a table filtered by query string.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table Name
-     * @param fiqlQuery FIQL style String Query <a href="http://tools.ietf.org/html/draft-nottingham-atompub-fiql-00">draft-nottingham-atompub-fiql</a> to filter rows
-     * @throws OvsdbPluginException Any failure during the get operation will result in a specific exception.
-     * @return Map of rows to its UUID that makes the entire Table.
-     */
-    ConcurrentMap<UUID, Row<GenericTableSchema>> getRows(Node node, String databaseName, String tableName, String fiqlQuery) throws OvsdbPluginException;
-
-    /**
-     * @deprecated Returns all the Tables in a given Ndoe.
-     * This API assumes an Open_vSwitch database Schema.
-     *
-     * This API is replaced by
-     * {@link #getTables(Node, String) getTables}
-     * @param node OVSDB node
-     * @return List of Table Names that make up Open_vSwitch schema.
-     */
-    @Deprecated
-    List<String> getTables(Node node);
-
-    /**
-     * Returns all the Tables in a given Node.
-     *
-     * @param node OVSDB node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @throws OvsdbPluginException Any failure during the get operation will result in a specific exception.
-     * @return List of Table Names that make up the schema represented by the databaseName
-     */
-    List<String> getTables(Node node, String databaseName) throws OvsdbPluginException;
-
-    /**
-     * setOFController is a convenience method used by existing applications to setup Openflow Controller on
-     * a Open_vSwitch Bridge.
-     * This API assumes an Open_vSwitch database Schema.
-     *
-     * @param node Node
-     * @param bridgeUUID uuid of the Bridge for which the ip-address of Openflow Controller should be programmed.
-     * @return Boolean representing success or failure of the operation.
-     *
-     * @throws InterruptedException
-     * @throws ExecutionException
-     */
-    Boolean setOFController(Node node, String bridgeUUID) throws InterruptedException, ExecutionException;
-
-    <T extends TypedBaseTable<?>> String getTableName(Node node, Class<T> typedClass);
-    <T extends TypedBaseTable<?>> T getTypedRow(Node node, Class<T> typedClass, Row row);
-    <T extends TypedBaseTable<?>> T createTypedRow(Node node, Class<T> typedClass);
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsdbConnectionService.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsdbConnectionService.java
deleted file mode 100644 (file)
index 11d7a46..0000000
+++ /dev/null
@@ -1,21 +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.plugin.api;
-
-import java.util.List;
-import java.util.Map;
-
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-
-public interface OvsdbConnectionService {
-    Connection getConnection(Node node);
-    List<Node> getNodes();
-    Node getNode(String identifier);
-    Node connect(String identifier, Map<ConnectionConstants, String> params);
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsdbInventoryListener.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsdbInventoryListener.java
deleted file mode 100644 (file)
index 21f7ff9..0000000
+++ /dev/null
@@ -1,22 +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.plugin.api;
-
-import org.opendaylight.ovsdb.lib.notation.Row;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-
-import java.net.InetAddress;
-
-public interface OvsdbInventoryListener {
-    void nodeAdded(Node node, InetAddress address, int port);
-    void nodeRemoved(Node node);
-    void rowAdded(Node node, String tableName, String uuid, Row row);
-    void rowUpdated(Node node, String tableName, String uuid, Row old, Row row);
-    void rowRemoved(Node node, String tableName, String uuid, Row row, Object context);
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsdbInventoryService.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/OvsdbInventoryService.java
deleted file mode 100644 (file)
index 236a4e1..0000000
+++ /dev/null
@@ -1,28 +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.plugin.api;
-
-import java.net.InetAddress;
-import java.util.concurrent.ConcurrentMap;
-
-import org.opendaylight.ovsdb.lib.message.TableUpdates;
-import org.opendaylight.ovsdb.lib.notation.Row;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-
-public interface OvsdbInventoryService {
-    ConcurrentMap<String, ConcurrentMap<String, Row>> getCache(Node n, String databaseName);
-    ConcurrentMap<String, Row> getTableCache(Node n, String databaseName, String tableName);
-    Row getRow(Node n, String databaseName, String tableName, String uuid);
-    void updateRow(Node n, String databaseName, String tableName, String uuid, Row row);
-    void removeRow(Node n, String databaseName, String tableName, String uuid);
-    void processTableUpdates(Node n, String databaseName, TableUpdates tableUpdates);
-    void printCache(Node n);
-    void notifyNodeAdded(Node n, InetAddress address, int port);
-    void removeNode(Node n);
-}
\ No newline at end of file
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/Status.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/Status.java
deleted file mode 100644 (file)
index 5c35306..0000000
+++ /dev/null
@@ -1,148 +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.plugin.api;
-
-import java.io.Serializable;
-
-/**
- * Represents the return object of the osgi service interfaces function calls.
- * It contains a code {@code StatusCode} representing the result of the call and
- * a string which describes a failure reason (if any) in human readable form.
- */
-public class Status implements Serializable {
-    private static final long serialVersionUID = 0L;
-    private StatusCode code;
-    private String description;
-    private long requestId;
-
-    /**
-     * Generates an instance of the Status class. This is used as return code
-     * for internal API2 function calls. This constructor allows to specify,
-     * beside the Status Code, a custom human readable description to add more
-     * information about the status.
-     *
-     * @param errorCode
-     *            The status code. If passed as null, code will be stored as
-     *            {@code StatusCode.UNDEFINED}
-     * @param description
-     *            The human readable description of the status. If passed as
-     *            null, description will be inferred by the code
-     */
-    public Status(StatusCode errorCode, String description) {
-        this.code = (errorCode != null) ? errorCode : StatusCode.UNDEFINED;
-        this.description = (description != null) ? description : this.code
-                .toString();
-        this.requestId = 0;
-    }
-
-    /**
-     * Generates an instance of the Status class based on the passed StatusCode
-     * only. The description field of the Status object will be inferred by the
-     * status code.
-     *
-     * @param errorCode
-     *            The status code. If passed as null, code will be stored as
-     *            {@code StatusCode.UNDEFINED}
-     */
-    public Status(StatusCode errorCode) {
-        this.code = (errorCode != null) ? errorCode : StatusCode.UNDEFINED;
-        this.description = (description != null) ? description : this.code
-                .toString();
-        this.requestId = 0;
-    }
-
-    /**
-     * Generates an instance of the Status class to be used in case of
-     * asynchronous call. It is supposed to be created by the underlying
-     * infrastructure only when it was successful in allocating the asynchronous
-     * request id, hence caller should expect StatusCode to be successful.
-     *
-     * @param errorCode
-     *            The status code. If passed as null, code will be stored as
-     *            {@code StatusCode.UNDEFINED}
-     * @param requestId
-     *            The request id set by underlying infrastructure for this
-     *            request
-     */
-    public Status(StatusCode errorCode, long requestId) {
-        this.code = (errorCode != null) ? errorCode : StatusCode.UNDEFINED;
-        this.description = (description != null) ? description : this.code
-                .toString();
-        this.requestId = requestId;
-    }
-
-    /**
-     * Returns the status code
-     *
-     * @return the {@code StatusCode} representing the status code
-     */
-    public StatusCode getCode() {
-        return code;
-    }
-
-    /**
-     * Returns a human readable description of the failure if any
-     *
-     * @return a string representing the reason of failure
-     */
-    public String getDescription() {
-        return description;
-    }
-
-    /**
-     * Tells whether the status is successful
-     *
-     * @return true if the Status code is {@code StatusCode.SUCCESS}
-     */
-    public boolean isSuccess() {
-        return code == StatusCode.SUCCESS || code == StatusCode.CREATED;
-    }
-
-    /**
-     * Return the request id assigned by underlying infrastructure in case of
-     * asynchronous request. In case of synchronous requests, the returned id
-     * is expected to be 0
-     *
-     * @return The request id assigned for this asynchronous request
-     */
-    public long getRequestId() {
-        return requestId;
-    }
-
-    @Override
-    public String toString() {
-        return code + ": " + description + " (" + requestId + ")";
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((code == null) ? 0 : code.calculateConsistentHashCode());
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        Status other = (Status) obj;
-        if (code != other.code) {
-            return false;
-        }
-        return true;
-    }
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/StatusCode.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/StatusCode.java
deleted file mode 100644 (file)
index cd3628e..0000000
+++ /dev/null
@@ -1,57 +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.plugin.api;
-
-/**
- * The enum which describes the generic error conditions.
- * Each enum value is associated with a minimal description string.
- *
- */
-public enum StatusCode {
-    SUCCESS("Success"),
-    CREATED("Created"),
-
-    BADREQUEST("Bad Request"),
-    UNAUTHORIZED("UnAuthorized"),
-    FORBIDDEN("Forbidden"),
-    NOTFOUND("Not Found"),
-    NOTALLOWED("Method Not Allowed"),
-    NOTACCEPTABLE("Request Not Acceptable"),
-    TIMEOUT("Request Timeout"),
-    CONFLICT("Resource Conflict"),
-    GONE("Resource Gone"),
-    UNSUPPORTED("Unsupported"),
-
-    INTERNALERROR("Internal Error"),
-    NOTIMPLEMENTED("Not Implemented"),
-    NOSERVICE("Service Not Available"),
-
-    UNDEFINED("Undefined Error");
-
-    private String description;
-    private StatusCode(String description) {
-        this.description = description;
-    }
-
-    /**
-     * Prints the description associated to the code value
-     */
-    @Override
-    public String toString() {
-        return description;
-    }
-
-    public int calculateConsistentHashCode() {
-        if (this.description != null) {
-            return this.description.hashCode();
-        } else {
-            return 0;
-        }
-    }
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/StatusWithUuid.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/api/StatusWithUuid.java
deleted file mode 100644 (file)
index 6f5e89b..0000000
+++ /dev/null
@@ -1,43 +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.plugin.api;
-
-import org.opendaylight.ovsdb.plugin.api.Status;
-import org.opendaylight.ovsdb.plugin.api.StatusCode;
-import org.opendaylight.ovsdb.lib.notation.UUID;
-
-/**
- * Extends the Status class to allow functions to return a uuid
- */
-public class StatusWithUuid extends Status {
-    private static final long serialVersionUID = -5413085099514964003L;
-    private UUID uuid;
-
-    public StatusWithUuid(StatusCode errorCode) {
-        super(errorCode);
-    }
-
-    public StatusWithUuid(StatusCode errorCode, String description) {
-        super(errorCode, description);
-    }
-
-    public StatusWithUuid(StatusCode errorCode, long requestId) {
-        super(errorCode, requestId);
-    }
-
-    public StatusWithUuid(StatusCode errorCode, UUID uuid) {
-        super(errorCode);
-        this.uuid = uuid;
-    }
-
-    public UUID getUuid() {
-        return uuid;
-    }
-
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/error/OvsdbPluginException.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/error/OvsdbPluginException.java
deleted file mode 100644 (file)
index a3ebc73..0000000
+++ /dev/null
@@ -1,19 +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.plugin.error;
-
-public class OvsdbPluginException extends RuntimeException {
-    public OvsdbPluginException(String message){
-        super(message);
-    }
-
-    public OvsdbPluginException(String message, Throwable cause){
-        super(message, cause);
-    }
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/impl/ConfigurationServiceImpl.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/impl/ConfigurationServiceImpl.java
deleted file mode 100644 (file)
index 639e2cb..0000000
+++ /dev/null
@@ -1,973 +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.plugin.impl;
-
-import static org.opendaylight.ovsdb.lib.operations.Operations.op;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.AbstractMap;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ExecutionException;
-
-import org.opendaylight.ovsdb.plugin.api.Status;
-import org.opendaylight.ovsdb.plugin.api.StatusCode;
-import org.opendaylight.ovsdb.lib.OvsdbClient;
-import org.opendaylight.ovsdb.lib.error.SchemaVersionMismatchException;
-import org.opendaylight.ovsdb.lib.notation.Column;
-import org.opendaylight.ovsdb.lib.notation.Mutator;
-import org.opendaylight.ovsdb.lib.notation.OvsdbSet;
-import org.opendaylight.ovsdb.lib.notation.ReferencedRow;
-import org.opendaylight.ovsdb.lib.notation.Row;
-import org.opendaylight.ovsdb.lib.notation.UUID;
-import org.opendaylight.ovsdb.lib.operations.Insert;
-import org.opendaylight.ovsdb.lib.operations.Operation;
-import org.opendaylight.ovsdb.lib.operations.OperationResult;
-import org.opendaylight.ovsdb.lib.operations.TransactionBuilder;
-import org.opendaylight.ovsdb.lib.schema.BaseType.UuidBaseType;
-import org.opendaylight.ovsdb.lib.schema.ColumnSchema;
-import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
-import org.opendaylight.ovsdb.lib.schema.GenericTableSchema;
-import org.opendaylight.ovsdb.lib.schema.TableSchema;
-import org.opendaylight.ovsdb.lib.schema.typed.TypedBaseTable;
-import org.opendaylight.ovsdb.plugin.api.Connection;
-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.OvsdbInventoryService;
-import org.opendaylight.ovsdb.plugin.api.StatusWithUuid;
-import org.opendaylight.ovsdb.plugin.error.OvsdbPluginException;
-import org.opendaylight.ovsdb.schema.openvswitch.Bridge;
-import org.opendaylight.ovsdb.schema.openvswitch.Controller;
-import org.opendaylight.ovsdb.schema.openvswitch.OpenVSwitch;
-import org.opendaylight.ovsdb.schema.openvswitch.Port;
-import org.opendaylight.ovsdb.utils.config.ConfigProperties;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import com.google.common.util.concurrent.ListenableFuture;
-
-public class ConfigurationServiceImpl implements OvsdbConfigurationService
-{
-    private static final Logger LOG = LoggerFactory.getLogger(ConfigurationServiceImpl.class);
-
-    OvsdbConnectionService connectionService;
-    OvsdbInventoryService ovsdbInventoryService;
-    protected static final String OPENFLOW_13 = "1.3";
-
-    void init() {
-    }
-
-    /**
-     * Function called by the dependency manager when at least one dependency
-     * become unsatisfied or when the component is shutting down because for
-     * example bundle is being stopped.
-     *
-     */
-    void destroy() {
-    }
-
-    /**
-     * Function called by dependency manager after "init ()" is called and after
-     * the services provided by the class are registered in the service registry
-     *
-     */
-    void start() {
-    }
-
-    /**
-     * Function called by the dependency manager before the services exported by
-     * the component are unregistered, this will be followed by a "destroy ()"
-     * calls
-     *
-     */
-    void stop() {
-    }
-
-    public void setConnectionServiceInternal(OvsdbConnectionService connectionService) {
-        this.connectionService = connectionService;
-    }
-
-    public void unsetConnectionServiceInternal(OvsdbConnectionService connectionService) {
-        if (this.connectionService.equals(connectionService)) {
-            this.connectionService = null;
-        }
-    }
-
-    public void setOvsdbInventoryService(OvsdbInventoryService ovsdbInventoryService) {
-        this.ovsdbInventoryService = ovsdbInventoryService;
-    }
-
-    public void unsetInventoryServiceInternal(OvsdbInventoryService ovsdbInventoryService) {
-        if (this.ovsdbInventoryService.equals(ovsdbInventoryService)) {
-            this.ovsdbInventoryService = null;
-        }
-    }
-
-    private Connection getConnection (Node node) {
-        Connection connection = connectionService.getConnection(node);
-        if (connection == null || !connection.getClient().isActive()) {
-            return null;
-        }
-
-        return connection;
-    }
-    /*
-     * There are a few Open_vSwitch schema specific special case handling to be done for
-     * the older API (such as by inserting a mandatory Interface row automatically upon inserting
-     * a Port row.
-     */
-    private void handleSpecialInsertCase(OvsdbClient client, String databaseName,
-            String tableName, Row<GenericTableSchema> row, TransactionBuilder transactionBuilder) {
-        Port port = client.getTypedRowWrapper(Port.class, null);
-        if (databaseName.equals(OvsVswitchdSchemaConstants.DATABASE_NAME) && tableName.equals(port.getSchema().getName())) {
-            port = client.getTypedRowWrapper(Port.class, row);
-            DatabaseSchema dbSchema = client.getDatabaseSchema(databaseName);
-            TableSchema<GenericTableSchema> tableSchema = dbSchema.table(tableName, GenericTableSchema.class);
-            ColumnSchema<GenericTableSchema, Set<UUID>> columnSchema = tableSchema.multiValuedColumn("interfaces", UUID.class);
-            String namedUuid = "Special_"+tableName;
-            List<Operation> priorOperations = transactionBuilder.getOperations();
-            Insert portOperation = (Insert)priorOperations.get(0);
-            portOperation.value(columnSchema, new UUID(namedUuid));
-
-            Column<GenericTableSchema, ?> nameColumn = port.getNameColumn();
-            List<Column<GenericTableSchema, ?>> columns = new ArrayList<Column<GenericTableSchema, ?>>();
-            columns.add(nameColumn);
-            Row<GenericTableSchema> intfRow = new Row<GenericTableSchema>(tableSchema, columns);
-            this.processTypedInsertTransaction(client, databaseName, "Interface", null, null, null, namedUuid, intfRow, transactionBuilder);
-        }
-    }
-
-    /*
-     * A common Transaction that takes in old API style Parent_uuid and inserts a mutation on
-     * the parent table for the newly inserted Child.
-     * Due to some additional special case(s), the Transaction is further amended by handleSpecialInsertCase
-     */
-    private void processTypedInsertTransaction(OvsdbClient client, String databaseName, String childTable,
-                                    String parentTable, String parentUuid, String parentColumn, String namedUuid,
-                                    Row<GenericTableSchema> row, TransactionBuilder transactionBuilder) {
-        this.processInsertTransaction(client, databaseName, childTable, parentTable, new UUID(parentUuid), parentColumn,
-                                      namedUuid, row, transactionBuilder);
-        /*
-         * There are a few Open_vSwitch schema specific special case handling to be done for
-         * the older API (such as by inserting a mandatory Interface row automatically upon inserting
-         * a Port row.
-         */
-        handleSpecialInsertCase(client, databaseName, childTable, row, transactionBuilder);
-    }
-
-    /*
-     * TODO : Move all the Special Cases out of ConfigurationService and into the Schema specific bundles.
-     * But that makes plugin more reliant on the Typed Bundles more than just API wrapper.
-     * Keeping these Special Handling locally till we introduce the full schema independent APIs in the
-     * plugin layer.
-     */
-    public String getSpecialCaseParentUUID(Node node, String databaseName, String childTableName) {
-        if (!databaseName.equals(OvsVswitchdSchemaConstants.DATABASE_NAME)) {
-            return null;
-        }
-        String[] parentColumn = OvsVswitchdSchemaConstants.getParentColumnToMutate(childTableName);
-        if (parentColumn != null && parentColumn[0].equals(OvsVswitchdSchemaConstants.DATABASE_NAME)) {
-            Connection connection = connectionService.getConnection(node);
-            OpenVSwitch openVSwitch = connection.getClient().getTypedRowWrapper(OpenVSwitch.class, null);
-            ConcurrentMap<String, Row> row = this.getRows(node, openVSwitch.getSchema().getName());
-            if (row == null || row.size() == 0) {
-                return null;
-            }
-            return (String)row.keySet().toArray()[0];
-        }
-        return null;
-    }
-
-    /*
-     * Though this is a New API that takes in Row object, this still is considered a
-     * Deprecated call because of the assumption with a Single Row insertion.
-     * An ideal insertRow must be able to take in multiple Rows, which includes the
-     * Row being inserted in one Table and other Rows that needs mutate in other Tables.
-     */
-    @Override
-    @Deprecated
-    public StatusWithUuid insertRow(Node node, String tableName, String parentUuid, Row<GenericTableSchema> row) {
-        String[] parentColumn = OvsVswitchdSchemaConstants.getParentColumnToMutate(tableName);
-        if (parentColumn == null) {
-            parentColumn = new String[]{null, null};
-        }
-
-        Connection connection = connectionService.getConnection(node);
-        OvsdbClient client = connection.getClient();
-
-        String myParentUuid = parentUuid;
-        if (myParentUuid == null) {
-            myParentUuid = this.getSpecialCaseParentUUID(node, OvsVswitchdSchemaConstants.DATABASE_NAME, tableName);
-        }
-        LOG.debug("insertRow Connection : {} Table : {} ParentTable : {} Parent Column: {} Parent UUID : {} Row : {}",
-                client.getConnectionInfo(), tableName, parentColumn[0], parentColumn[1], myParentUuid, row);
-
-        DatabaseSchema dbSchema = client.getDatabaseSchema(OvsVswitchdSchemaConstants.DATABASE_NAME);
-        TransactionBuilder transactionBuilder = client.transactBuilder(dbSchema);
-
-        String namedUuid = "Transaction_"+ tableName;
-        this.processTypedInsertTransaction(client, OvsVswitchdSchemaConstants.DATABASE_NAME, tableName,
-                                parentColumn[0], myParentUuid, parentColumn[1], namedUuid,
-                                row, transactionBuilder);
-
-        ListenableFuture<List<OperationResult>> results = transactionBuilder.execute();
-        List<OperationResult> operationResults;
-        try {
-            operationResults = results.get();
-            if (operationResults.isEmpty() || (transactionBuilder.getOperations().size() != operationResults.size())) {
-                return new StatusWithUuid(StatusCode.INTERNALERROR);
-            }
-            for (OperationResult result : operationResults) {
-                if (result.getError() != null) {
-                    return new StatusWithUuid(StatusCode.BADREQUEST, result.getError());
-                }
-            }
-            UUID uuid = operationResults.get(0).getUuid();
-            return new StatusWithUuid(StatusCode.SUCCESS, uuid);
-        } catch (InterruptedException | ExecutionException e) {
-            // TODO Auto-generated catch block
-            return new StatusWithUuid(StatusCode.INTERNALERROR, e.getLocalizedMessage());
-        }
-
-    }
-
-    @Override
-    @Deprecated
-    public Status updateRow (Node node, String tableName, String parentUUID, String rowUUID, Row row) {
-        String databaseName = OvsVswitchdSchemaConstants.DATABASE_NAME;
-        this.updateRow(node, databaseName, tableName, new UUID(rowUUID), row, true);
-        return new StatusWithUuid(StatusCode.SUCCESS);
-    }
-
-    private void processDeleteTransaction(OvsdbClient client, String databaseName, String childTable,
-                                    String parentTable, String parentColumn, String uuid, TransactionBuilder transactionBuilder) {
-        DatabaseSchema dbSchema = client.getDatabaseSchema(databaseName);
-        TableSchema<GenericTableSchema> childTableSchema = dbSchema.table(childTable, GenericTableSchema.class);
-
-        if (parentColumn != null) {
-            TableSchema<GenericTableSchema> parentTableSchema = dbSchema.table(parentTable, GenericTableSchema.class);
-            ColumnSchema<GenericTableSchema, UUID> parentColumnSchema = parentTableSchema.column(parentColumn, UUID.class);
-            transactionBuilder
-                .add(op.mutate(parentTableSchema)
-                        .addMutation(parentColumnSchema, Mutator.DELETE, new UUID(uuid))
-                        .where(parentColumnSchema.opIncludes(new UUID(uuid)))
-                        .build());
-        }
-
-        ColumnSchema<GenericTableSchema, UUID> _uuid = childTableSchema.column("_uuid", UUID.class);
-        transactionBuilder.add(op.delete(childTableSchema)
-                .where(_uuid.opEqual(new UUID(uuid)))
-                .build());
-    }
-
-    @Override
-    @Deprecated
-    public Status deleteRow(Node node, String tableName, String uuid) {
-        String databaseName = OvsVswitchdSchemaConstants.DATABASE_NAME;
-        Connection connection = connectionService.getConnection(node);
-        OvsdbClient client = connection.getClient();
-
-        String[] parentColumn = OvsVswitchdSchemaConstants.getParentColumnToMutate(tableName);
-        if (parentColumn == null) {
-            parentColumn = new String[]{null, null};
-        }
-
-        LOG.debug("deleteRow : Connection : {} databaseName : {} tableName : {} Uuid : {} ParentTable : {} ParentColumn : {}",
-                client.getConnectionInfo(), databaseName, tableName, uuid, parentColumn[0], parentColumn[1]);
-
-        DatabaseSchema dbSchema = client.getDatabaseSchema(databaseName);
-        TransactionBuilder transactionBuilder = client.transactBuilder(dbSchema);
-        this.processDeleteTransaction(client, OvsVswitchdSchemaConstants.DATABASE_NAME, tableName,
-                                      parentColumn[0], parentColumn[1], uuid, transactionBuilder);
-
-        ListenableFuture<List<OperationResult>> results = transactionBuilder.execute();
-        List<OperationResult> operationResults;
-        try {
-            operationResults = results.get();
-            if (operationResults.isEmpty() || (transactionBuilder.getOperations().size() != operationResults.size())) {
-                return new StatusWithUuid(StatusCode.INTERNALERROR);
-            }
-            for (OperationResult result : operationResults) {
-                if (result.getError() != null) {
-                    return new StatusWithUuid(StatusCode.BADREQUEST, result.getError());
-                }
-            }
-        } catch (InterruptedException | ExecutionException e) {
-            LOG.error("Error in deleteRow() {} {}", node, tableName, e);
-        }
-
-        return new Status(StatusCode.SUCCESS);
-    }
-
-    @Override
-    @Deprecated
-    public ConcurrentMap<String, Row> getRows(Node node, String tableName) {
-        return ovsdbInventoryService.getTableCache(node, OvsVswitchdSchemaConstants.DATABASE_NAME, tableName);
-    }
-
-    @Override
-    @Deprecated
-    public Row getRow(Node node, String tableName, String uuid) {
-        Map<String, Row> ovsTable = ovsdbInventoryService.getTableCache(node, OvsVswitchdSchemaConstants.DATABASE_NAME,  tableName);
-        if (ovsTable == null) {
-            return null;
-        }
-        return ovsTable.get(uuid);
-    }
-
-    @Override
-    @Deprecated
-    public List<String> getTables(Node node) {
-        return this.getTables(node, OvsVswitchdSchemaConstants.DATABASE_NAME);
-    }
-
-    private InetAddress getControllerIPAddress(Connection connection) {
-        InetAddress controllerIP = null;
-
-        String addressString = ConfigProperties.getProperty(this.getClass(), "ovsdb.controller.address");
-
-        if (addressString != null) {
-            try {
-                controllerIP = InetAddress.getByName(addressString);
-                if (controllerIP != null) {
-                    return controllerIP;
-                }
-            } catch (UnknownHostException e) {
-                LOG.error("Host {} is invalid", addressString);
-            }
-        }
-
-        addressString = ConfigProperties.getProperty(this.getClass(), "of.address");
-
-        if (addressString != null) {
-            try {
-                controllerIP = InetAddress.getByName(addressString);
-                if (controllerIP != null) {
-                    return controllerIP;
-                }
-            } catch (UnknownHostException e) {
-                LOG.error("Host {} is invalid", addressString);
-            }
-        }
-
-        try {
-            controllerIP = connection.getClient().getConnectionInfo().getLocalAddress();
-            return controllerIP;
-        } catch (Exception e) {
-            LOG.debug("Invalid connection provided to getControllerIPAddresses", e);
-        }
-        return controllerIP;
-    }
-
-    private short getControllerOFPort() {
-        short openFlowPort = (short) 6633;
-        String portString = ConfigProperties.getProperty(this.getClass(), "of.listenPort");
-        if (portString != null) {
-            try {
-                openFlowPort = Short.parseShort(portString);
-            } catch (NumberFormatException e) {
-                LOG.warn("Invalid port:{}, use default({})", portString,
-                        openFlowPort);
-            }
-        }
-        return openFlowPort;
-    }
-
-    private UUID getCurrentControllerUuid(Node node, final String controllerTableName, final String target) {
-        ConcurrentMap<String, Row> rows = this.getRows(node, controllerTableName);
-
-        if (rows != null) {
-            for (Map.Entry<String, Row> entry : rows.entrySet()) {
-                Controller currController = this.getTypedRow(node, Controller.class, entry.getValue());
-                Column<GenericTableSchema, String> column = currController.getTargetColumn();
-                String currTarget = column.getData();
-                if (currTarget != null && currTarget.equalsIgnoreCase(target)) {
-                    return currController.getUuid();
-                }
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public Boolean setOFController(Node node, String bridgeUUID) throws InterruptedException, ExecutionException {
-        Connection connection = this.getConnection(node);
-        if (connection == null) {
-            return false;
-        }
-
-        Bridge bridge = connection.getClient().createTypedRowWrapper(Bridge.class);
-
-        Status updateOperationStatus = null;
-        try {
-            OvsdbSet<String> protocols = new OvsdbSet<String>();
-
-            String ofVersion = System.getProperty("ovsdb.of.version", OPENFLOW_13);
-            switch (ofVersion) {
-                case OPENFLOW_13:
-                    //fall through
-                default:
-                    protocols.add("OpenFlow13");
-                    break;
-            }
-            bridge.setProtocols(protocols);
-            updateOperationStatus = this.updateRow(node, bridge.getSchema().getName(),
-                                                   null, bridgeUUID, bridge.getRow());
-            LOG.debug("Bridge {} updated to {} with Status {}", bridgeUUID,
-                    protocols.toArray()[0], updateOperationStatus);
-
-        } catch (SchemaVersionMismatchException e){
-            LOG.debug(e.toString());
-        }
-
-        // If we fail to update the protocols
-        if (updateOperationStatus != null && !updateOperationStatus.isSuccess()) {
-            return updateOperationStatus.isSuccess();
-        }
-
-        Status status;
-        UUID currControllerUuid;
-        InetAddress ofControllerAddr = this.getControllerIPAddress(connection);
-        short ofControllerPort = getControllerOFPort();
-        String newControllerTarget = "tcp:"+ofControllerAddr.getHostAddress()+":"+ofControllerPort;
-        Controller newController = connection.getClient().createTypedRowWrapper(Controller.class);
-        newController.setTarget(newControllerTarget);
-        final String controllerTableName = newController.getSchema().getName();
-
-        currControllerUuid = getCurrentControllerUuid(node, controllerTableName, newControllerTarget);
-
-        if (currControllerUuid != null) {
-            bridge = connection.getClient().createTypedRowWrapper(Bridge.class);
-            bridge.setController(Sets.newHashSet(currControllerUuid));
-            status = this.updateRow(node, bridge.getSchema().getName(), null, bridgeUUID, bridge.getRow());
-        } else {
-            status = this.insertRow(node, controllerTableName, bridgeUUID, newController.getRow());
-        }
-
-        return status != null && status.isSuccess();
-
-    }
-
-
-    public Boolean setBridgeOFController(Node node, String bridgeIdentifier) {
-        if (connectionService == null) {
-            LOG.error("Couldn't refer to the ConnectionService");
-            return false;
-        }
-
-        try{
-            Connection connection = connectionService.getConnection(node);
-            Bridge bridge = connection.getClient().getTypedRowWrapper(Bridge.class, null);
-
-            Map<String, Row> brTableCache = ovsdbInventoryService.getTableCache(node, OvsVswitchdSchemaConstants.DATABASE_NAME, bridge.getSchema().getName());
-            for (String uuid : brTableCache.keySet()) {
-                bridge = connection.getClient().getTypedRowWrapper(Bridge.class, brTableCache.get(uuid));
-                if (bridge.getName().contains(bridgeIdentifier)) {
-                    return setOFController(node, uuid);
-                }
-            }
-        } catch(Exception e) {
-            LOG.error("Error in setBridgeOFController()", e);
-        }
-        return false;
-    }
-
-    @Override
-    public <T extends TypedBaseTable<?>> String getTableName(Node node, Class<T> typedClass) {
-        Connection connection = connectionService.getConnection(node);
-        if (connection == null) {
-            return null;
-        }
-        OvsdbClient client = connection.getClient();
-        TypedBaseTable<?> typedTable = client.getTypedRowWrapper(typedClass, null);
-        if (typedTable == null) {
-            return null;
-        }
-        return typedTable.getSchema().getName();
-    }
-
-    @Override
-    public <T extends TypedBaseTable<?>> T getTypedRow(Node node, Class<T> typedClass, Row row) {
-        Connection connection = connectionService.getConnection(node);
-        if (connection == null) {
-            return null;
-        }
-        OvsdbClient client = connection.getClient();
-        return (T)client.getTypedRowWrapper(typedClass, row);
-    }
-
-    @Override
-    public <T extends TypedBaseTable<?>> T createTypedRow(Node node, Class<T> typedClass) {
-        Connection connection = connectionService.getConnection(node);
-        if (connection == null) {
-            return null;
-        }
-        OvsdbClient client = connection.getClient();
-        return client.createTypedRowWrapper(typedClass);
-    }
-
-    // SCHEMA-INDEPENDENT Configuration Service APIs
-
-    private String getTableNameForRowUuid(Node node, String databaseName, UUID rowUuid) {
-        ConcurrentMap<String, ConcurrentMap<String, Row>> cache  = ovsdbInventoryService.getCache(node, databaseName);
-        if (cache == null) {
-            return null;
-        }
-        for (String tableName : cache.keySet()) {
-            ConcurrentMap<String, Row> rows = cache.get(tableName);
-            if (rows.get(rowUuid.toString()) != null) {
-                return tableName;
-            }
-        }
-        return null;
-    }
-
-    private String getReferencingColumn (TableSchema<?> parentTableSchema, String childTableName) throws OvsdbPluginException {
-        Map<String, ColumnSchema> columnSchemas = parentTableSchema.getColumnSchemas();
-        String refColumn = null;
-        for (String columnName : columnSchemas.keySet()) {
-            ColumnSchema columnSchema = columnSchemas.get(columnName);
-            if (columnSchema.getType().getBaseType().getClass().equals(UuidBaseType.class)) {
-                UuidBaseType refType = (UuidBaseType)columnSchema.getType().getBaseType();
-                if (refType.getRefTable() != null && refType.getRefTable().equalsIgnoreCase(childTableName)) {
-                    if (refColumn == null) {
-                        refColumn = columnName;
-                    } else {
-                        throw new OvsdbPluginException("Multiple Referencing Columns for "+ childTableName +" on "+ parentTableSchema.getName());
-                    }
-                }
-            }
-        }
-        if (refColumn != null) {
-            return refColumn;
-        }
-        throw new OvsdbPluginException("No Referencing Column for "+childTableName+" on "+parentTableSchema.getName());
-    }
-    /*
-     * A common Insert Transaction convenience method that populates the TransactionBuilder with insert operation
-     * for a Child Row and also mutates the parent row with the UUID of the inserted Child.
-     */
-    private void processInsertTransaction(OvsdbClient client, String databaseName, String childTable,
-                                    String parentTable, UUID parentUuid, String parentColumn, String namedUuid,
-                                    Row<GenericTableSchema> row,
-                                    TransactionBuilder transactionBuilder) {
-        // Insert the row as the first transaction entry
-        DatabaseSchema dbSchema = client.getDatabaseSchema(databaseName);
-        TableSchema<GenericTableSchema> childTableSchema = dbSchema.table(childTable, GenericTableSchema.class);
-        transactionBuilder.add(op.insert(childTableSchema, row)
-                        .withId(namedUuid));
-
-        // Followed by the Mutation
-        if (parentColumn != null) {
-            TableSchema<GenericTableSchema> parentTableSchema = dbSchema.table(parentTable, GenericTableSchema.class);
-            ColumnSchema<GenericTableSchema, UUID> parentColumnSchema = parentTableSchema.column(parentColumn, UUID.class);
-            ColumnSchema<GenericTableSchema, UUID> _uuid = parentTableSchema.column("_uuid", UUID.class);
-
-            transactionBuilder
-                .add(op.mutate(parentTableSchema)
-                        .addMutation(parentColumnSchema, Mutator.INSERT, new UUID(namedUuid))
-                        .where(_uuid.opEqual(parentUuid))
-                        .build());
-        }
-    }
-
-    /**
-     * insert a Row in a Table of a specified Database Schema.
-     *
-     * This method can insert just a single Row specified in the row parameter.
-     * But {@link #insertTree(Node, String, String, UUID, Row) insertTree}
-     * can insert a hierarchy of rows with parent-child relationship.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is inserted
-     * @param parentTable Name of the Parent Table to which this operation will result in attaching/mutating.
-     * @param parentUuid UUID of a Row in parent table to which this operation will result in attaching/mutating.
-     * @param parentColumn Name of the Column in the Parent Table to be mutated with the UUID that results from the insert operation.
-     * @param row Row of table Content to be inserted
-     * @throws OvsdbPluginException Any failure during the insert transaction will result in a specific exception.
-     * @return UUID of the inserted Row
-     */
-    @Override
-    public UUID insertRow(Node node, String databaseName, String tableName, String parentTable, UUID parentUuid,
-                          String parentColumn, Row<GenericTableSchema> row) throws OvsdbPluginException {
-        Connection connection = connectionService.getConnection(node);
-        OvsdbClient client = connection.getClient();
-        DatabaseSchema dbSchema = client.getDatabaseSchema(databaseName);
-        TableSchema<GenericTableSchema> tableSchema = dbSchema.table(tableName, GenericTableSchema.class);
-
-        Row<GenericTableSchema> processedRow = this.insertTree(node, databaseName, tableName, parentTable, parentUuid, parentColumn, row);
-
-        ColumnSchema<GenericTableSchema, UUID> _uuid = tableSchema.column("_uuid", UUID.class);
-        Column<GenericTableSchema, UUID> uuid = processedRow.getColumn(_uuid);
-        return uuid.getData();
-    }
-
-    /**
-     * insert a Row in a Table of a specified Database Schema. This is a convenience method on top of
-     * {@link insertRow(Node, String, String, String, UUID, String, Row) insertRow}
-     * which assumes that OVSDB schema implementation that corresponds to the databaseName will provide
-     * the necessary service to populate the Parent Table Name and Parent Column Name.
-     *
-     * This method can insert just a single Row specified in the row parameter.
-     * But {@link #insertTree(Node, String, String, UUID, Row) insertTree}
-     * can insert a hierarchy of rows with parent-child relationship.
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is inserted
-     * @param parentRowUuid UUID of the parent table to which this operation will result in attaching/mutating.
-     * @param row Row of table Content to be inserted
-     * @throws OvsdbPluginException Any failure during the insert transaction will result in a specific exception.
-     * @return UUID of the inserted Row
-     */
-    @Override
-    public UUID insertRow(Node node, String databaseName, String tableName,
-            UUID parentRowUuid, Row<GenericTableSchema> row)
-            throws OvsdbPluginException {
-        return this.insertRow(node, databaseName, tableName, null, parentRowUuid, null, row);
-    }
-
-    /**
-     * inserts a Tree of Rows in multiple Tables that has parent-child relationships referenced through the OVSDB schema's refTable construct
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is inserted
-     * @param parentTable Name of the Parent Table to which this operation will result in attaching/mutating.
-     * @param parentUuid UUID of a Row in parent table to which this operation will result in attaching/mutating.
-     * @param parentColumn Name of the Column in the Parent Table to be mutated with the UUID that results from the insert operation.
-     * @param row Row Tree with parent-child relationships via column of type refTable.
-     * @throws OvsdbPluginException Any failure during the insert transaction will result in a specific exception.
-     * @return Returns the row tree with the UUID of every inserted Row populated in the _uuid column of every row in the tree
-     */
-    @Override
-    public Row<GenericTableSchema> insertTree(Node node, String databaseName, String tableName, String parentTable, UUID parentUuid,
-                                              String parentColumn, Row<GenericTableSchema> row) throws OvsdbPluginException {
-        Connection connection = connectionService.getConnection(node);
-        OvsdbClient client = connection.getClient();
-
-        if (databaseName == null || tableName == null) {
-            throw new OvsdbPluginException("databaseName, tableName and parentUuid are Mandatory Parameters");
-        }
-
-        if (parentTable == null && parentUuid != null) {
-            parentTable = this.getTableNameForRowUuid(node, databaseName, parentUuid);
-        }
-
-        if (parentColumn == null && parentTable != null) {
-            DatabaseSchema dbSchema = client.getDatabaseSchema(databaseName);
-            TableSchema<GenericTableSchema> parentTableSchema = dbSchema.table(parentTable, GenericTableSchema.class);
-            parentColumn = this.getReferencingColumn(parentTableSchema, tableName);
-        }
-
-        LOG.debug("insertTree Connection : {} Table : {} ParentTable : {} Parent Column: {} Parent UUID : {} Row : {}",
-                client.getConnectionInfo(), tableName, parentTable, parentColumn, parentUuid, row);
-
-        Map<UUID, Map.Entry<String, Row<GenericTableSchema>>> referencedRows = Maps.newConcurrentMap();
-        extractReferencedRows(node, databaseName, row, referencedRows, 0);
-        DatabaseSchema dbSchema = client.getDatabaseSchema(OvsVswitchdSchemaConstants.DATABASE_NAME);
-        TransactionBuilder transactionBuilder = client.transactBuilder(dbSchema);
-
-        String namedUuid = "Transaction_"+ tableName;
-        this.processInsertTransaction(client, databaseName, tableName, parentTable, parentUuid,
-                                      parentColumn, namedUuid, row, transactionBuilder);
-
-        int referencedRowsInsertIndex = transactionBuilder.getOperations().size();
-        // Insert Referenced Rows
-        if (referencedRows != null) {
-            for (UUID refUuid : referencedRows.keySet()) {
-                Map.Entry<String, Row<GenericTableSchema>> referencedRow = referencedRows.get(refUuid);
-                TableSchema<GenericTableSchema> refTableSchema = dbSchema.table(referencedRow.getKey(), GenericTableSchema.class);
-                transactionBuilder.add(op.insert(refTableSchema, referencedRow.getValue())
-                                .withId(refUuid.toString()));
-            }
-        }
-
-        ListenableFuture<List<OperationResult>> results = transactionBuilder.execute();
-        List<OperationResult> operationResults;
-        try {
-            operationResults = results.get();
-            if (operationResults.isEmpty() || (transactionBuilder.getOperations().size() != operationResults.size())) {
-                throw new OvsdbPluginException("Insert Operation Failed");
-            }
-            for (OperationResult result : operationResults) {
-                if (result.getError() != null) {
-                    throw new OvsdbPluginException("Insert Operation Failed with Error : " + result.getError());
-                }
-            }
-            return getNormalizedRow(dbSchema, tableName, row, referencedRows, operationResults, referencedRowsInsertIndex);
-        } catch (InterruptedException | ExecutionException e) {
-            throw new OvsdbPluginException("Exception : "+e.getLocalizedMessage());
-        }
-    }
-
-    /**
-     * inserts a Tree of Rows in multiple Tables that has parent-child relationships referenced through the OVSDB schema's refTable construct.
-     * This is a convenience method on top of {@link #insertTree(Node, String, String, String, UUID, String, Row) insertTree}
-     *
-     * @param node OVSDB Node
-     * @param databaseName Database Name that represents the Schema supported by the node.
-     * @param tableName Table on which the row is inserted
-     * @param parentRowUuid UUID of a Row in parent table to which this operation will result in attaching/mutating.
-     * @param row Row Tree with parent-child relationships via column of type refTable.
-     * @throws OvsdbPluginException Any failure during the insert transaction will result in a specific exception.
-     * @return Returns the row tree with the UUID of every inserted Row populated in the _uuid column of every row in the tree
-     */
-    @Override
-    public Row<GenericTableSchema> insertTree(Node node, String databaseName,
-            String tableName, UUID parentRowUuid, Row<GenericTableSchema> row)
-            throws OvsdbPluginException {
-        return this.insertTree(node, databaseName, tableName, null, parentRowUuid, null, row);
-    }
-
-    /**
-     * Convenience method that helps insertTree to extract Rows that are referenced directly from within a primary row
-     * to be inserted. These referenced rows are *NOT* defined in the OVSDB specification. But, we felt that from a northbound
-     * application standpoint, having such an option is useful and our implementation supports it for applications to make use of.
-     * In short, whichever ColumnSchema is based on an UUID (refered by RefTable in schema), applications can directly insert an
-     * entire row and this method will help navigate it through and identify such cases.
-     * After identifying these Referenced Rows, it will modify the primary row with Named UUIDs and fill out the referencedRows
-     * Map structure so that insertTree can insert all the Rows defined in this Tree of rows in a single transaction with automatic
-     * Mutation on the parent rows.
-     *
-     * @param node OVSDB Node
-     * @param dbName Database Name that represents the Schema supported by the node.
-     * @param row Row Tree with parent-child relationships via column of type refTable.
-     * @param referencedRows Map of Named-UUID to the actual referenced row (with RefTable)
-     * @param namedUuidSuffix Named UUID must be unique for every new Row insert within a given transaction.
-     *        This index will help to retain the uniqueness.
-     */
-    private void extractReferencedRows(Node node, String dbName, Row<GenericTableSchema> row,
-                                       Map<UUID, Map.Entry<String, Row<GenericTableSchema>>> referencedRows,
-                                       int namedUuidSuffix) {
-        OvsdbClient client = connectionService.getConnection(node).getClient();
-        Collection<Column<GenericTableSchema, ?>> columns = row.getColumns();
-        for (Column column : columns) {
-            if (column.getData() != null) {
-                if (column.getData() instanceof ReferencedRow) {
-                    ReferencedRow refRowObject = (ReferencedRow)column.getData();
-                    UUID refUuid = new UUID("NamedUuid"+namedUuidSuffix++);
-                    column.setData(refUuid);
-                    try {
-                        DatabaseSchema dbSchema = client.getSchema(dbName).get();
-                        GenericTableSchema schema = dbSchema.table(refRowObject.getRefTable(), GenericTableSchema.class);
-                        Row<GenericTableSchema> refRow = schema.createRow((ObjectNode)refRowObject.getJsonNode());
-                        referencedRows.put(refUuid, new AbstractMap.SimpleEntry<>(refRowObject.getRefTable(), refRow));
-                        extractReferencedRows(node, dbName, refRow, referencedRows, namedUuidSuffix);
-                    } catch (InterruptedException | ExecutionException e) {
-                        LOG.error("Exception while extracting multi-level Row references " + e.getLocalizedMessage());
-                    }
-                } else if (column.getData() instanceof OvsdbSet) {
-                    OvsdbSet<Object> setObject = (OvsdbSet<Object>)column.getData();
-                    OvsdbSet<Object> modifiedSet = new OvsdbSet<>();
-                    for (Object obj : setObject) {
-                        if (obj instanceof ReferencedRow) {
-                            ReferencedRow refRowObject = (ReferencedRow)obj;
-                            UUID refUuid = new UUID("NamedUuid"+namedUuidSuffix++);
-                            modifiedSet.add(refUuid);
-                            try {
-                                DatabaseSchema dbSchema = client.getSchema(dbName).get();
-                                GenericTableSchema schema = dbSchema.table(refRowObject.getRefTable(), GenericTableSchema.class);
-                                Row<GenericTableSchema> refRow = schema.createRow((ObjectNode)refRowObject.getJsonNode());
-                                referencedRows.put(refUuid, new AbstractMap.SimpleEntry<>(refRowObject.getRefTable(), refRow));
-                                extractReferencedRows(node, dbName, refRow, referencedRows, namedUuidSuffix);
-                            } catch (InterruptedException | ExecutionException e) {
-                                LOG.error("Exception while extracting multi-level Row references " + e.getLocalizedMessage());
-                            }
-                        } else {
-                            modifiedSet.add(obj);
-                        }
-                    }
-                    column.setData(modifiedSet);
-                }
-            }
-        }
-    }
-
-    /**
-     * getNormalizedRow normalizes the Row from a namedUuid Space as defined in extractReferencedRows to the actual Uuid as created
-     * by the Ovsdb-server. In order to perform this normalization, it processes the operation results for a corresponding Transaction
-     * where the referenced rows are inserted along with the Primary row. It changes the named-Uuid to the actual Uuid before returning
-     * the Row to the application.
-     *
-     * @param dbSchema Database Schema supported by the node.
-     * @param row Row Tree with parent-child relationships via column of type refTable.
-     * @param tableName Table on which the row is inserted
-     * @param referencedRows Map of Named-UUID to the actual referenced row (with RefTable)
-     * @param operationResults Operation Results returned by ovsdb-server for the insertTree transaction
-     * @param referencedRowsInsertIndex Starting index in OperationResults from which the ReferencedRow insert results begin.
-     * @return
-     */
-    private Row<GenericTableSchema> getNormalizedRow(DatabaseSchema dbSchema, String tableName, Row<GenericTableSchema> row,
-                                                     Map<UUID, Map.Entry<String, Row<GenericTableSchema>>> referencedRows,
-                                                     List<OperationResult> operationResults, int referencedRowsInsertIndex) {
-        UUID primaryRowUuid = operationResults.get(0).getUuid();
-        TableSchema<GenericTableSchema> primaryRowTableSchema = dbSchema.table(tableName, GenericTableSchema.class);
-        ColumnSchema<GenericTableSchema, UUID> uuid = primaryRowTableSchema.column("_uuid", UUID.class);
-        if (uuid != null) {
-            Column<GenericTableSchema, UUID> uuidColumn = new Column<>(uuid, primaryRowUuid);
-            row.addColumn("_uuid", uuidColumn);
-        }
-
-        if (referencedRows != null) {
-            Collection<Column<GenericTableSchema, ?>> columns = row.getColumns();
-            Object[] rowKeys = referencedRows.keySet().toArray();
-            for (int idx = 0; idx < rowKeys.length; idx++) {
-                UUID refUuid = (UUID) rowKeys[idx];
-                for (Column column : columns) {
-                    if (column.getData() != null) {
-                        if ((column.getData() instanceof UUID) && column.getData().equals(refUuid)) {
-                            column.setData(operationResults.get(referencedRowsInsertIndex + idx).getUuid());
-                        } else if ((column.getData() instanceof OvsdbSet) && ((OvsdbSet)column.getData()).contains(refUuid)) {
-                            OvsdbSet<UUID> refSet = (OvsdbSet<UUID>)column.getData();
-                            refSet.remove(refUuid);
-                            refSet.add(operationResults.get(referencedRowsInsertIndex + idx).getUuid());
-                        }
-                    }
-                }
-            }
-        }
-        return row;
-    }
-
-    @Override
-    public Row<GenericTableSchema> updateRow(Node node, String databaseName,
-            String tableName, UUID rowUuid, Row<GenericTableSchema> row,
-            boolean overwrite) {
-        Connection connection = connectionService.getConnection(node);
-        OvsdbClient client = connection.getClient();
-
-        LOG.debug("updateRow : Connection : {} databaseName : {} tableName : {} rowUUID : {} row : {}",
-                client.getConnectionInfo(), databaseName, tableName, rowUuid, row.toString());
-        try{
-            DatabaseSchema dbSchema = client.getDatabaseSchema(databaseName);
-            TransactionBuilder transactionBuilder = client.transactBuilder(dbSchema);
-            TableSchema<GenericTableSchema> tableSchema = dbSchema.table(tableName, GenericTableSchema.class);
-            ColumnSchema<GenericTableSchema, UUID> uuid = tableSchema.column("_uuid", UUID.class);
-            transactionBuilder.add(op.update(tableSchema, row)
-                    .where(uuid.opEqual(rowUuid))
-                    .build());
-
-            ListenableFuture<List<OperationResult>> results = transactionBuilder.execute();
-            List<OperationResult> operationResults = results.get();
-            for (OperationResult result : operationResults) {
-                if (result.getError() != null) {
-                    throw new OvsdbPluginException("Error updating row : " + result.getError() +
-                                                   " Details: " + result.getDetails());
-                }
-            }
-            if (operationResults.isEmpty() || (transactionBuilder.getOperations().size() != operationResults.size())) {
-                throw new OvsdbPluginException("Failed to update row. Please check OVS logs for more info.");
-            }
-
-            return this.getRow(node, databaseName, tableName, rowUuid);
-        } catch(Exception e){
-            throw new OvsdbPluginException("Error updating row due to an exception "+ e.getMessage());
-        }
-    }
-
-    @Override
-    public void deleteRow(Node node, String databaseName, String tableName, String parentTable, UUID parentRowUuid,
-            String parentColumn, UUID rowUuid) {
-        Connection connection = connectionService.getConnection(node);
-        OvsdbClient client = connection.getClient();
-
-        if (parentTable == null && parentRowUuid != null) {
-            parentTable = this.getTableNameForRowUuid(node, databaseName, parentRowUuid);
-        }
-
-        String myParentColumn = parentColumn;
-        if (myParentColumn == null && parentTable != null) {
-            DatabaseSchema dbSchema = client.getDatabaseSchema(databaseName);
-            TableSchema<GenericTableSchema> parentTableSchema = dbSchema.table(parentTable, GenericTableSchema.class);
-            myParentColumn = this.getReferencingColumn(parentTableSchema, tableName);
-        }
-
-        LOG.debug("deleteRow : Connection : {} databaseName : {} tableName : {} Uuid : {} ParentTable : {} ParentColumn : {}",
-                client.getConnectionInfo(), databaseName, tableName, rowUuid, parentTable, myParentColumn);
-
-        DatabaseSchema dbSchema = client.getDatabaseSchema(databaseName);
-        TransactionBuilder transactionBuilder = client.transactBuilder(dbSchema);
-        this.processDeleteTransaction(client, databaseName, tableName,
-                                      parentTable, myParentColumn, rowUuid.toString(), transactionBuilder);
-
-        ListenableFuture<List<OperationResult>> results = transactionBuilder.execute();
-        List<OperationResult> operationResults;
-        try {
-            operationResults = results.get();
-            if (operationResults.isEmpty() || (transactionBuilder.getOperations().size() != operationResults.size())) {
-                throw new OvsdbPluginException("Delete Operation Failed");
-            }
-            for (OperationResult result : operationResults) {
-                if (result.getError() != null) {
-                    throw new OvsdbPluginException("Delete Operation Failed with Error : " + result.getError());
-                }
-            }
-        } catch (InterruptedException | ExecutionException e) {
-            LOG.error("Error in deleteRow() {} {} {} {}", node, databaseName, tableName, parentTable, e);
-        }
-    }
-
-    @Override
-    public void deleteRow(Node node, String databaseName, String tableName, UUID rowUuid) {
-        this.deleteRow(node, databaseName, tableName, null, null, null, rowUuid);
-    }
-
-    @Override
-    public Row<GenericTableSchema> getRow(Node node, String databaseName,
-            String tableName, UUID uuid) {
-        ConcurrentMap<UUID, Row<GenericTableSchema>> rows = this.getRows(node, databaseName, tableName);
-        if (rows != null) {
-            return rows.get(uuid);
-        }
-        return null;
-    }
-
-    @Override
-    public ConcurrentMap<UUID, Row<GenericTableSchema>> getRows(Node node,
-            String databaseName, String tableName) throws OvsdbPluginException {
-        ConcurrentMap<String, Row> ovsTable = ovsdbInventoryService.getTableCache(node, databaseName, tableName);
-        if (ovsTable == null) {
-            return null;
-        }
-        ConcurrentMap<UUID, Row<GenericTableSchema>> tableDB = Maps.newConcurrentMap();
-        for (String uuidStr : ovsTable.keySet()) {
-            tableDB.put(new UUID(uuidStr), ovsTable.get(uuidStr));
-        }
-        return tableDB;
-    }
-
-    @Override
-    public ConcurrentMap<UUID, Row<GenericTableSchema>> getRows(Node node,
-            String databaseName, String tableName, String fiqlQuery) {
-        return this.getRows(node, databaseName, tableName);
-    }
-
-    @Override
-    public List<String> getTables(Node node, String databaseName) {
-        ConcurrentMap<String, ConcurrentMap<String, Row>> cache  = ovsdbInventoryService.getCache(node, databaseName);
-        if (cache == null) {
-            return null;
-        } else {
-            return new ArrayList<>(cache.keySet());
-        }
-    }
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/impl/ConnectionServiceImpl.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/impl/ConnectionServiceImpl.java
deleted file mode 100644 (file)
index 41a3655..0000000
+++ /dev/null
@@ -1,352 +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.plugin.impl;
-
-import io.netty.channel.ChannelHandler;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ExecutionException;
-
-import org.opendaylight.ovsdb.lib.MonitorCallBack;
-import org.opendaylight.ovsdb.lib.OvsdbClient;
-import org.opendaylight.ovsdb.lib.OvsdbConnection;
-import org.opendaylight.ovsdb.lib.OvsdbConnectionInfo;
-import org.opendaylight.ovsdb.lib.OvsdbConnectionListener;
-import org.opendaylight.ovsdb.lib.message.MonitorRequest;
-import org.opendaylight.ovsdb.lib.message.MonitorRequestBuilder;
-import org.opendaylight.ovsdb.lib.message.MonitorSelect;
-import org.opendaylight.ovsdb.lib.message.TableUpdates;
-import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
-import org.opendaylight.ovsdb.lib.schema.GenericTableSchema;
-import org.opendaylight.ovsdb.lib.schema.TableSchema;
-import org.opendaylight.ovsdb.plugin.api.Connection;
-import org.opendaylight.ovsdb.plugin.api.ConnectionConstants;
-import org.opendaylight.ovsdb.plugin.api.Status;
-import org.opendaylight.ovsdb.plugin.api.StatusCode;
-import org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService;
-import org.opendaylight.ovsdb.plugin.api.OvsdbInventoryService;
-import org.opendaylight.ovsdb.utils.config.ConfigProperties;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.google.common.collect.Lists;
-
-
-/**
- * Represents the openflow plugin component in charge of programming the flows
- * the flow programming and relay them to functional modules above SAL.
- */
-public class ConnectionServiceImpl implements OvsdbConnectionService,
-                                              OvsdbConnectionListener {
-    private static final Logger LOG = LoggerFactory.getLogger(ConnectionServiceImpl.class);
-
-    // Properties that can be set in config.ini
-    private static final Integer DEFAULT_OVSDB_PORT = 6640;
-    private static final String OVSDB_LISTENPORT = "ovsdb.listenPort";
-
-
-    public void putOvsdbConnection (String identifier, Connection connection) {
-        ovsdbConnections.put(identifier, connection);
-    }
-
-    private ConcurrentMap<String, Connection> ovsdbConnections = new ConcurrentHashMap<String, Connection>();
-    private List<ChannelHandler> handlers = null;
-
-    private volatile OvsdbInventoryService ovsdbInventoryService;
-    private volatile OvsdbConnection connectionLib;
-
-    public void setOvsdbInventoryService(OvsdbInventoryService inventoryService) {
-        this.ovsdbInventoryService = inventoryService;
-    }
-
-    public void setOvsdbConnection(OvsdbConnection ovsdbConnection) {
-        this.connectionLib = ovsdbConnection;
-    }
-
-    public void init() {
-    }
-
-    /**
-     * Function called by the dependency manager when at least one dependency
-     * become unsatisfied or when the component is shutting down because for
-     * example bundle is being stopped.
-     */
-    void destroy() {
-    }
-
-    /**
-     * Function called by dependency manager after "init ()" is called and after
-     * the services provided by the class are registered in the service registry
-     */
-    void start() {
-        /* Start ovsdb server before getting connection clients */
-        String portString = ConfigProperties.getProperty(OvsdbConnectionService.class, OVSDB_LISTENPORT);
-        int ovsdbListenPort = DEFAULT_OVSDB_PORT;
-        if (portString != null) {
-            ovsdbListenPort = Integer.parseInt(portString);
-        }
-
-        if (!connectionLib.startOvsdbManager(ovsdbListenPort)) {
-            LOG.warn("Start OVSDB manager call from ConnectionService was not necessary");
-        }
-
-        /* Then get connection clients */
-        Collection<OvsdbClient> connections = connectionLib.getConnections();
-        for (OvsdbClient client : connections) {
-            LOG.info("CONNECT start connected clients client = {}", client);
-            this.connected(client);
-        }
-    }
-
-    /**
-     * Function called by the dependency manager before the services exported by
-     * the component are unregistered, this will be followed by a "destroy ()"
-     * calls
-     */
-    void stopping() {
-        for (Connection connection : ovsdbConnections.values()) {
-            connection.disconnect();
-        }
-    }
-
-    public Status disconnect(Node node) {
-        Connection connection = getConnection(node);
-        if (connection != null) {
-            ovsdbConnections.remove(normalizeId(node.getId().getValue()));
-            connection.disconnect();
-            ovsdbInventoryService.removeNode(node);
-            return new Status(StatusCode.SUCCESS);
-        } else {
-            return new Status(StatusCode.NOTFOUND);
-        }
-    }
-
-    public Node connect(String identifier, Map<ConnectionConstants, String> params) {
-        InetAddress address;
-        Integer port;
-
-        try {
-            address = InetAddress.getByName(params.get(ConnectionConstants.ADDRESS));
-        } catch (Exception e) {
-            LOG.error("Unable to resolve {}", params.get(ConnectionConstants.ADDRESS), e);
-            return null;
-        }
-
-        try {
-            port = Integer.parseInt(params.get(ConnectionConstants.PORT));
-            if (port == 0) {
-                port = DEFAULT_OVSDB_PORT;
-            }
-        } catch (Exception e) {
-            port = DEFAULT_OVSDB_PORT;
-        }
-
-        try {
-            OvsdbClient client = connectionLib.connect(address, port);
-            return handleNewConnection(identifier, client);
-        } catch (InterruptedException e) {
-            LOG.error("Thread was interrupted during connect", e);
-        } catch (ExecutionException e) {
-            LOG.error("ExecutionException in handleNewConnection for identifier " + identifier, e);
-        }
-        return null;
-    }
-
-    public List<ChannelHandler> getHandlers() {
-        return handlers;
-    }
-
-    public void setHandlers(List<ChannelHandler> handlers) {
-        this.handlers = handlers;
-    }
-
-    private String normalizeId (String identifier) {
-        String id = identifier;
-
-        String[] pair = identifier.split("\\|");
-        if (pair[0].equals("OVS")) {
-            id = pair[1];
-        }
-
-        return id;
-    }
-
-    @Override
-    public Connection getConnection(Node node) {
-        return ovsdbConnections.get(normalizeId(node.getId().getValue()));
-    }
-
-    @Override
-    public Node getNode (String identifier) {
-        Connection connection = ovsdbConnections.get(normalizeId(identifier));
-        if (connection != null) {
-            return connection.getNode();
-        } else {
-            return null;
-        }
-    }
-
-    @Override
-    public List<Node> getNodes() {
-        List<Node> nodes = new ArrayList<>();
-        for (Connection connection : ovsdbConnections.values()) {
-            nodes.add(connection.getNode());
-        }
-        return nodes;
-    }
-
-    private Node handleNewConnection(String identifier, OvsdbClient client) throws InterruptedException, ExecutionException {
-        Connection connection = new Connection(identifier, client);
-        Node node = connection.getNode();
-        ovsdbConnections.put(identifier, connection);
-        List<String> dbs = client.getDatabases().get();
-        for (String db : dbs) {
-            client.getSchema(db).get();
-        }
-        // Keeping the Initial inventory update(s) on its own thread.
-        new Thread() {
-            Connection connection;
-            String identifier;
-
-            @Override
-            public void run() {
-                try {
-                    LOG.info("Initialize inventory for {}", connection.toString());
-                    initializeInventoryForNewNode(connection);
-                } catch (InterruptedException | ExecutionException | IOException e) {
-                    LOG.error("Failed to initialize inventory for node with identifier {}", identifier, e);
-                    ovsdbConnections.remove(identifier);
-                }
-            }
-            public Thread initializeConnectionParams(String identifier, Connection connection) {
-                this.identifier = identifier;
-                this.connection = connection;
-                return this;
-            }
-        }.initializeConnectionParams(identifier, connection).start();
-        return node;
-    }
-
-    public void channelClosed(Node node) throws Exception {
-        LOG.info("Connection to Node : {} closed", node);
-        disconnect(node);
-        ovsdbInventoryService.removeNode(node);
-    }
-
-    private void initializeInventoryForNewNode (Connection connection) throws InterruptedException, ExecutionException, IOException {
-        OvsdbClient client = connection.getClient();
-        InetAddress address = client.getConnectionInfo().getRemoteAddress();
-        int port = client.getConnectionInfo().getRemotePort();
-
-        List<String> databases = client.getDatabases().get();
-        if (databases == null) {
-            LOG.error("Unable to get Databases for the ovsdb connection : {}", client.getConnectionInfo());
-            return;
-        }
-        for (String database : databases) {
-            DatabaseSchema dbSchema = client.getSchema(database).get();
-            TableUpdates updates = this.monitorTables(connection.getNode(), dbSchema);
-            ovsdbInventoryService.processTableUpdates(connection.getNode(), dbSchema.getName(), updates);
-        }
-        LOG.info("Notifying Inventory Listeners for Node Added: {}", connection.getNode().toString());
-        ovsdbInventoryService.notifyNodeAdded(connection.getNode(), address, port);
-    }
-
-    public TableUpdates monitorTables(Node node, DatabaseSchema dbSchema) throws ExecutionException, InterruptedException, IOException {
-        Connection connection = getConnection(node);
-        OvsdbClient client = connection.getClient();
-        if (dbSchema == null) {
-            LOG.error("Unable to get Database Schema for the ovsdb connection : {}", client.getConnectionInfo());
-            return null;
-        }
-        Set<String> tables = dbSchema.getTables();
-        if (tables == null) {
-            LOG.warn("Database {} without any tables. Strange !", dbSchema.getName());
-            return null;
-        }
-        List<MonitorRequest<GenericTableSchema>> monitorRequests = Lists.newArrayList();
-        for (String tableName : tables) {
-            GenericTableSchema tableSchema = dbSchema.table(tableName, GenericTableSchema.class);
-            monitorRequests.add(this.getAllColumnsMonitorRequest(tableSchema));
-        }
-        return client.monitor(dbSchema, monitorRequests, new UpdateMonitor(node));
-    }
-
-    /**
-     * As per RFC 7047, section 4.1.5, if a Monitor request is sent without any columns, the update response will not include
-     * the _uuid column.
-     * ----------------------------------------------------------------------------------------------------------------------------------
-     * Each &lt;monitor-request&gt; specifies one or more columns and the manner in which the columns (or the entire table) are to be monitored.
-     * The "columns" member specifies the columns whose values are monitored. It MUST NOT contain duplicates.
-     * If "columns" is omitted, all columns in the table, except for "_uuid", are monitored.
-     * ----------------------------------------------------------------------------------------------------------------------------------
-     * In order to overcome this limitation, this method
-     *
-     * @return MonitorRequest that includes all the Bridge Columns including _uuid
-     */
-    public <T extends TableSchema<T>> MonitorRequest<T> getAllColumnsMonitorRequest (T tableSchema) {
-        Set<String> columns = tableSchema.getColumns();
-        MonitorRequestBuilder<T> monitorBuilder = MonitorRequestBuilder.builder(tableSchema);
-        for (String column : columns) {
-            monitorBuilder.addColumn(column);
-        }
-        return monitorBuilder.with(new MonitorSelect(true, true, true, true)).build();
-    }
-
-    private class UpdateMonitor implements MonitorCallBack {
-        Node node = null;
-        public UpdateMonitor(Node node) {
-            this.node = node;
-        }
-
-        @Override
-        public void update(TableUpdates result, DatabaseSchema dbSchema) {
-            ovsdbInventoryService.processTableUpdates(node, dbSchema.getName(), result);
-        }
-
-        @Override
-        public void exception(Throwable t) {
-            System.out.println("Exception t = " + t);
-        }
-    }
-
-    private String getConnectionIdentifier(OvsdbClient client) {
-        OvsdbConnectionInfo info = client.getConnectionInfo();
-        return info.getRemoteAddress().getHostAddress()+":"+info.getRemotePort();
-    }
-
-
-    @Override
-    public void connected(OvsdbClient client) {
-        String identifier = getConnectionIdentifier(client);
-        try {
-            this.handleNewConnection(identifier, client);
-        } catch (InterruptedException | ExecutionException e) {
-            e.printStackTrace();
-        }
-    }
-
-    @Override
-    public void disconnected(OvsdbClient client) {
-        Connection connection = ovsdbConnections.get(this.getConnectionIdentifier(client));
-        if (connection == null) {
-            return;
-        }
-        this.disconnect(connection.getNode());
-    }
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/impl/InventoryServiceImpl.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/impl/InventoryServiceImpl.java
deleted file mode 100644 (file)
index c6cfb6d..0000000
+++ /dev/null
@@ -1,236 +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.plugin.impl;
-
-import java.net.InetAddress;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-
-import org.opendaylight.ovsdb.lib.message.TableUpdate;
-import org.opendaylight.ovsdb.lib.message.TableUpdates;
-import org.opendaylight.ovsdb.lib.notation.Row;
-import org.opendaylight.ovsdb.lib.notation.UUID;
-import org.opendaylight.ovsdb.plugin.internal.NodeDatabase;
-import org.opendaylight.ovsdb.plugin.api.OvsVswitchdSchemaConstants;
-import org.opendaylight.ovsdb.plugin.api.OvsdbConfigurationService;
-import org.opendaylight.ovsdb.plugin.api.OvsdbInventoryListener;
-import org.opendaylight.ovsdb.plugin.api.OvsdbInventoryService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-
-import com.google.common.collect.Sets;
-
-import com.google.common.collect.Maps;
-
-/**
- * Stub Implementation for IPluginInReadService used by SAL
- *
- *
- */
-public class InventoryServiceImpl implements OvsdbInventoryService {
-    private ConcurrentMap<Node, NodeDatabase> dbCache = Maps.newConcurrentMap();
-    private ScheduledExecutorService executor;
-    private OvsdbConfigurationService ovsdbConfigurationService;
-
-    private Set<OvsdbInventoryListener> ovsdbInventoryListeners = Sets.newCopyOnWriteArraySet();
-
-    /**
-     * Function called by the dependency manager when all the required
-     * dependencies are satisfied
-     *
-     */
-    public void init() {
-        this.executor = Executors.newSingleThreadScheduledExecutor();
-    }
-
-    /**
-     * Function called by the dependency manager when at least one dependency
-     * become unsatisfied or when the component is shutting down because for
-     * example bundle is being stopped.
-     *
-     */
-    public void destroy() {
-    }
-
-    /**
-     * Function called by dependency manager after "init ()" is called and after
-     * the services provided by the class are registered in the service registry
-     *
-     */
-    public void start() {
-    }
-
-    /**
-     * Function called by the dependency manager before the services exported by
-     * the component are unregistered, this will be followed by a "destroy ()"
-     * calls
-     *
-     */
-    public void stop() {
-        this.executor.shutdownNow();
-    }
-
-    public void setOvsdbConfigurationService(OvsdbConfigurationService service) {
-        ovsdbConfigurationService = service;
-    }
-
-    public void unsetConfigurationService(OvsdbConfigurationService service) {
-        ovsdbConfigurationService = null;
-    }
-
-    @Override
-    public ConcurrentMap<String, ConcurrentMap<String, Row>> getCache(Node n, String databaseName) {
-        NodeDatabase db = dbCache.get(n);
-        if (db == null) {
-            return null;
-        }
-        return db.getDatabase(databaseName);
-    }
-
-
-    @Override
-    public ConcurrentMap<String, Row> getTableCache(Node n, String databaseName, String tableName) {
-        NodeDatabase db = dbCache.get(n);
-        if (db == null) {
-            return null;
-        }
-        return db.getTableCache(databaseName, tableName);
-    }
-
-
-    @Override
-    public Row getRow(Node n, String databaseName, String tableName, String uuid) {
-        NodeDatabase db = dbCache.get(n);
-        if (db == null) {
-            return null;
-        }
-        return db.getRow(databaseName, tableName, uuid);
-    }
-
-    @Override
-    public void updateRow(Node n, String databaseName, String tableName, String uuid, Row row) {
-        NodeDatabase db = dbCache.get(n);
-        if (db == null) {
-            db = new NodeDatabase();
-            dbCache.put(n, db);
-        }
-        db.updateRow(databaseName, tableName, uuid, row);
-    }
-
-    @Override
-    public void removeRow(Node n, String databaseName, String tableName, String uuid) {
-        NodeDatabase db = dbCache.get(n);
-        if (db != null) {
-            db.removeRow(databaseName, tableName, uuid);
-        }
-    }
-
-    @Override
-    public void processTableUpdates(Node n, String databaseName, TableUpdates tableUpdates) {
-        NodeDatabase db = dbCache.get(n);
-        if (db == null) {
-            db = new NodeDatabase();
-            dbCache.put(n, db);
-        }
-
-        for (String tableName : tableUpdates.getUpdates().keySet()) {
-            Map<String, Row> tCache = db.getTableCache(databaseName, tableName);
-            TableUpdate update = tableUpdates.getUpdates().get(tableName);
-            for (UUID uuid : (Set<UUID>)update.getRows().keySet()) {
-
-            if (update.getNew(uuid) != null) {
-                boolean isNewRow = (tCache == null || tCache.get(uuid.toString()) == null);
-                db.updateRow(databaseName, tableName, uuid.toString(), update.getNew(uuid));
-                if (isNewRow) {
-                    this.handleOpenVSwitchSpecialCase(n, databaseName, tableName, uuid);
-                    if (!ovsdbInventoryListeners.isEmpty()) {
-                        for (OvsdbInventoryListener listener : ovsdbInventoryListeners) {
-                            listener.rowAdded(n, tableName, uuid.toString(), update.getNew(uuid));
-                        }
-                    }
-                } else {
-                    if (!ovsdbInventoryListeners.isEmpty()) {
-                        for (OvsdbInventoryListener listener : ovsdbInventoryListeners) {
-                            listener.rowUpdated(n, tableName, uuid.toString(), update.getOld(uuid), update.getNew(uuid));
-                        }
-                    }
-                }
-            } else if (update.getOld(uuid) != null){
-                if (tCache != null) {
-                    if (!ovsdbInventoryListeners.isEmpty()) {
-                        for (OvsdbInventoryListener listener : ovsdbInventoryListeners) {
-                            listener.rowRemoved(n, tableName, uuid.toString(), update.getOld(uuid), update.getNew(uuid));
-                        }
-                    }
-                }
-                db.removeRow(databaseName, tableName, uuid.toString());
-            }
-            }
-        }
-    }
-
-    private void handleOpenVSwitchSpecialCase(final Node node, final String databaseName, final String tableName, final UUID uuid) {
-        if (OvsVswitchdSchemaConstants.shouldConfigureController(databaseName, tableName)) {
-            Runnable updateControllerRunnable = new Runnable() {
-                @Override
-                public void run() {
-                    try {
-                        if (ovsdbConfigurationService != null) {
-                            ovsdbConfigurationService.setOFController(node, uuid.toString());
-                        }
-                    } catch (InterruptedException | ExecutionException e) {
-                        e.printStackTrace();
-                    }
-                }
-            };
-            executor.execute(updateControllerRunnable);
-        }
-    }
-
-    @Override
-    public void printCache(Node n) {
-        if ((dbCache != null) && (!dbCache.isEmpty())) {
-            NodeDatabase db = dbCache.get(n);
-            if (db != null) {
-                db.printTableCache();
-            }
-        }
-    }
-
-    @Override
-    public void notifyNodeAdded(Node node, InetAddress address, int port) {
-        if (!ovsdbInventoryListeners.isEmpty()) {
-            for (OvsdbInventoryListener listener : ovsdbInventoryListeners) {
-                listener.nodeAdded(node, address, port);
-            }
-        }
-    }
-
-    @Override
-    public void removeNode(Node node) {
-        if (!ovsdbInventoryListeners.isEmpty()) {
-            for (OvsdbInventoryListener listener : ovsdbInventoryListeners) {
-                listener.nodeRemoved(node);
-            }
-        }
-
-        dbCache.remove(node);
-    }
-
-    private void listenerAdded(OvsdbInventoryListener listener) {
-        this.ovsdbInventoryListeners.add(listener);
-    }
-
-    private void listenerRemoved(OvsdbInventoryListener listener) {
-        this.ovsdbInventoryListeners.remove(listener);
-    }
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/internal/Activator.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/internal/Activator.java
deleted file mode 100644 (file)
index 3077c95..0000000
+++ /dev/null
@@ -1,71 +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.plugin.internal;
-
-import org.apache.felix.dm.DependencyActivatorBase;
-import org.apache.felix.dm.DependencyManager;
-import org.opendaylight.ovsdb.lib.OvsdbConnection;
-import org.opendaylight.ovsdb.lib.OvsdbConnectionListener;
-import org.opendaylight.ovsdb.plugin.api.OvsdbConfigurationService;
-import org.opendaylight.ovsdb.plugin.api.OvsdbConnectionService;
-import org.opendaylight.ovsdb.plugin.api.OvsdbInventoryListener;
-import org.opendaylight.ovsdb.plugin.api.OvsdbInventoryService;
-import org.opendaylight.ovsdb.plugin.impl.ConfigurationServiceImpl;
-import org.opendaylight.ovsdb.plugin.impl.ConnectionServiceImpl;
-import org.opendaylight.ovsdb.plugin.impl.InventoryServiceImpl;
-
-import org.osgi.framework.BundleContext;
-
-/**
- * OVSDB protocol plugin Activator
- *
- *
- */
-public class Activator extends DependencyActivatorBase {
-
-    @Override
-    public void init(BundleContext context, DependencyManager manager) throws Exception {
-        manager.add(createComponent()
-                        .setInterface(OvsdbConfigurationService.class.getName(), null)
-                        .setImplementation(ConfigurationServiceImpl.class)
-                        .add(createServiceDependency()
-                                        .setService(OvsdbConnectionService.class)
-                                        .setRequired(true))
-                        .add(createServiceDependency()
-                                .setService(OvsdbInventoryService.class)
-                                .setRequired(true)));
-
-        manager.add(createComponent()
-                        .setInterface(
-                                new String[] {OvsdbConnectionService.class.getName(),
-                                        OvsdbConnectionListener.class.getName()}, null)
-                        .setImplementation(ConnectionServiceImpl.class)
-                        .add(createServiceDependency()
-                                .setService(OvsdbInventoryService.class)
-                                .setRequired(true))
-                        .add(createServiceDependency()
-                                .setService(OvsdbConnection.class)
-                                .setRequired(true))
-        );
-
-        manager.add(createComponent()
-                        .setInterface(OvsdbInventoryService.class.getName(), null)
-                        .setImplementation(InventoryServiceImpl.class)
-                        .add(createServiceDependency()
-                                .setService(OvsdbInventoryListener.class)
-                                .setCallbacks("listenerAdded", "listenerRemoved"))
-                        .add(createServiceDependency()
-                                .setService(OvsdbConfigurationService.class)
-                                .setRequired(false)));
-    }
-
-    @Override
-    public void destroy(BundleContext context, DependencyManager manager) throws Exception {
-    }
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/internal/Encapsulation.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/internal/Encapsulation.java
deleted file mode 100644 (file)
index ac66169..0000000
+++ /dev/null
@@ -1,29 +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.plugin.internal;
-
-public enum Encapsulation {
-
-    VXLAN("vxlan"), GRE("gre"), CAPWAP("capwap");
-
-    private final String value;
-
-    private Encapsulation(final String value) {
-        this.value = value;
-    }
-
-    public String getValue() {
-        return value;
-    }
-
-    @Override
-    public String toString() {
-        return getValue();
-    }
-}
diff --git a/plugin/src/main/java/org/opendaylight/ovsdb/plugin/internal/NodeDatabase.java b/plugin/src/main/java/org/opendaylight/ovsdb/plugin/internal/NodeDatabase.java
deleted file mode 100644 (file)
index 46d8175..0000000
+++ /dev/null
@@ -1,138 +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.plugin.internal;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.concurrent.ConcurrentMap;
-
-import org.apache.commons.collections.MapUtils;
-import org.opendaylight.ovsdb.lib.notation.Column;
-import org.opendaylight.ovsdb.lib.notation.Row;
-
-import com.google.common.collect.Maps;
-
-public class NodeDatabase {
-    ConcurrentMap<String, TableDB> dbCache = Maps.newConcurrentMap();
-
-    public ConcurrentMap<String, ConcurrentMap<String, Row>> getDatabase(String dbName) {
-        TableDB tdb = dbCache.get(dbName);
-        if (tdb == null) {
-           return null;
-        }
-        return tdb.getTableCache();
-    }
-
-    public ConcurrentMap<String, Row> getTableCache(String dbName, String tableName) {
-        ConcurrentMap<String, ConcurrentMap<String,Row>> tdbMap = getDatabase(dbName);
-        if (tdbMap == null) {
-           return null;
-        }
-        return tdbMap.get(tableName);
-    }
-
-    private void setDBCache(String dbName,  TableDB table) {
-        dbCache.put(dbName, table);
-    }
-
-    public Row getRow (String dbName, String tableName, String uuid) {
-        ConcurrentMap<String, Row> tdb = this.getTableCache(dbName, tableName);
-        if (tdb == null) {
-           return null;
-        }
-        return tdb.get(uuid);
-    }
-
-    public void updateRow(String dbName, String tableName, String uuid, Row row) {
-        TableDB db = dbCache.get(dbName);
-        if (db == null) {
-            db = new TableDB();
-            setDBCache(dbName, db);
-        }
-        db.updateRow(tableName, uuid, row);
-    }
-
-    public void removeRow(String dbName, String tableName, String uuid) {
-        TableDB db = dbCache.get(dbName);
-        if (db == null) {
-           return;
-        }
-        db.removeRow(tableName, uuid);
-    }
-
-    public void printTableCache() {
-        for (String dbName : dbCache.keySet()) {
-            System.out.println("Database "+dbName);
-            ConcurrentMap<String, ConcurrentMap<String,Row>> tableDB = this.getDatabase(dbName);
-            if (tableDB == null) {
-               continue;
-            }
-            for (String tableName : tableDB.keySet()) {
-                ConcurrentMap<String, Row> tableRows = this.getTableCache(dbName, tableName);
-                System.out.println("\tTable "+tableName);
-                for (String uuid : tableRows.keySet()) {
-                    Row row = tableRows.get(uuid);
-                    Collection<Column> columns = row.getColumns();
-                    System.out.print("\t\t"+uuid+ "==");
-                    for (Column column : columns) {
-                        if (column.getData() != null) {
-                           System.out.print(column.getSchema().getName()+" : "+ column.getData()+" ");
-                        }
-                    }
-                    System.out.println("");
-                }
-                System.out.println("-----------------------------------------------------------");
-            }
-        }
-    }
-
-    public class TableDB {
-        ConcurrentMap<String, ConcurrentMap<String, Row>> cache = Maps.newConcurrentMap();
-
-        public ConcurrentMap<String, ConcurrentMap<String, Row>> getTableCache() {
-            return cache;
-        }
-
-        public ConcurrentMap<String, Row> getTableCache(String tableName) {
-            return cache.get(tableName);
-        }
-
-        private void setTableCache(String tableName,  ConcurrentMap<String, Row> tableCache) {
-            cache.put(tableName, tableCache);
-        }
-
-        public Row getRow (String tableName, String uuid) {
-            Map<String, Row> tableCache = getTableCache(tableName);
-            if (tableCache != null) {
-                return tableCache.get(uuid);
-            }
-            return null;
-        }
-
-        public void updateRow(String tableName, String uuid, Row row) {
-            ConcurrentMap<String, Row> tableCache = getTableCache(tableName);
-            if (tableCache == null) {
-                tableCache = Maps.newConcurrentMap();
-                setTableCache(tableName, tableCache);
-            }
-            tableCache.put(uuid, row);
-        }
-
-        public void removeRow(String tableName, String uuid) {
-            Map<String, Row> tableCache = getTableCache(tableName);
-            if (tableCache != null) {
-                tableCache.remove(uuid);
-            }
-        }
-
-        public void printTableCache() {
-            MapUtils.debugPrint(System.out, null, cache);
-        }
-    }
-}
diff --git a/plugin/src/test/java/org/opendaylight/ovsdb/plugin/impl/ConnectionServiceImplTest.java b/plugin/src/test/java/org/opendaylight/ovsdb/plugin/impl/ConnectionServiceImplTest.java
deleted file mode 100644 (file)
index ed46c3f..0000000
+++ /dev/null
@@ -1,63 +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.plugin.impl;
-
-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 org.junit.BeforeClass;
-import org.junit.Test;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
-import org.opendaylight.ovsdb.plugin.api.Connection;
-
-public class ConnectionServiceImplTest {
-    private static final String OVS = "OVS";
-    private static final String IDENTIFIER = "192.168.120.31:45001";
-    private static final String OVS_IDENTIFIER = OVS + "|" + IDENTIFIER;
-    private static final String BAD_IDENTIFIER = "BAD" + "|" + IDENTIFIER;
-    private static ConnectionServiceImpl connectionService;
-
-    @BeforeClass
-    public static void setUp () {
-        connectionService = new ConnectionServiceImpl();
-        Connection connection = new Connection(IDENTIFIER, null);
-        connectionService.putOvsdbConnection(IDENTIFIER, connection);
-    }
-
-    @Test
-    public void testGetNode () {
-        Node node = connectionService.getNode(IDENTIFIER);
-        assertNotNull("Node " + IDENTIFIER + " is null", node);
-
-        node = connectionService.getNode(OVS_IDENTIFIER);
-        assertNotNull("Node " + OVS_IDENTIFIER + " is null", node);
-
-        node = connectionService.getNode(IDENTIFIER + "extra");
-        assertNull("Node " + BAD_IDENTIFIER + " is not null", node);
-    }
-
-    @Test
-    public void testGetConnection () {
-        Node node = connectionService.getNode(IDENTIFIER);
-        assertNotNull("Node " + IDENTIFIER + " is null", node);
-
-        Connection connection = connectionService.getConnection(node);
-        assertNotNull("Connection " + IDENTIFIER + " is null", connection);
-
-        try {
-            connection = connectionService.getConnection(null);
-            fail("Expected a NullPointerException to be thrown");
-        } catch (NullPointerException e) {
-            assertSame(NullPointerException.class, e.getClass());
-        }
-    }
-}
diff --git a/pom.xml b/pom.xml
index 9cac2d363da2a0b21a2cbfb95f1eac4b56e620f9..ecde2ef8bdd681f0d795d216cd6b8e1d17237d3a 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -60,9 +60,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <module>southbound</module>
     <module>northbound</module>
     <module>openstack</module>
-    <module>plugin</module>
     <module>ovsdb-artifacts</module>
-    <module>ovsdb-plugin-compatibility-layer</module>
     <module>plugin-shell</module>
     <module>schemas</module>
     <module>utils</module>