On further reflection, I think Sonar is wrong here. The close method on reader will also close fis and isr.
On 13 March 2017 at 19:50, sebb <seb...@gmail.com> wrote: > On 4 March 2017 at 09:31, <pmoua...@apache.org> wrote: >> Author: pmouawad >> Date: Sat Mar 4 09:31:30 2017 >> New Revision: 1785443 >> >> URL: http://svn.apache.org/viewvc?rev=1785443&view=rev >> Log: >> Fix sonar error > > It would help to know what the Sonar error is that this is intended to fix. > > I assume in this case it is possible failure to close resources? > >> Modified: >> jmeter/trunk/src/core/org/apache/jmeter/report/core/CsvSampleReader.java >> >> Modified: >> jmeter/trunk/src/core/org/apache/jmeter/report/core/CsvSampleReader.java >> URL: >> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/report/core/CsvSampleReader.java?rev=1785443&r1=1785442&r2=1785443&view=diff >> ============================================================================== >> --- jmeter/trunk/src/core/org/apache/jmeter/report/core/CsvSampleReader.java >> (original) >> +++ jmeter/trunk/src/core/org/apache/jmeter/report/core/CsvSampleReader.java >> Sat Mar 4 09:31:30 2017 >> @@ -59,6 +59,8 @@ public class CsvSampleReader implements >> >> private File file; >> >> + private InputStream fis; >> + private Reader isr; > > The above could be dropped if the objects were inlined. > >> private BufferedReader reader; >> >> private char separator; >> @@ -105,11 +107,9 @@ public class CsvSampleReader implements >> + " does not exist or is not readable"); >> } >> this.file = inputFile; >> - InputStream fis = null; >> - Reader isr = null; >> try { >> - fis = new FileInputStream(file); >> - isr = new InputStreamReader(fis, CHARSET); >> + this.fis = new FileInputStream(file); >> + this.isr = new InputStreamReader(fis, CHARSET); >> this.reader = new BufferedReader(isr, BUF_SIZE); >> } catch (FileNotFoundException | UnsupportedEncodingException ex) { >> JOrphanUtils.closeQuietly(isr); >> @@ -225,6 +225,8 @@ public class CsvSampleReader implements >> */ >> @Override >> public void close() { >> + JOrphanUtils.closeQuietly(isr); >> + JOrphanUtils.closeQuietly(fis); > > The above could be dropped if the objects were inlined. > >> JOrphanUtils.closeQuietly(reader); >> } >> } >> >>