diff --git a/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/ColumnSchema.java b/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/ColumnSchema.java
index 2997bae..23eb2be 100644
--- a/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/ColumnSchema.java
+++ b/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/ColumnSchema.java
@@ -35,8 +35,8 @@
      * @param columnType the column type
      */
     public ColumnSchema(String name, ColumnType columnType) {
-        checkNotNull(name, "name is not null");
-        checkNotNull(columnType, "columnType is not null");
+        checkNotNull(name, "name cannot be null");
+        checkNotNull(columnType, "column type cannot be null");
         this.name = name;
         this.type = columnType;
     }
diff --git a/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/DatabaseSchema.java b/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/DatabaseSchema.java
index 3c29139..298afc6 100644
--- a/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/DatabaseSchema.java
+++ b/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/DatabaseSchema.java
@@ -40,9 +40,9 @@
      */
     public DatabaseSchema(String name, String version,
                           Map<String, TableSchema> tableSchemas) {
-        checkNotNull(name, "name is not null");
-        checkNotNull(version, "version is not null");
-        checkNotNull(tableSchemas, "tableSchemas is not null");
+        checkNotNull(name, "name cannot be null");
+        checkNotNull(version, "version cannot be null");
+        checkNotNull(tableSchemas, "tableSchemas cannot be null");
         this.name = name;
         this.version = version;
         this.tableSchemas = tableSchemas;
diff --git a/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/TableSchema.java b/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/TableSchema.java
index caec2ed..248745d 100644
--- a/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/TableSchema.java
+++ b/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/TableSchema.java
@@ -40,8 +40,8 @@
      * @param columnSchemas a map of ColumnSchema
      */
     public TableSchema(String name, Map<String, ColumnSchema> columnSchemas) {
-        checkNotNull(name, "name is not null");
-        checkNotNull(columnSchemas, "columnSchemas is not null");
+        checkNotNull(name, "name cannot be null");
+        checkNotNull(columnSchemas, "columnSchemas cannot be null");
         this.name = name;
         this.columnSchemas = columnSchemas;
     }
diff --git a/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/AtomicColumnType.java b/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/AtomicColumnType.java
index e083754..881755a 100644
--- a/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/AtomicColumnType.java
+++ b/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/AtomicColumnType.java
@@ -34,7 +34,7 @@
      * @param baseType BaseType entity
      */
     public AtomicColumnType(BaseType baseType) {
-        checkNotNull(baseType, "BaseType is not null");
+        checkNotNull(baseType, "BaseType cannot be null");
         this.baseType = baseType;
         this.min = 1;
         this.max = 1;
@@ -47,7 +47,7 @@
      * @param max max constraint
      */
     public AtomicColumnType(BaseType baseType, int min, int max) {
-        checkNotNull(baseType, "BaseType is not null");
+        checkNotNull(baseType, "BaseType cannot be null");
         this.baseType = baseType;
         this.min = min;
         this.max = max;
diff --git a/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/KeyValuedColumnType.java b/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/KeyValuedColumnType.java
index 2419cdd..8407457 100644
--- a/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/KeyValuedColumnType.java
+++ b/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/KeyValuedColumnType.java
@@ -39,8 +39,8 @@
      */
     public KeyValuedColumnType(BaseType keyType, BaseType valueType, int min,
                                int max) {
-        checkNotNull(keyType, "keyType is not null");
-        checkNotNull(valueType, "valueType is not null");
+        checkNotNull(keyType, "keyType cannot be null");
+        checkNotNull(valueType, "valueType cannot be null");
         this.keyType = keyType;
         this.valueType = valueType;
         this.min = min;
diff --git a/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/UuidBaseType.java b/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/UuidBaseType.java
index 9824966..46e0d9f 100644
--- a/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/UuidBaseType.java
+++ b/ovsdb/rfc/src/main/java/org/onosproject/ovsdb/rfc/schema/type/UuidBaseType.java
@@ -16,6 +16,7 @@
 package org.onosproject.ovsdb.rfc.schema.type;
 
 import static com.google.common.base.MoreObjects.toStringHelper;
+import static com.google.common.base.Preconditions.checkNotNull;
 
 import java.util.Objects;
 
@@ -62,6 +63,7 @@
      * @param refType refType constraint
      */
     public UuidBaseType(String refTable, String refType) {
+        checkNotNull(refType, "refType cannot be null");
         this.refTable = refTable;
         this.refType = refType;
     }
