You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2004/06/02 03:29:47 UTC

cvs commit: jakarta-jmeter/src/functions/org/apache/jmeter/functions RegexFunction.java

sebb        2004/06/01 18:29:47

  Modified:    src/functions/org/apache/jmeter/functions Tag: rel-2_0
                        RegexFunction.java
  Log:
  Only fetch variables once
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.20.2.3  +11 -12    jakarta-jmeter/src/functions/org/apache/jmeter/functions/RegexFunction.java
  
  Index: RegexFunction.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/functions/org/apache/jmeter/functions/RegexFunction.java,v
  retrieving revision 1.20.2.2
  retrieving revision 1.20.2.3
  diff -u -r1.20.2.2 -r1.20.2.3
  --- RegexFunction.java	30 May 2004 00:30:51 -0000	1.20.2.2
  +++ RegexFunction.java	2 Jun 2004 01:29:46 -0000	1.20.2.3
  @@ -126,7 +126,8 @@
               throw new InvalidVariableException(e.getMessage());
           }
   
  -        getVariables().put(name, defaultValue);
  +        JMeterVariables vars = getVariables();//Relatively expensive operation, so do it once
  +        vars.put(name, defaultValue);
           if (previousResult == null || previousResult.getResponseData() == null)
           {
               return defaultValue;
  @@ -155,7 +156,6 @@
           }
           finally
   		{
  -            JMeterVariables vars = getVariables();
   			vars.put(name+"_matchNr", ""+collectAllMatches.size());
           }
   
  @@ -179,7 +179,7 @@
                   {
                       first = false;
                   }
  -                value.append(generateResult((MatchResult) it.next(),name, tmplt));
  +                value.append(generateResult((MatchResult) it.next(),name, tmplt, vars));
               }
               return value.toString();
           }
  @@ -188,7 +188,7 @@
               MatchResult result =
                   (MatchResult) collectAllMatches.get(
                       rand.nextInt(collectAllMatches.size()));
  -            return generateResult(result,name, tmplt);
  +            return generateResult(result,name, tmplt, vars);
           }
           else
           {
  @@ -196,7 +196,7 @@
               {
                   int index = Integer.parseInt(valueIndex) - 1;
                   MatchResult result = (MatchResult) collectAllMatches.get(index);
  -                return generateResult(result,name, tmplt);
  +                return generateResult(result,name, tmplt, vars);
               }
               catch (NumberFormatException e)
               {
  @@ -204,7 +204,7 @@
                   MatchResult result =
                       (MatchResult) collectAllMatches.get(
                           (int) (collectAllMatches.size() * ratio + .5) - 1);
  -                return generateResult(result,name, tmplt);
  +                return generateResult(result,name, tmplt, vars);
               }
               catch (IndexOutOfBoundsException e)
               {
  @@ -214,11 +214,10 @@
   
       }
   
  -    private void saveGroups(MatchResult result, String namep)
  +    private void saveGroups(MatchResult result, String namep, JMeterVariables vars)
       {
           if (result != null)
           {
  -            JMeterVariables vars = getVariables();
               for (int x = 0; x < result.groups(); x++)
               {
                   vars.put(namep + "_g" + x, result.group(x));
  @@ -231,9 +230,10 @@
           return desc;
       }
   
  -    private String generateResult(MatchResult match, String namep, Object[] template)
  +    private String generateResult(MatchResult match, String namep, Object[] template
  +    		,JMeterVariables vars)
       {
  -        saveGroups(match, namep);
  +        saveGroups(match, namep, vars);
           StringBuffer result = new StringBuffer();
           for (int a = 0; a < template.length; a++)
           {
  @@ -246,7 +246,6 @@
                   result.append(match.group(((Integer) template[a]).intValue()));
               }
           }
  -        JMeterVariables vars = getVariables();
           vars.put(namep, result.toString());
           return result.toString();
       }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org