Repository: calcite-avatica
Updated Branches:
  refs/heads/master 6afbfd52a -> 3cfafde9f


[CALCITE-1006] Enable spotbugs-maven-plugin

Close apache/calcite-avatica#39

Signed-off-by: Kevin Risden <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/calcite-avatica/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite-avatica/commit/3cfafde9
Tree: http://git-wip-us.apache.org/repos/asf/calcite-avatica/tree/3cfafde9
Diff: http://git-wip-us.apache.org/repos/asf/calcite-avatica/diff/3cfafde9

Branch: refs/heads/master
Commit: 3cfafde9f5f0f1fc3ddc60b5a4db19762c73b96b
Parents: 6afbfd5
Author: Kevin Risden <[email protected]>
Authored: Thu Apr 19 21:51:45 2018 -0500
Committer: Kevin Risden <[email protected]>
Committed: Thu Sep 20 17:04:14 2018 -0400

----------------------------------------------------------------------
 .../calcite/avatica/AvaticaConnection.java      |  2 +-
 .../apache/calcite/avatica/DriverVersion.java   | 12 +++---
 .../calcite/avatica/util/DateTimeUtils.java     |  2 +-
 pom.xml                                         | 40 ++++++++++++++++++++
 spotbugs-filter.xml                             | 39 +++++++++++++++++++
 5 files changed, 87 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/3cfafde9/core/src/main/java/org/apache/calcite/avatica/AvaticaConnection.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/calcite/avatica/AvaticaConnection.java 
