jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: svn commit: r1380843 - /jmeter/trunk/src/functions/org/apache/jmeter/functions/StringFromFile.java
Date Wed, 05 Sep 2012 22:49:50 GMT
On 4 September 2012 21:06,  <pmouawad@apache.org> wrote:
> Author: pmouawad
> Date: Tue Sep  4 20:06:50 2012
> New Revision: 1380843
>
> URL: http://svn.apache.org/viewvc?rev=1380843&view=rev
> Log:
> Avoid NumberFormatException by testing numericity

-1; the two are not equivalent.

There are some numbers which pass the isNumeric test but which still
generate NFE.
For example, numbers which are outside the permissible bounds for Long
or Integer (as the case may be)

Also, for cases where the string is expected to be numeric, it's
cheaper to catch the occasional NFE which occurs if it is not numeric.

It's only worth checking for numerics where the string type not
usually numeric - but one still has to catch NFE.


> Modified:
>     jmeter/trunk/src/functions/org/apache/jmeter/functions/StringFromFile.java
>
> Modified: jmeter/trunk/src/functions/org/apache/jmeter/functions/StringFromFile.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/functions/org/apache/jmeter/functions/StringFromFile.java?rev=1380843&r1=1380842&r2=1380843&view=diff
> ==============================================================================
> --- jmeter/trunk/src/functions/org/apache/jmeter/functions/StringFromFile.java (original)
> +++ jmeter/trunk/src/functions/org/apache/jmeter/functions/StringFromFile.java Tue Sep
 4 20:06:50 2012
> @@ -26,6 +26,7 @@ import java.util.Collection;
>  import java.util.LinkedList;
>  import java.util.List;
>
> +import org.apache.commons.lang3.StringUtils;
>  import org.apache.jmeter.engine.util.CompoundVariable;
>  import org.apache.jmeter.samplers.SampleResult;
>  import org.apache.jmeter.samplers.Sampler;
> @@ -142,10 +143,10 @@ public class StringFromFile extends Abst
>          String start = "";
>          if (values.length >= PARAM_START) {
>              start = ((CompoundVariable) values[PARAM_START - 1]).execute();
> -            try {
> -                myStart = Integer.valueOf(start).intValue();
> -            } catch (NumberFormatException e) {
> -                myStart = COUNT_UNUSED;// Don't process invalid numbers
> +            if(StringUtils.isNumeric(start)) {
> +                myStart = Integer.parseInt(start);
> +            } else {
> +                myStart = COUNT_UNUSED;// Don't process invalid numbers
>              }
>          }
>          // Have we used myCurrent yet?
> @@ -156,13 +157,12 @@ public class StringFromFile extends Abst
>
>          if (values.length >= PARAM_END) {
>              String tmp = ((CompoundVariable) values[PARAM_END - 1]).execute();
> -            try {
> -                myEnd = Integer.valueOf(tmp).intValue();
> -            } catch (NumberFormatException e) {
> +            if(StringUtils.isNumeric(start)) {
> +                myEnd = Integer.parseInt(tmp);
> +            } else {
>                  myEnd = COUNT_UNUSED;// Don't process invalid numbers
> -                                        // (including "")
> +                // (including "")
>              }
> -
>          }
>
>          if (values.length >= PARAM_START) {
>
>

Mime
View raw message