You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2008/12/26 21:35:51 UTC

svn commit: r729532 - in /maven/plugins/trunk/maven-pmd-plugin/src: main/java/org/apache/maven/plugin/pmd/PmdReport.java test/java/org/apache/maven/plugin/pmd/PmdReportTest.java

Author: bentmann
Date: Fri Dec 26 12:35:51 2008
New Revision: 729532

URL: http://svn.apache.org/viewvc?rev=729532&view=rev
Log:
o Fixed file leaks

Modified:
    maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java
    maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdReportTest.java

Modified: maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java?rev=729532&r1=729531&r2=729532&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java (original)
+++ maven/plugins/trunk/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java Fri Dec 26 12:35:51 2008
@@ -175,8 +175,7 @@
                     {
                         String set = rulesets[idx];
                         getLog().debug( "Preparing ruleset: " + set );
-                        File ruleset = null;
-                        ruleset = locator.getResourceAsFile( set, getLocationTemp( set ) );
+                        File ruleset = locator.getResourceAsFile( set, getLocationTemp( set ) );
                         
                         if ( null == ruleset )
                         {
@@ -184,7 +183,14 @@
                         }
     
                         InputStream rulesInput = new FileInputStream( ruleset );
-                        sets[idx] = ruleSetFactory.createRuleSet( rulesInput );
+                        try
+                        {
+                            sets[idx] = ruleSetFactory.createRuleSet( rulesInput );
+                        }
+                        finally
+                        {
+                            rulesInput.close();
+                        }
                     }
                 }
                 catch ( IOException e )
@@ -222,9 +228,9 @@
                     Map.Entry entry = (Map.Entry) i.next();
                     File file = (File) entry.getKey();
                     PmdFileInfo fileInfo = (PmdFileInfo) entry.getValue();
-    
+
                     // TODO: lazily call beginFile in case there are no rules
-    
+
                     reportSink.beginFile( file , fileInfo );
                     ruleContext.setSourceCodeFilename( file.getAbsolutePath() );
                     for ( int idx = 0; idx < rulesets.length; idx++ )
@@ -242,7 +248,14 @@
                             {
                                 reader = ReaderFactory.newPlatformReader( file );
                             }
-                            pmd.processFile( reader, sets[idx], ruleContext );
+                            try
+                            {
+                                pmd.processFile( reader, sets[idx], ruleContext );
+                            }
+                            finally
+                            {
+                                reader.close();
+                            }
                         }
                         catch ( UnsupportedEncodingException e1 )
                         {

Modified: maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdReportTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdReportTest.java?rev=729532&r1=729531&r2=729532&view=diff
==============================================================================
--- maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdReportTest.java (original)
+++ maven/plugins/trunk/maven-pmd-plugin/src/test/java/org/apache/maven/plugin/pmd/PmdReportTest.java Fri Dec 26 12:35:51 2008
@@ -236,13 +236,19 @@
         throws IOException
     {
         String str = "", strTmp = "";
-        BufferedReader in = new BufferedReader( new FileReader( file ) );
 
-        while ( ( strTmp = in.readLine() ) != null )
+        BufferedReader in = new BufferedReader( new FileReader( file ) );
+        try
+        {
+            while ( ( strTmp = in.readLine() ) != null )
+            {
+                str += " " + strTmp;
+            }
+        }
+        finally
         {
-            str = str + " " + strTmp;
+            in.close();
         }
-        in.close();
 
         return str;
     }