You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by sebb <se...@gmail.com> on 2017/03/13 19:50:27 UTC

Re: svn commit: r1785443 - /jmeter/trunk/src/core/org/apache/jmeter/report/core/CsvSampleReader.java

On 4 March 2017 at 09:31,  <pm...@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);
>      }
>  }
>
>

Re: svn commit: r1785443 - /jmeter/trunk/src/core/org/apache/jmeter/report/core/CsvSampleReader.java

Posted by Felix Schumacher <fe...@internetallee.de>.
Am 13.03.2017 um 21:08 schrieb sebb:
> On further reflection, I think Sonar is wrong here.
>
> The close method on reader will also close fis and isr.
I think sonar is not clever enough to understand, that this is some sort 
of lifecycle and complains about the instance fields, that will be kept 
open until we call close.

Felix
>
> On 13 March 2017 at 19:50, sebb <se...@gmail.com> wrote:
>> On 4 March 2017 at 09:31,  <pm...@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);
>>>       }
>>>   }
>>>
>>>


Re: svn commit: r1785443 - /jmeter/trunk/src/core/org/apache/jmeter/report/core/CsvSampleReader.java

Posted by sebb <se...@gmail.com>.
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 <se...@gmail.com> wrote:
> On 4 March 2017 at 09:31,  <pm...@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);
>>      }
>>  }
>>
>>