You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by th...@apache.org on 2019/12/30 01:33:14 UTC

[commons-dbutils] 02/06: Correct deprecated methods to use advised call per javadoc. Suppress unchecked warning when creating an enum from String.

This is an automated email from the ASF dual-hosted git repository.

thecarlhall pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git

commit f7deda4bff0015aac23d43c6a9fe7c76291b72be
Author: Carl Hall <th...@apache.org>
AuthorDate: Sun Dec 29 17:05:34 2019 -0800

    Correct deprecated methods to use advised call per javadoc.
    Suppress unchecked warning when creating an enum from String.
---
 src/main/java/org/apache/commons/dbutils/BeanProcessor.java       | 8 ++------
 src/main/java/org/apache/commons/dbutils/DbUtils.java             | 3 +++
 .../dbutils/handlers/properties/StringEnumPropertyHandler.java    | 1 +
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/apache/commons/dbutils/BeanProcessor.java b/src/main/java/org/apache/commons/dbutils/BeanProcessor.java
index 9ccc241..1301fec 100644
--- a/src/main/java/org/apache/commons/dbutils/BeanProcessor.java
+++ b/src/main/java/org/apache/commons/dbutils/BeanProcessor.java
@@ -407,13 +407,9 @@ public class BeanProcessor {
      */
     protected <T> T newInstance(final Class<T> c) throws SQLException {
         try {
-            return c.newInstance();
+            return c.getDeclaredConstructor().newInstance();
 
-        } catch (final InstantiationException e) {
-            throw new SQLException(
-                "Cannot create " + c.getName() + ": " + e.getMessage());
-
-        } catch (final IllegalAccessException e) {
+        } catch (final IllegalAccessException | InstantiationException | InvocationTargetException | NoSuchMethodException e) {
             throw new SQLException(
                 "Cannot create " + c.getName() + ": " + e.getMessage());
         }
diff --git a/src/main/java/org/apache/commons/dbutils/DbUtils.java b/src/main/java/org/apache/commons/dbutils/DbUtils.java
index 7ad90c6..8d716f9 100644
--- a/src/main/java/org/apache/commons/dbutils/DbUtils.java
+++ b/src/main/java/org/apache/commons/dbutils/DbUtils.java
@@ -215,6 +215,9 @@ public final class DbUtils {
             final Constructor<Driver> driverConstructor = driverClass.getConstructor();
 
             // make Constructor accessible if it is private
+            @SuppressWarnings("deprecation")
+            // TODO This is deprecated in Java9 and canAccess() should be used. Adding suppression for building on
+            //      later JDKs without a warning.
             final boolean isConstructorAccessible = driverConstructor.isAccessible();
             if (!isConstructorAccessible) {
                 driverConstructor.setAccessible(true);
diff --git a/src/main/java/org/apache/commons/dbutils/handlers/properties/StringEnumPropertyHandler.java b/src/main/java/org/apache/commons/dbutils/handlers/properties/StringEnumPropertyHandler.java
index 8af56ea..bd0eae9 100644
--- a/src/main/java/org/apache/commons/dbutils/handlers/properties/StringEnumPropertyHandler.java
+++ b/src/main/java/org/apache/commons/dbutils/handlers/properties/StringEnumPropertyHandler.java
@@ -28,6 +28,7 @@ public class StringEnumPropertyHandler implements PropertyHandler {
     }
 
     @Override
+    @SuppressWarnings("unchecked")
     public Object apply(final Class<?> parameter, final Object value) {
         return Enum.valueOf(parameter.asSubclass(Enum.class), (String) value);
     }