diff --git a/java/adapter/jdbc/pom.xml b/java/adapter/jdbc/pom.xml
index 5a879247746..d8dd422ec68 100644
--- a/java/adapter/jdbc/pom.xml
+++ b/java/adapter/jdbc/pom.xml
@@ -29,6 +29,7 @@
arrow-memory
${project.version}
+
org.apache.arrow
@@ -41,7 +42,6 @@
${dep.guava.version}
-
junit
@@ -49,6 +49,7 @@
${dep.junit.version}
test
+
com.h2database
@@ -83,18 +84,55 @@
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
-
- UTC
-
-
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.1
+
+
+
+ default-prepare-agent
+
+ prepare-agent
+
+
+
+ ${project.build.directory}/coverage-reports/jacoco-ut.exec
+
+ surefireArgLine
+
+
+
+
+ post-unit-test
+ test
+
+ report
+
+
+
+ ${project.build.directory}/coverage-reports/jacoco-ut.exec
+
+ true
+ ${project.build.directory}/jacoco-ut
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ UTC
+
+
+ ${surefireArgLine}
+
+
+
+
-
-
-
diff --git a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/AbstractJdbcToArrowTest.java b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/AbstractJdbcToArrowTest.java
index eeea07ec477..2c76c178ea0 100644
--- a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/AbstractJdbcToArrowTest.java
+++ b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/AbstractJdbcToArrowTest.java
@@ -23,10 +23,10 @@
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
-
+import org.apache.arrow.vector.VectorSchemaRoot;
import org.junit.After;
import org.junit.Before;
-
+import org.junit.Test;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
@@ -36,41 +36,6 @@
public abstract class AbstractJdbcToArrowTest {
protected Connection conn = null;
protected Table table;
- protected void createTestData(Connection conn, Table table) throws Exception {
- Statement stmt = null;
- try {
- //create the table and insert the data and once done drop the table
- stmt = conn.createStatement();
- stmt.executeUpdate(table.getCreate());
-
- for (String insert: table.getData()) {
- stmt.executeUpdate(insert);
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- if (stmt != null) {
- stmt.close();
- }
- }
-
- }
-
- protected void deleteTestData(Connection conn, Table table) throws Exception {
- Statement stmt = null;
- try {
- stmt = conn.createStatement();
- stmt.executeUpdate(table.getDrop());
-
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- if (stmt != null) {
- stmt.close();
- }
- }
- }
/**
* This method creates Table object after reading YAML file
@@ -130,4 +95,19 @@ public static Object[][] prepareTestData(String[] testFiles, Class clss) throws
}
return tableArr;
}
+
+ /**
+ * Abstract method to implement test Functionality to test JdbcToArrow methods
+ * @throws SQLException
+ * @throws IOException
+ */
+ @Test
+ public abstract void testJdbcToArroValues() throws SQLException, IOException;
+
+ /**
+ * Abstract method to implement logic to assert test various datatype values
+ * @param root
+ */
+ public abstract void testDataSets(VectorSchemaRoot root);
+
}
diff --git a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowTestHelper.java b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowTestHelper.java
index 6abfdff35fd..37580f0f2ea 100644
--- a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowTestHelper.java
+++ b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/JdbcToArrowTestHelper.java
@@ -18,7 +18,6 @@
package org.apache.arrow.adapter.jdbc;
-import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.nio.charset.Charset;
import java.util.Arrays;
@@ -38,7 +37,6 @@
import org.apache.arrow.vector.VarBinaryVector;
import org.apache.arrow.vector.VarCharVector;
-import static org.apache.arrow.adapter.jdbc.JdbcToArrowTestHelper.hexStringToByteArray;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertNotNull;
@@ -249,7 +247,7 @@ public static byte[] hexStringToByteArray(String s) {
return valueArr;
}
- public static byte [][] getCharArrayWithCharSet(String[] values, String dataType, Charset charSet) throws UnsupportedEncodingException {
+ public static byte [][] getCharArrayWithCharSet(String[] values, String dataType, Charset charSet) {
String[] dataArr= getValues(values, dataType);
byte [][] valueArr = new byte [dataArr.length][];
int i =0;
diff --git a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowCharSetTest.java b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowCharSetTest.java
index 2184d127f70..db3620f38c7 100644
--- a/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowCharSetTest.java
+++ b/java/adapter/jdbc/src/test/java/org/apache/arrow/adapter/jdbc/h2/JdbcToArrowCharSetTest.java
@@ -20,7 +20,6 @@
import static org.apache.arrow.adapter.jdbc.JdbcToArrowTestHelper.assertVarcharVectorValues;
import java.io.IOException;
-import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.sql.DriverManager;
import java.sql.SQLException;
@@ -43,6 +42,12 @@
import static org.apache.arrow.adapter.jdbc.JdbcToArrowTestHelper.getCharArrayWithCharSet;
+/**
+ *
+ * JUnit Test Class which contains methods to test JDBC to Arrow data conversion functionality with UTF-8 Charset, including
+ * the multi-byte CJK characters for H2 database
+ *
+ */
@RunWith(Parameterized.class)
public class JdbcToArrowCharSetTest extends AbstractJdbcToArrowTest {
private static final String VARCHAR = "VARCHAR_FIELD13";
@@ -94,60 +99,27 @@ public void setUp() throws SQLException, ClassNotFoundException {
public static Collection