From 883153fad0321a8ef9efc8601a6b8703c0991d29 Mon Sep 17 00:00:00 2001 From: devtagare Date: Tue, 12 Jul 2016 13:40:39 -0700 Subject: [PATCH] APEXMALHAR-2140 ActiveFieldInfo moved to AbstractJdbcPOJOOutputOperator --- .../jdbc/AbstractJdbcPOJOOutputOperator.java | 20 +++++++++++++++---- .../db/jdbc/JdbcPOJOInsertOutputOperator.java | 2 +- .../jdbc/JdbcPOJONonInsertOutputOperator.java | 2 +- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/library/src/main/java/com/datatorrent/lib/db/jdbc/AbstractJdbcPOJOOutputOperator.java b/library/src/main/java/com/datatorrent/lib/db/jdbc/AbstractJdbcPOJOOutputOperator.java index 45e0cbbcff..90111d85b0 100644 --- a/library/src/main/java/com/datatorrent/lib/db/jdbc/AbstractJdbcPOJOOutputOperator.java +++ b/library/src/main/java/com/datatorrent/lib/db/jdbc/AbstractJdbcPOJOOutputOperator.java @@ -38,6 +38,7 @@ import com.datatorrent.api.Context.OperatorContext; import com.datatorrent.api.DefaultInputPort; import com.datatorrent.api.annotation.InputPortFieldAnnotation; +import com.datatorrent.lib.util.FieldInfo; import com.datatorrent.lib.util.PojoUtils; import com.datatorrent.lib.util.PojoUtils.Getter; import com.datatorrent.lib.util.PojoUtils.GetterBoolean; @@ -67,7 +68,7 @@ public abstract class AbstractJdbcPOJOOutputOperator extends AbstractJdbcTransac @NotNull private String tablename; - protected final transient List columnFieldGetters; + protected final transient List columnFieldGetters; protected transient Class pojoClass; @@ -93,6 +94,17 @@ public AbstractJdbcPOJOOutputOperator() super(); columnFieldGetters = Lists.newArrayList(); } + + protected static class ActiveFieldInfo + { + final FieldInfo fieldInfo; + Object setterOrGetter; + + ActiveFieldInfo(FieldInfo fieldInfo) + { + this.fieldInfo = fieldInfo; + } + } @Override @SuppressWarnings("unchecked") @@ -101,7 +113,7 @@ protected void setStatementParameters(PreparedStatement statement, Object tuple) final int size = columnDataTypes.size(); for (int i = 0; i < size; i++) { final int type = columnDataTypes.get(i); - JdbcPOJOInputOperator.ActiveFieldInfo activeFieldInfo = columnFieldGetters.get(i); + ActiveFieldInfo activeFieldInfo = columnFieldGetters.get(i); switch (type) { case (Types.CHAR): case (Types.VARCHAR): @@ -160,7 +172,7 @@ protected void setStatementParameters(PreparedStatement statement, Object tuple) } @SuppressWarnings("UnusedParameters") - protected void handleUnknownDataType(int type, Object tuple, JdbcPOJOInputOperator.ActiveFieldInfo activeFieldInfo) + protected void handleUnknownDataType(int type, Object tuple, ActiveFieldInfo activeFieldInfo) { throw new RuntimeException("unsupported data type " + type); } @@ -212,7 +224,7 @@ public void activate(OperatorContext context) final int size = columnDataTypes.size(); for (int i = 0; i < size; i++) { final int type = columnDataTypes.get(i); - JdbcPOJOInputOperator.ActiveFieldInfo activeFieldInfo = columnFieldGetters.get(i); + ActiveFieldInfo activeFieldInfo = columnFieldGetters.get(i); switch (type) { case (Types.CHAR): case (Types.VARCHAR): diff --git a/library/src/main/java/com/datatorrent/lib/db/jdbc/JdbcPOJOInsertOutputOperator.java b/library/src/main/java/com/datatorrent/lib/db/jdbc/JdbcPOJOInsertOutputOperator.java index 67ec023f32..f5e6081065 100644 --- a/library/src/main/java/com/datatorrent/lib/db/jdbc/JdbcPOJOInsertOutputOperator.java +++ b/library/src/main/java/com/datatorrent/lib/db/jdbc/JdbcPOJOInsertOutputOperator.java @@ -112,7 +112,7 @@ public void activate(OperatorContext context) } for (FieldInfo fi : getFieldInfos()) { - columnFieldGetters.add(new JdbcPOJOInputOperator.ActiveFieldInfo(fi)); + columnFieldGetters.add(new ActiveFieldInfo(fi)); } StringBuilder columns = new StringBuilder(); diff --git a/library/src/main/java/com/datatorrent/lib/db/jdbc/JdbcPOJONonInsertOutputOperator.java b/library/src/main/java/com/datatorrent/lib/db/jdbc/JdbcPOJONonInsertOutputOperator.java index 82ff04346a..54d9dd8a7a 100644 --- a/library/src/main/java/com/datatorrent/lib/db/jdbc/JdbcPOJONonInsertOutputOperator.java +++ b/library/src/main/java/com/datatorrent/lib/db/jdbc/JdbcPOJONonInsertOutputOperator.java @@ -50,7 +50,7 @@ public void setup(OperatorContext context) columnDataTypes = Lists.newArrayList(); for (JdbcFieldInfo fi : getFieldInfos()) { - columnFieldGetters.add(new JdbcPOJOInputOperator.ActiveFieldInfo(fi)); + columnFieldGetters.add(new ActiveFieldInfo(fi)); columnDataTypes.add(fi.getSqlType()); } }