Author: krosenvold
Date: Tue Oct 23 06:41:16 2012
New Revision: 1401177

URL: http://svn.apache.org/viewvc?rev=1401177&view=rev
Log:
o Improved findbugs config

Added:
    maven/shared/trunk/maven-shared-utils/findbugs-exclude.xml   (with props)
Modified:
    maven/shared/trunk/maven-shared-utils/pom.xml
    
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/PathTool.java
    
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalker.java
    
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java
    
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/Java7Support.java

Added: maven/shared/trunk/maven-shared-utils/findbugs-exclude.xml
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/findbugs-exclude.xml?rev=1401177&view=auto
==============================================================================
--- maven/shared/trunk/maven-shared-utils/findbugs-exclude.xml (added)
+++ maven/shared/trunk/maven-shared-utils/findbugs-exclude.xml Tue Oct 23 
06:41:16 2012
@@ -0,0 +1,65 @@
+<FindBugsFilter>
+    <Match>
+        <Class name="org.apache.maven.shared.utils.cli.CommandLineUtils.*"/>
+        <Bug pattern="RUN_INVOKE_RUN"/>
+    </Match>
+    <Match>
+        <Class name="org.apache.maven.shared.utils.io.WalkCollector"/>
+        <Method name="directoryWalkStarting"/>
+        <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+        <Class name="org.apache.maven.shared.utils.introspection.MethodMap"/>
+        <Method name="getMostSpecific"/>
+        <Bug pattern="SF_SWITCH_NO_DEFAULT"/>
+    </Match>
+    <Match>
+        <Class name="org.apache.maven.shared.utils.xml.XmlStreamWriter"/>
+        <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
+    </Match>
+    <Match>
+        <Class name="org.apache.maven.shared.utils.ReaderFactory"/>
+        <Method name="newPlatformReader"/>
+        <Bug pattern="DM_DEFAULT_ENCODING"/>
+    </Match>
+    <Match>
+        <Class name="org.apache.maven.shared.utils.WriterFactory"/>
+        <Or>
+          <Method name="newPlatformWriter" params="java.io.OutputStream" 
returns="java.io.Writer"/>
+          <Method name="newPlatformWriter" params="java.io.File" 
returns="java.io.Writer"/>
+        </Or>
+        <Bug pattern="DM_DEFAULT_ENCODING"/>
+    </Match>
+    <Match>
+        <Class name="org.apache.maven.shared.utils.io.FileUtils"/>
+        <Or>
+          <Method name="loadFile" params="java.io.File" 
returns="java.util.List"/>
+          <Method name="copyFile" params="java.ioFile, java.io.File, 
java.lang.String,org.apache.maven.shared.utils.io.FileUtils.FilterWrapper\[\], 
boolean" returns="void"/>
+          <Method name="copyFile" params=".*" returns="void"/>
+          <Method name="fileAppend"/>
+          <Method name="fileRead" params="java.io.File, java.lang.String" 
returns="java.lang.String"/>
+          <Method name="fileWrite"/>
+          <Method name="fileWriteArray" params="java.io.File, 
java.lang.String, java.lang.String[]" returns="void"/>
+        </Or>
+        <Bug pattern="DM_DEFAULT_ENCODING"/>
+    </Match>
+    <Match>
+        <Class name="org.apache.maven.shared.utils.io.FileUtils"/>
+        <Method name="deleteFile"/>
+        <Bug pattern="DM_GC"/>
+    </Match>
+    <Match>
+        <Class name="org.apache.maven.shared.utils.io.IOUtil"/>
+        <Or>
+           <Method name="copy" params="java.io.InputStream, java.io.Writer, 
int" returns="void"/>
+           <Method name="copy" params="java.io.Reader, java.io.OutputStream, 
int" returns="void"/>
+           <Method name="copy" params="java.lang.String, java.io.OutputStream, 
int" returns="void"/>
+        </Or>
+        <Bug pattern="DM_DEFAULT_ENCODING"/>
+    </Match>
+    <Match>
+        <Class name="org.apache.maven.shared.utils.cli.StreamPumper"/>
+        <Bug pattern="DM_DEFAULT_ENCODING"/>
+    </Match>
+
+</FindBugsFilter>
\ No newline at end of file

Propchange: maven/shared/trunk/maven-shared-utils/findbugs-exclude.xml
------------------------------------------------------------------------------
    svn:executable = *

Modified: maven/shared/trunk/maven-shared-utils/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/pom.xml?rev=1401177&r1=1401176&r2=1401177&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/pom.xml (original)
+++ maven/shared/trunk/maven-shared-utils/pom.xml Tue Oct 23 06:41:16 2012
@@ -107,6 +107,13 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>findbugs-maven-plugin</artifactId>
+        <configuration>
+            <excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
 

