sebb        2004/10/10 16:59:56

  Modified:    src/functions/org/apache/jmeter/functions Tag: rel-2_0
                        IterationCounter.java
  Log:
  Bug 28751 - per-user counter not working properly
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.13.2.1  +17 -5     
jakarta-jmeter/src/functions/org/apache/jmeter/functions/IterationCounter.java
  
  Index: IterationCounter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/functions/org/apache/jmeter/functions/IterationCounter.java,v
  retrieving revision 1.13
  retrieving revision 1.13.2.1
  diff -u -r1.13 -r1.13.2.1
  --- IterationCounter.java     10 Feb 2004 00:35:12 -0000      1.13
  +++ IterationCounter.java     10 Oct 2004 23:59:56 -0000      1.13.2.1
  @@ -40,12 +40,15 @@
           desc.add(JMeterUtils.getResString("function_name_param"));
       }
   
  -    private Object[] variables;
  -    private int[] counter;
  +    transient private Object[] variables;
  +    transient private int[] counter;
  +    transient private String key; // Used to keep track of counter
   
       public IterationCounter()
       {
           counter = new int[1];
  +     // TODO use better key if poss. Can't use varName - it may not be present
  +        key=KEY+System.identityHashCode(this);
       }
   
       public Object clone()
  @@ -76,14 +79,23 @@
   
           if (perThread)
           {
  -            counterString = Integer.toString(vars.getIteration());
  +             counterString = vars.get(key);
  +             if (null==counterString){
  +                     counterString= "1";
  +             }
  +             else
  +             {
  +                     counterString = 
Integer.toString(Integer.parseInt(counterString)+1);
  +             }
  +             vars.put(key,counterString);
  +             
           }
           else
           {
               counterString = String.valueOf(counter[0]);
           }
   
  -        vars.put(varName, counterString);
  +        if (varName.length()>0) vars.put(varName, counterString);
           return counterString;
       }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to