mstover1    2002/12/13 10:20:01

  Modified:    src/components/org/apache/jmeter/modifiers
                        CounterConfig.java
  Log:
  Fixing counter config bug
  
  Revision  Changes    Path
  1.3       +37 -9     
jakarta-jmeter/src/components/org/apache/jmeter/modifiers/CounterConfig.java
  
  Index: CounterConfig.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/components/org/apache/jmeter/modifiers/CounterConfig.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- CounterConfig.java        30 Aug 2002 14:43:19 -0000      1.2
  +++ CounterConfig.java        13 Dec 2002 18:20:01 -0000      1.3
  @@ -5,6 +5,9 @@
   import org.apache.jmeter.testelement.ThreadListener;
   import org.apache.jmeter.testelement.VariablesCollection;
   import org.apache.jmeter.threads.JMeterVariables;
  +import org.apache.jmeter.util.JMeterUtils;
  +import org.apache.jorphan.logging.LoggingManager;
  +import org.apache.log.Logger;
   /**
    * @author Administrator
    *
  @@ -15,6 +18,7 @@
        extends ConfigTestElement
        implements Serializable, ThreadListener
   {
  +     private static Logger log = LoggingManager.getLoggerFor(JMeterUtils.ELEMENTS);
        private final static String START = "CounterConfig.start";
        private final static String END = "CounterConfig.end";
        private final static String INCREMENT = "CounterConfig.incr";
  @@ -27,25 +31,49 @@
        private int start = 0;
        private int end = Integer.MAX_VALUE;
        private VariablesCollection vars = new VariablesCollection();
  +     private int currentIterationCount = -1;
        /**
         * @see org.apache.jmeter.testelement.ThreadListener#iterationStarted(int)
         */
        public synchronized void iterationStarted(int iterationCount)
        {
                JMeterVariables variables = vars.getVariables();
  -             if(perUser)
  -             {
  -                     int value = start + (increment * (iterationCount-1));
  -                     value = value % end;
  -                     variables.put(getVarName(),Integer.toString(value));
  -             }
  -             else
  +             if(!perUser)
                {
                        globalCounter++;
                        int value = start + (increment * globalCounter);
  -                     value = value % end;
  +                     if(value > end)
  +                     {
  +                             globalCounter = 0;
  +                             value = start;
  +                     }
                        variables.put(getVarName(),Integer.toString(value));
  -             }                               
  +             }
  +             else
  +             {               
  +                     String value = variables.get(getVarName());
  +                     if(value == null)
  +                     {
  +                             variables.put(getVarName(),Integer.toString(start));
  +                     }
  +                     else
  +                     {
  +                             try
  +                             {
  +                                     int current = Integer.parseInt(value);
  +                                     current += increment;
  +                                     if(current > end)
  +                                     {
  +                                             current = start;
  +                                     }
  +                                     
variables.put(getVarName(),Integer.toString(current));
  +                             }
  +                             catch(NumberFormatException e)
  +                             {
  +                                     log.info("Bad number in Counter config",e);
  +                             }               
  +                     }       
  +             }                       
        }
        
        /**
  
  
  

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

Reply via email to