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/10/11 01:59:57 UTC

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

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: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org