MLHR-1725 - Add Support for Setters to PojoUtils
diff --git a/contrib/src/main/java/com/datatorrent/contrib/memsql/MemsqlOutputOperator.java b/contrib/src/main/java/com/datatorrent/contrib/memsql/MemsqlOutputOperator.java
index 0462deb..6d24496 100644
--- a/contrib/src/main/java/com/datatorrent/contrib/memsql/MemsqlOutputOperator.java
+++ b/contrib/src/main/java/com/datatorrent/contrib/memsql/MemsqlOutputOperator.java
@@ -230,6 +230,7 @@
   }
 
   @Override
+  @SuppressWarnings("unchecked")
   protected void setStatementParameters(PreparedStatement statement, Object tuple) throws SQLException
   {
     final int size = columnDataTypes.size();
@@ -238,28 +239,28 @@
       switch (type) {
         case (Types.CHAR):
           // TODO: verify that memsql driver handles char as int
-          statement.setInt(++i, ((GetterChar) getters.get(i)).get(tuple));
+          statement.setInt(++i, ((GetterChar<Object>) getters.get(i)).get(tuple));
           break;
         case (Types.VARCHAR):
           statement.setString(++i, ((Getter<Object, String>) getters.get(i)).get(tuple));
           break;
         case (Types.BOOLEAN):
-          statement.setBoolean(++i, ((GetterBoolean) getters.get(i)).get(tuple));
+          statement.setBoolean(++i, ((GetterBoolean<Object>) getters.get(i)).get(tuple));
           break;
         case (Types.SMALLINT):
-          statement.setShort(++i, ((GetterShort) getters.get(i)).get(tuple));
+          statement.setShort(++i, ((GetterShort<Object>) getters.get(i)).get(tuple));
           break;
         case (Types.INTEGER):
-          statement.setInt(++i, ((GetterInt) getters.get(i)).get(tuple));
+          statement.setInt(++i, ((GetterInt<Object>) getters.get(i)).get(tuple));
           break;
         case (Types.BIGINT):
-          statement.setLong (++i, ((GetterLong) getters.get(i)).get(tuple));
+          statement.setLong (++i, ((GetterLong<Object>) getters.get(i)).get(tuple));
           break;
         case (Types.FLOAT):
-          statement.setFloat(++i, ((GetterFloat) getters.get(i)).get(tuple));
+          statement.setFloat(++i, ((GetterFloat<Object>) getters.get(i)).get(tuple));
           break;
         case (Types.DOUBLE):
-          statement.setDouble(++i, ((GetterDouble) getters.get(i)).get(tuple));
+          statement.setDouble(++i, ((GetterDouble<Object>) getters.get(i)).get(tuple));
           break;
         default:
           /*
@@ -269,7 +270,7 @@
             Types.ARRAY
             Types.OTHER
            */
-          statement.setObject(++i, ((Getter)getters.get(i)).get(tuple));
+          statement.setObject(++i, ((Getter<Object, Object>)getters.get(i)).get(tuple));
           break;
       }
     }
diff --git a/library/src/main/java/com/datatorrent/lib/util/PojoUtils.java b/library/src/main/java/com/datatorrent/lib/util/PojoUtils.java
index 5583fd8..a810abf 100644
--- a/library/src/main/java/com/datatorrent/lib/util/PojoUtils.java
+++ b/library/src/main/java/com/datatorrent/lib/util/PojoUtils.java
@@ -32,7 +32,6 @@
 import org.apache.commons.lang3.ClassUtils;
 import org.apache.commons.lang3.StringUtils;
 
-public final class PojoUtils
 /**
  * @since 2.1.0
  */
@@ -502,6 +501,7 @@
     return code.append(fieldExpression).getStatement();
   }
 
+  @SuppressWarnings("StringEquality")
   private static <T> Object createGetter(Class<?> pojoClass, String getterExpr, String exprObjectPlaceholder, Class<?> castClass, Class<T> getterClass)
   {
     logger.debug("{} {} {} {}", pojoClass, getterExpr, castClass, getterClass);
@@ -604,6 +604,7 @@
    * @param setterClass setter interface to implement
    * @return instance of a class that implements requested Setter interface
    */
+  @SuppressWarnings("StringEquality")
   private static <T> Object createSetter(Class<?> pojoClass, String setterExpr, String exprObjectPlaceholder, String exprValPlaceholder, Class<?> exprClass, Class<T> setterClass)
   {
     logger.debug("{} {} {} {}", pojoClass, setterExpr, exprClass, setterClass);