b/core/src/main/java/org/apache/calcite/avatica/AvaticaConnection.java
index c2f1f0d..b3552f8 100644
--- a/core/src/main/java/org/apache/calcite/avatica/AvaticaConnection.java
+++ b/core/src/main/java/org/apache/calcite/avatica/AvaticaConnection.java
@@ -133,7 +133,7 @@ public abstract class AvaticaConnection implements 
Connection {
    * {@link AvaticaStatement#executeInternal(Meta.Signature, boolean)}
    * should retry before failing. */
   long getNumStatementRetries(Properties props) {
-    return Long.valueOf(Objects.requireNonNull(props)
+    return Long.parseLong(Objects.requireNonNull(props)
         .getProperty(NUM_EXECUTE_RETRIES_KEY, NUM_EXECUTE_RETRIES_DEFAULT));
   }
 

http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/3cfafde9/core/src/main/java/org/apache/calcite/avatica/DriverVersion.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/avatica/DriverVersion.java 
b/core/src/main/java/org/apache/calcite/avatica/DriverVersion.java
index 15c966a..9b8bcf7 100644
--- a/core/src/main/java/org/apache/calcite/avatica/DriverVersion.java
+++ b/core/src/main/java/org/apache/calcite/avatica/DriverVersion.java
@@ -109,29 +109,29 @@ public class DriverVersion {
         jdbcCompliant =
             Boolean.valueOf(properties.getProperty("jdbc.compliant"));
         String[] s = driverVersion.replaceAll("-.*$", "").split("\\.");
-        final int major = Integer.valueOf(s[0]);
-        final int minor = Integer.valueOf(s[1]);
+        final int major = Integer.parseInt(s[0]);
+        final int minor = Integer.parseInt(s[1]);
         try {
           majorVersion =
-              Integer.valueOf(properties.getProperty("driver.version.major"));
+              Integer.parseInt(properties.getProperty("driver.version.major"));
         } catch (NumberFormatException e) {
           majorVersion = major;
         }
         try {
           minorVersion =
-              Integer.valueOf(properties.getProperty("driver.version.minor"));
+              Integer.parseInt(properties.getProperty("driver.version.minor"));
         } catch (NumberFormatException e) {
           minorVersion = minor;
         }
         try {
           databaseMajorVersion =
-              
Integer.valueOf(properties.getProperty("database.version.major"));
+              
Integer.parseInt(properties.getProperty("database.version.major"));
         } catch (NumberFormatException e) {
           databaseMajorVersion = major;
         }
         try {
           databaseMinorVersion =
-              
Integer.valueOf(properties.getProperty("database.version.minor"));
+              
Integer.parseInt(properties.getProperty("database.version.minor"));
         } catch (NumberFormatException e) {
           databaseMinorVersion = minor;
         }

http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/3cfafde9/core/src/main/java/org/apache/calcite/avatica/util/DateTimeUtils.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/calcite/avatica/util/DateTimeUtils.java 
b/core/src/main/java/org/apache/calcite/avatica/util/DateTimeUtils.java
index 25a9558..e028a81 100644
--- a/core/src/main/java/org/apache/calcite/avatica/util/DateTimeUtils.java
+++ b/core/src/main/java/org/apache/calcite/avatica/util/DateTimeUtils.java
@@ -253,7 +253,7 @@ public class DateTimeUtils {
           millis = millis + "0";
         }
 
-        int ms = Integer.valueOf(millis);
+        int ms = Integer.parseInt(millis);
         cal.add(Calendar.MILLISECOND, ms);
       }
     }

http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/3cfafde9/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 1d6c9ac..8d09363 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,6 +87,8 @@ limitations under the License.
     <maven-checkstyle-plugin.version>3.0.0</maven-checkstyle-plugin.version>
     <maven-enforcer-plugin.version>3.0.0-M2</maven-enforcer-plugin.version>
     <maven-scm-provider.version>1.11.1</maven-scm-provider.version>
+    <!-- ASF 21 provides 3.1.1 but need 3.2.0 due to MSHADE-289 -->
+    <maven-shade-plugin.version>3.2.0</maven-shade-plugin.version>
     <mockito.version>2.22.0</mockito.version>
     <os-maven-plugin.version>1.6.0</os-maven-plugin.version>
     <owasp-dependency-check.version>3.3.2</owasp-dependency-check.version>
@@ -95,6 +97,8 @@ limitations under the License.
     <scott-data-hsqldb.version>0.1</scott-data-hsqldb.version>
     <servlet.version>4.0.1</servlet.version>
     <slf4j.version>1.7.25</slf4j.version>
+    <spotbugs.version>3.1.7</spotbugs.version>
+    <spotbugs-maven-plugin.version>3.1.6</spotbugs-maven-plugin.version>
   </properties>
   <issueManagement>
     <system>Jira</system>
@@ -496,6 +500,10 @@ limitations under the License.
           </dependency>
         </dependencies>
       </plugin>
+      <plugin>
+        <groupId>com.github.spotbugs</groupId>
+        <artifactId>spotbugs-maven-plugin</artifactId>
+      </plugin>
     </plugins>
     <pluginManagement>
       <plugins>
@@ -573,7 +581,9 @@ limitations under the License.
           <artifactId>maven-javadoc-plugin</artifactId>
         </plugin>
         <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-shade-plugin</artifactId>
+          <version>${maven-shade-plugin.version}</version>
         </plugin>
         <plugin>
           <artifactId>maven-source-plugin</artifactId>
@@ -648,6 +658,31 @@ limitations under the License.
             <checkStaleness>true</checkStaleness>
           </configuration>
         </plugin>
+        <plugin>
+          <groupId>com.github.spotbugs</groupId>
+          <artifactId>spotbugs-maven-plugin</artifactId>
+          <version>${spotbugs-maven-plugin.version}</version>
+          <configuration>
+            <threshold>High</threshold>
+            <failOnError>true</failOnError>
+            <excludeFilterFile>spotbugs-filter.xml</excludeFilterFile>
+          </configuration>
+          <executions>
+            <execution>
+              <goals>
+                <goal>check</goal>
+              </goals>
+            </execution>
+          </executions>
+          <dependencies>
+            <!-- overwrite dependency on spotbugs if you want to specify the 
version of spotbugs -->
+            <dependency>
+              <groupId>com.github.spotbugs</groupId>
+              <artifactId>spotbugs</artifactId>
+              <version>${spotbugs.version}</version>
+    </dependency>
+  </dependencies>
+        </plugin>
       </plugins>
     </pluginManagement>
   </build>
@@ -664,6 +699,11 @@ limitations under the License.
           <windowtitle>Apache Calcite Avatica API</windowtitle>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>com.github.spotbugs</groupId>
+        <artifactId>spotbugs-maven-plugin</artifactId>
+        <version>${spotbugs-maven-plugin.version}</version>
+      </plugin>
     </plugins>
   </reporting>
   <repositories>

http://git-wip-us.apache.org/repos/asf/calcite-avatica/blob/3cfafde9/spotbugs-filter.xml
----------------------------------------------------------------------
diff --git a/spotbugs-filter.xml b/spotbugs-filter.xml
new file mode 100644
index 0000000..6c1cc3a
--- /dev/null
+++ b/spotbugs-filter.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+<FindBugsFilter
+  xmlns="https://github.com/spotbugs/filter/3.0.0";
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+  xsi:schemaLocation="https://github.com/spotbugs/filter/3.0.0 
https://raw.githubusercontent.com/spotbugs/spotbugs/3.1.0/spotbugs/etc/findbugsfilter.xsd";>
+
+  <!-- Base64 copied from public domain -->
+  <Match>
+    <Class name="org.apache.calcite.avatica.util.Base64" />
+  </Match>
+
+  <!-- Clone is on purpose -->
+  <Match>
+    <Class name="org.apache.calcite.avatica.util.ByteString" />
+    <Method name="clone" />
+    <Bug pattern="CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE" />
+  </Match>
+
+  <!-- Test only class -->
+  <Match>
+    <Class name="org.apache.calcite.avatica.tck.tests.InsertTest" />
+  </Match>
+</FindBugsFilter>

Reply via email to