Modified: 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/PathTool.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/PathTool.java?rev=1401177&r1=1401176&r2=1401177&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/PathTool.java
 (original)
+++ 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/PathTool.java
 Tue Oct 23 06:41:16 2012
@@ -267,7 +267,7 @@ public class PathTool
         return path;
     }
 
-    private static String buildRelativePath( @Nonnull String toPath, @Nonnull 
String fromPath, final char separatorChar )
+    private @Nonnull static String buildRelativePath( @Nonnull String toPath, 
@Nonnull String fromPath, final char separatorChar )
     {
         // use tokeniser to traverse paths and for lazy checking
         StringTokenizer toTokeniser = new StringTokenizer( toPath, 
String.valueOf( separatorChar ) );
@@ -308,36 +308,36 @@ public class PathTool
             toTokeniser.nextToken();
         }
 
-        String relativePath = "";
+        StringBuilder relativePath = new StringBuilder();
 
         // add back refs for the rest of from location.
         while ( fromTokeniser.hasMoreTokens() )
         {
             fromTokeniser.nextToken();
 
-            relativePath += "..";
+            relativePath.append("..");
 
             if ( fromTokeniser.hasMoreTokens() )
             {
-                relativePath += separatorChar;
+                relativePath.append( separatorChar);
             }
         }
 
         if ( relativePath.length() != 0 && toTokeniser.hasMoreTokens() )
         {
-            relativePath += separatorChar;
+            relativePath.append(separatorChar);
         }
 
         // add fwd fills for whatevers left of newPath.
         while ( toTokeniser.hasMoreTokens() )
         {
-            relativePath += toTokeniser.nextToken();
+            relativePath.append(toTokeniser.nextToken());
 
             if ( toTokeniser.hasMoreTokens() )
             {
-                relativePath += separatorChar;
+                relativePath.append( separatorChar);
             }
         }
-        return relativePath;
+        return relativePath.toString();
     }
 }

Modified: 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalker.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalker.java?rev=1401177&r1=1401176&r2=1401177&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalker.java
 (original)
+++ 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/DirectoryWalker.java
 Tue Oct 23 06:41:16 2012
@@ -34,7 +34,7 @@ class DirectoryWalker
     /**
      * DirStackEntry is an Item on the {@link DirectoryWalker#dirStack}
      */
-    class DirStackEntry
+    static class DirStackEntry
     {
         /**
          * Count of files in the directory.

Modified: 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java?rev=1401177&r1=1401176&r2=1401177&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java
 (original)
+++ 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/FileUtils.java
 Tue Oct 23 06:41:16 2012
@@ -139,7 +139,7 @@ public class FileUtils
      * @return the default excludes pattern as list.
      * @see #getDefaultExcludes()
      */
-    public @Nonnull static List<String> getDefaultExcludesAsList()
+    @Nonnull public static List<String>  getDefaultExcludesAsList()
     {
         return Arrays.asList( getDefaultExcludes() );
     }
@@ -1772,13 +1772,21 @@ public class FileUtils
         Random rand = new Random( secureInitializer + 
Runtime.getRuntime().freeMemory() );
         do
         {
-            result = new File( parent, prefix + fmt.format( Math.abs( 
rand.nextInt() ) ) + suffix );
+            result = new File( parent, prefix + 
fmt.format(positiveRandom(rand)) + suffix );
         }
         while ( result.exists() );
 
         return result;
     }
 
+    private static int positiveRandom(Random rand) {
+        int a = rand.nextInt();
+        while (a==Integer.MIN_VALUE){
+            a = rand.nextInt();
+        }
+        return Math.abs(a);
+    }
+
     /**
      * <b>If wrappers is null or empty, the file will be copy only if 
to.lastModified() < from.lastModified()</b>
      *

Modified: 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/Java7Support.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/Java7Support.java?rev=1401177&r1=1401176&r2=1401177&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/Java7Support.java
 (original)
+++ 
maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/Java7Support.java
 Tue Oct 23 06:41:16 2012
@@ -46,8 +46,10 @@ public class Java7Support
             Class<?> path = Class.forName( "java.nio.file.Path" );
             isSymbolicLink = files.getMethod( "isSymbolicLink", path );
             toPath = File.class.getMethod( "toPath" );
-        }
-        catch ( Exception e )
+        } catch (ClassNotFoundException e)
+        {
+            isJava7x = false;
+        } catch (NoSuchMethodException e)
         {
             isJava7x = false;
         }


Reply via email to