From 17f7692f4635d8249248861dca3673ed51899e22 Mon Sep 17 00:00:00 2001 From: rene-ye Date: Thu, 17 May 2018 11:10:31 -0700 Subject: [PATCH 01/10] Resolving maven warnings --- pom.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5b39cdd77..bde82ddbe 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.microsoft.sqlserver mssql-jdbc - 6.5.3-SNAPSHOT.${jreVersion}-preview + 6.5.3-SNAPSHOT jar Microsoft JDBC Driver for SQL Server @@ -136,6 +136,7 @@ + ${project.artifactId}-${project.version}.${jreVersion}-preview maven-compiler-plugin @@ -173,6 +174,7 @@ + ${project.artifactId}-${project.version}.${jreVersion}-preview maven-compiler-plugin @@ -328,6 +330,7 @@ org.codehaus.mojo versions-maven-plugin + 2.5 true outdated-dependencies.txt From e79b630cc43f214c33f0349a2e62108340ece4fb Mon Sep 17 00:00:00 2001 From: rene-ye Date: Thu, 17 May 2018 11:20:42 -0700 Subject: [PATCH 02/10] Removing jreVersion property Does not make sense now that we use final name in the build itself. Only used in 1 place, hardcoding java version for different builds as that's what it represents anyways. --- pom.xml | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index bde82ddbe..f1f5dd160 100644 --- a/pom.xml +++ b/pom.xml @@ -130,13 +130,8 @@ build42 - - - jre8 - - - ${project.artifactId}-${project.version}.${jreVersion}-preview + ${project.artifactId}-${project.version}.jre8-preview maven-compiler-plugin @@ -167,14 +162,9 @@ build43 true - - - - jre9 - - + - ${project.artifactId}-${project.version}.${jreVersion}-preview + ${project.artifactId}-${project.version}.jre9-preview maven-compiler-plugin From c4f765fb5f6c5ae78c52a60febcb8c95be1d0757 Mon Sep 17 00:00:00 2001 From: rene-ye Date: Tue, 22 May 2018 15:56:37 -0700 Subject: [PATCH 03/10] test appveyor --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f1f5dd160..f364bd3e3 100644 --- a/pom.xml +++ b/pom.xml @@ -255,7 +255,7 @@ - + org.apache.felix maven-bundle-plugin From 0f4ef9089e692cacfc36a9ebe33efe98caaf88ac Mon Sep 17 00:00:00 2001 From: rene-ye Date: Tue, 22 May 2018 16:01:28 -0700 Subject: [PATCH 04/10] testing appveyor ubuntu --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f364bd3e3..f1f5dd160 100644 --- a/pom.xml +++ b/pom.xml @@ -255,7 +255,7 @@ - + org.apache.felix maven-bundle-plugin From 478ddab8d1c6309e70fb238d44c1f013b397dfbe Mon Sep 17 00:00:00 2001 From: rene-ye Date: Tue, 22 May 2018 16:06:14 -0700 Subject: [PATCH 05/10] remove verbose from appvoyer --- appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 5fff6778c..a2adae36b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -32,8 +32,8 @@ build_script: - keytool -importkeystore -srckeystore cert.pfx -srcstoretype pkcs12 -destkeystore clientcert.jks -deststoretype JKS -srcstorepass password -deststorepass password - keytool -list -v -keystore clientcert.jks -storepass "password" > JavaKeyStore.txt - cd.. - - mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V -Pbuild43 - - mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V -Pbuild42 + - mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -Pbuild43 + - mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -Pbuild42 test_script: - mvn test -B -Pbuild43 From b17e1597a5a7d90391ffb7a1565a419e5f55f3c0 Mon Sep 17 00:00:00 2001 From: rene-ye Date: Thu, 24 May 2018 15:32:22 -0700 Subject: [PATCH 06/10] add verbose back to appveyor --- appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index a2adae36b..5fff6778c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -32,8 +32,8 @@ build_script: - keytool -importkeystore -srckeystore cert.pfx -srcstoretype pkcs12 -destkeystore clientcert.jks -deststoretype JKS -srcstorepass password -deststorepass password - keytool -list -v -keystore clientcert.jks -storepass "password" > JavaKeyStore.txt - cd.. - - mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -Pbuild43 - - mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -Pbuild42 + - mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V -Pbuild43 + - mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V -Pbuild42 test_script: - mvn test -B -Pbuild43 From 0869435e9d5c4a7b655bc609cdde378022a4c4f4 Mon Sep 17 00:00:00 2001 From: rene-ye Date: Fri, 25 May 2018 09:25:32 -0700 Subject: [PATCH 07/10] java warnings --- .../java/com/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java | 4 ++-- .../sqlserver/jdbc/connection/ConnectionDriverTest.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java b/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java index 27c608d30..c5ad97c9a 100644 --- a/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java +++ b/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java @@ -3348,7 +3348,7 @@ private byte[] normalizedValue(JDBCType destJdbcType, longValue = (long) (short) value; break; default: - longValue = new Long((Integer) value); + longValue = Long.valueOf((Integer) value); } return ByteBuffer.allocate(Long.SIZE / Byte.SIZE).order(ByteOrder.LITTLE_ENDIAN).putLong(longValue).array(); @@ -3362,7 +3362,7 @@ private byte[] normalizedValue(JDBCType destJdbcType, longValue = (long) (short) value; break; case INTEGER: - longValue = new Long((Integer) value); + longValue = Long.valueOf((Integer) value); break; default: longValue = (long) value; diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/connection/ConnectionDriverTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/connection/ConnectionDriverTest.java index 3de43f7c1..64a982e6a 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/connection/ConnectionDriverTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/connection/ConnectionDriverTest.java @@ -68,7 +68,7 @@ public void testConnectionDriver() throws SQLException { for (DriverPropertyInfo anInfoArray1 : infoArray) { logger.fine(anInfoArray1.name); logger.fine(anInfoArray1.description); - logger.fine(new Boolean(anInfoArray1.required).toString()); + logger.fine(Boolean.valueOf(anInfoArray1.required).toString()); logger.fine(anInfoArray1.value); } From be6cea712c694f81dcc7fb82e3e78aac7d81ed36 Mon Sep 17 00:00:00 2001 From: rene-ye Date: Fri, 25 May 2018 10:48:28 -0700 Subject: [PATCH 08/10] Manifest fix and Java warning fixes --- pom.xml | 6 ++++++ .../AlwaysEncrypted/CallableStatementTest.java | 14 +++++++------- .../sqlserver/jdbc/bulkCopy/BulkCopyTestUtil.java | 2 +- .../jdbc/unit/statement/PreparedStatementTest.java | 4 ++-- .../testframework/util/ComparisonUtil.java | 7 ++++++- .../sqlserver/testframework/util/RandomData.java | 7 ++++--- 6 files changed, 26 insertions(+), 14 deletions(-) diff --git a/pom.xml b/pom.xml index f1f5dd160..4aa33d234 100644 --- a/pom.xml +++ b/pom.xml @@ -151,6 +151,9 @@ ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + ${project.version}_jre8-preview + @@ -184,6 +187,9 @@ ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + ${project.version}_jre9-preview + diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/CallableStatementTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/CallableStatementTest.java index bc0c8f173..bb9ef457d 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/CallableStatementTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/AlwaysEncrypted/CallableStatementTest.java @@ -1904,25 +1904,25 @@ else if (coercion == String.class) { return callableStatement.getString(ordinal); } else if (coercion == Boolean.class) { - return new Boolean(callableStatement.getBoolean(ordinal)); + return Boolean.valueOf(callableStatement.getBoolean(ordinal)); } else if (coercion == Byte.class) { - return new Byte(callableStatement.getByte(ordinal)); + return Byte.valueOf(callableStatement.getByte(ordinal)); } else if (coercion == Short.class) { - return new Short(callableStatement.getShort(ordinal)); + return Short.valueOf(callableStatement.getShort(ordinal)); } else if (coercion == Integer.class) { - return new Integer(callableStatement.getInt(ordinal)); + return Integer.valueOf(callableStatement.getInt(ordinal)); } else if (coercion == Long.class) { - return new Long(callableStatement.getLong(ordinal)); + return Long.valueOf(callableStatement.getLong(ordinal)); } else if (coercion == Float.class) { - return new Float(callableStatement.getFloat(ordinal)); + return Float.valueOf(callableStatement.getFloat(ordinal)); } else if (coercion == Double.class) { - return new Double(callableStatement.getDouble(ordinal)); + return Double.valueOf(callableStatement.getDouble(ordinal)); } else if (coercion == BigDecimal.class) { return callableStatement.getBigDecimal(ordinal); diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyTestUtil.java b/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyTestUtil.java index 0b902587e..bfdd83cb5 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyTestUtil.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyTestUtil.java @@ -380,7 +380,7 @@ static void validateValues( if(srcValue.getClass().getName().equalsIgnoreCase("java.lang.Double")){ // in case of SQL Server type Float (ie java type double), in float(n) if n is <=24 ie precsion is <=7 SQL Server type Real is returned(ie java type float) if(destMeta.getPrecision(i) <8) - srcValue = new Float(((Double)srcValue)); + srcValue = ((Double)srcValue).floatValue(); } dstValue = dstResultSet.getObject(i); int dstType = destMeta.getColumnType(i); diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/unit/statement/PreparedStatementTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/unit/statement/PreparedStatementTest.java index e4e0d09f0..f64e6d570 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/unit/statement/PreparedStatementTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/unit/statement/PreparedStatementTest.java @@ -317,7 +317,7 @@ public void testStatementPoolingEviction() throws SQLException { // Add new statements to fill up the statement pool. for (int i = 0; i < cacheSize; ++i) { - try (SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement)con.prepareStatement(query + new Integer(i).toString())) { + try (SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement)con.prepareStatement(query + String.valueOf(i))) { pstmt.execute(); // sp_executesql pstmt.execute(); // sp_prepexec, actual handle created and cached. } @@ -332,7 +332,7 @@ public void testStatementPoolingEviction() throws SQLException { // (new statement pushes existing statement from pool into discard // action queue). for (int i = cacheSize; i < cacheSize + 5; ++i) { - try (SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement)con.prepareStatement(query + new Integer(i).toString())) { + try (SQLServerPreparedStatement pstmt = (SQLServerPreparedStatement)con.prepareStatement(query + String.valueOf(i))) { pstmt.execute(); // sp_executesql pstmt.execute(); // sp_prepexec, actual handle created and cached. } diff --git a/src/test/java/com/microsoft/sqlserver/testframework/util/ComparisonUtil.java b/src/test/java/com/microsoft/sqlserver/testframework/util/ComparisonUtil.java index b297a3924..b251e92bd 100644 --- a/src/test/java/com/microsoft/sqlserver/testframework/util/ComparisonUtil.java +++ b/src/test/java/com/microsoft/sqlserver/testframework/util/ComparisonUtil.java @@ -11,6 +11,7 @@ import java.sql.SQLException; import java.sql.Time; import java.sql.Timestamp; +import java.util.Calendar; import com.microsoft.sqlserver.jdbc.SQLServerResultSetMetaData; import com.microsoft.sqlserver.testframework.DBConnection; @@ -143,7 +144,11 @@ public static void compareExpectedAndActual(int dataType, break; case java.sql.Types.DATE: - assertTrue((((Date) expectedValue).getDate() == (((Date) actualValue).getDate())), "Unexpected datetime value"); + Calendar expC = Calendar.getInstance(); + expC.setTime((Date)expectedValue); + Calendar actC = Calendar.getInstance(); + actC.setTime((Date)actualValue); + assertTrue(expC.get(Calendar.DAY_OF_MONTH) == actC.get(Calendar.DAY_OF_MONTH), "Unexpected datetime value"); break; case java.sql.Types.TIME: diff --git a/src/test/java/com/microsoft/sqlserver/testframework/util/RandomData.java b/src/test/java/com/microsoft/sqlserver/testframework/util/RandomData.java index 21e12991b..e32061109 100644 --- a/src/test/java/com/microsoft/sqlserver/testframework/util/RandomData.java +++ b/src/test/java/com/microsoft/sqlserver/testframework/util/RandomData.java @@ -2,6 +2,7 @@ import java.math.BigDecimal; import java.math.BigInteger; +import java.math.RoundingMode; import java.sql.Date; import java.sql.Time; import java.sql.Timestamp; @@ -168,7 +169,7 @@ public static BigDecimal generateDecimalNumeric(int precision, if (r.nextBoolean()) { n = BigInteger.TEN.pow(precision); if (scale > 0) - return new BigDecimal(n, scale).subtract(new BigDecimal("" + Math.pow(10, -scale)).setScale(scale, BigDecimal.ROUND_HALF_UP)) + return new BigDecimal(n, scale).subtract(new BigDecimal("" + Math.pow(10, -scale)).setScale(scale, RoundingMode.HALF_UP)) .negate(); else return new BigDecimal(n, scale).subtract(new BigDecimal("1")).negate(); @@ -176,7 +177,7 @@ public static BigDecimal generateDecimalNumeric(int precision, else { n = BigInteger.TEN.pow(precision); if (scale > 0) - return new BigDecimal(n, scale).subtract(new BigDecimal("" + Math.pow(10, -scale)).setScale(scale, BigDecimal.ROUND_HALF_UP)) + return new BigDecimal(n, scale).subtract(new BigDecimal("" + Math.pow(10, -scale)).setScale(scale, RoundingMode.HALF_UP)) .negate(); else return new BigDecimal(n, scale).subtract(new BigDecimal("1")).negate(); @@ -226,7 +227,7 @@ public static Double generateFloat(Integer n, } if (returnZero) { - return new Double(0); + return Double.valueOf(0); } // only 2 options: 24 or 53 From 5ad87a4136ae5e15ce3f29fd5e48a3759e03985e Mon Sep 17 00:00:00 2001 From: rene-ye Date: Fri, 25 May 2018 10:51:54 -0700 Subject: [PATCH 09/10] reverting manifest bundle changes --- pom.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pom.xml b/pom.xml index 4aa33d234..f1f5dd160 100644 --- a/pom.xml +++ b/pom.xml @@ -151,9 +151,6 @@ ${project.build.outputDirectory}/META-INF/MANIFEST.MF - - ${project.version}_jre8-preview - @@ -187,9 +184,6 @@ ${project.build.outputDirectory}/META-INF/MANIFEST.MF - - ${project.version}_jre9-preview - From 92fc038c3e1d6dc2ac3f9d1204ff5c3c529d3b84 Mon Sep 17 00:00:00 2001 From: rene-ye Date: Fri, 25 May 2018 12:56:35 -0700 Subject: [PATCH 10/10] removed depreciated API the check was not doing what it was supposed to do, and is not neccessary. --- .../sqlserver/jdbc/unit/statement/LimitEscapeTest.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/unit/statement/LimitEscapeTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/unit/statement/LimitEscapeTest.java index 6e3563101..0453b5df1 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/unit/statement/LimitEscapeTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/unit/statement/LimitEscapeTest.java @@ -115,16 +115,13 @@ public void verifyTranslation() throws Exception { cArg[0] = String.class; Class innerClass = Class.forName("com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator"); Constructor ctor = innerClass.getDeclaredConstructor(); - if (!ctor.isAccessible()) { - ctor.setAccessible(true); - } + ctor.setAccessible(true); Object innerInstance = ctor.newInstance(); Method method = innerClass.getDeclaredMethod("translate", cArg); - if (!method.isAccessible()) { - method.setAccessible(true); - } + + method.setAccessible(true); Object str = method.invoke(innerInstance, inputSql); assertEquals(str, outputSql, "Syntax tyranslation does not match for query: " + queryID); }