diff --git a/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/EventSubject.java b/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/EventSubject.java
index 6a06724..d8aaef6 100644
--- a/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/EventSubject.java
+++ b/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/EventSubject.java
@@ -16,8 +16,7 @@
 package org.onosproject.ovsdb.controller;
 
 /**
- * Represents for a entity that carry important information for listener.
+ * Representation for an entity that carries important information for a listener.
  */
 public interface EventSubject {
-
 }
diff --git a/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbBridgeName.java b/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbBridgeName.java
index daedff5..899799f 100644
--- a/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbBridgeName.java
+++ b/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbBridgeName.java
@@ -21,14 +21,15 @@
 import java.util.Objects;
 
 /**
- * The class representing a bridge name. This class is immutable.
+ * The class representing a bridge name.
+ * This class is immutable.
  */
 public final class OvsdbBridgeName {
 
     private final String value;
 
     /**
-     * Constructor from a String bridge name.
+     * Constructor from a String.
      *
      * @param value the bridge name to use
      */
@@ -38,7 +39,7 @@
     }
 
     /**
-     * Gets the value of the bridge name.
+     * Gets the value of bridge name.
      *
      * @return the value of the bridge name
      */
diff --git a/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbClientService.java b/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbClientService.java
index e619f8e..edd25ac 100644
--- a/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbClientService.java
+++ b/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbClientService.java
@@ -43,7 +43,7 @@
     OvsdbNodeId nodeId();
 
     /**
-     * Creates the configuration for the tunnel.
+     * Creates the configuration for tunnel.
      *
      * @param srcIp source IP address
      * @param dstIp destination IP address
@@ -62,7 +62,7 @@
     boolean createTunnel(String bridgeName, String portName, String tunnelType, Map<String, String> options);
 
     /**
-     * Drops the configuration for the tunnel.
+     * Drops the configuration for tunnel.
      *
      * @param srcIp source IP address
      * @param dstIp destination IP address
@@ -70,7 +70,7 @@
     void dropTunnel(IpAddress srcIp, IpAddress dstIp);
 
     /**
-     * Gets tunnels of the node.
+     * Gets tunnels of node.
      *
      * @return set of tunnels; empty if no tunnel is find
      */
@@ -102,14 +102,14 @@
     void dropBridge(String bridgeName);
 
     /**
-     * Gets bridges of the node.
+     * Gets bridges of node.
      *
      * @return set of bridges; empty if no bridge is find
      */
     Set<OvsdbBridge> getBridges();
 
     /**
-     * Gets controllers of the node.
+     * Gets controllers of node.
      *
      * @param openflowDeviceId target device id
      * @return set of controllers; empty if no controller is find
@@ -155,7 +155,7 @@
     void dropPort(String bridgeName, String portName);
 
     /**
-     * Gets ports of the bridge.
+     * Gets ports of bridge.
      *
      * @return set of ports; empty if no ports is find
      */
@@ -247,7 +247,7 @@
     DatabaseSchema getDatabaseSchema(String dbName);
 
     /**
-     * Gets the ovsdb row from the local ovsdb store.
+     * Gets the ovsdb row from local ovsdb store.
      *
      * @param dbName    database name
      * @param tableName table name
@@ -257,7 +257,7 @@
     Row getRow(String dbName, String tableName, String uuid);
 
     /**
-     * Removes the ovsdb row from the local ovsdb store.
+     * Removes the ovsdb row from local ovsdb store.
      *
      * @param dbName    database name
      * @param tableName table name
diff --git a/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbController.java b/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbController.java
index 24bfeae..f22a578 100644
--- a/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbController.java
+++ b/ovsdb/api/src/main/java/org/onosproject/ovsdb/controller/OvsdbController.java
@@ -21,7 +21,7 @@
 import java.util.List;
 
 /**
- * Abstraction of an ovsdb controller. Serves as a one stop shop for obtaining
+ * Abstraction of an ovsdb controller. Serves as an one stop shop for obtaining
  * OvsdbNode and (un)register listeners on ovsdb events and ovsdb node events.
  */
 public interface OvsdbController {
@@ -62,7 +62,7 @@
     List<OvsdbNodeId> getNodeIds();
 
     /**
-     * Gets a ovsdb client by node identifier.
+     * Gets an ovsdb client by node identifier.
      *
      * @param nodeId node identifier
      * @return OvsdbClient ovsdb node information
