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);