jmeter-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pmoua...@apache.org
Subject svn commit: r1835022 - in /jmeter/trunk/src: components/org/apache/jmeter/control/ core/org/apache/jmeter/control/
Date Tue, 03 Jul 2018 20:16:38 GMT
Author: pmouawad
Date: Tue Jul  3 20:16:38 2018
New Revision: 1835022

URL: http://svn.apache.org/viewvc?rev=1835022&view=rev
Log:
Bug 62238 - Add ability to Switch to next iteration of Current Loop

Fix issue in nightly
Bugzilla Id: 62238

Modified:
    jmeter/trunk/src/components/org/apache/jmeter/control/ForeachController.java
    jmeter/trunk/src/core/org/apache/jmeter/control/IteratingController.java
    jmeter/trunk/src/core/org/apache/jmeter/control/LoopController.java
    jmeter/trunk/src/core/org/apache/jmeter/control/WhileController.java

Modified: jmeter/trunk/src/components/org/apache/jmeter/control/ForeachController.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/control/ForeachController.java?rev=1835022&r1=1835021&r2=1835022&view=diff
==============================================================================
--- jmeter/trunk/src/components/org/apache/jmeter/control/ForeachController.java (original)
+++ jmeter/trunk/src/components/org/apache/jmeter/control/ForeachController.java Tue Jul 
3 20:16:38 2018
@@ -20,6 +20,7 @@ package org.apache.jmeter.control;
 
 import java.io.Serializable;
 
+import org.apache.jmeter.engine.event.LoopIterationEvent;
 import org.apache.jmeter.gui.GUIMenuSortOrder;
 import org.apache.jmeter.samplers.Sampler;
 import org.apache.jmeter.testelement.property.BooleanProperty;
@@ -318,4 +319,10 @@ public class ForeachController extends G
         resetLoopCount();
         recoverRunningVersion();
     }
+
+    @Override
+    public void iterationStart(LoopIterationEvent iterEvent) {
+        reInitialize();
+        resetLoopCount();
+    }
 }

Modified: jmeter/trunk/src/core/org/apache/jmeter/control/IteratingController.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/control/IteratingController.java?rev=1835022&r1=1835021&r2=1835022&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/control/IteratingController.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/control/IteratingController.java Tue Jul  3 20:16:38
2018
@@ -18,6 +18,7 @@
 
 package org.apache.jmeter.control;
 
+import org.apache.jmeter.engine.event.LoopIterationListener;
 import org.apache.jmeter.threads.JMeterContextService;
 import org.apache.jmeter.threads.JMeterVariables;
 import org.apache.jmeter.util.JMeterUtils;
@@ -26,7 +27,7 @@ import org.apache.jmeter.util.JMeterUtil
  * Identify controller that does iterations
  * @since 4.1
  */
-public interface IteratingController {
+public interface IteratingController extends LoopIterationListener {
     
     /**
      * Start next iteration ("continue" keyword equivalent in loops)

Modified: jmeter/trunk/src/core/org/apache/jmeter/control/LoopController.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/control/LoopController.java?rev=1835022&r1=1835021&r2=1835022&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/control/LoopController.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/control/LoopController.java Tue Jul  3 20:16:38
2018
@@ -20,23 +20,27 @@ package org.apache.jmeter.control;
 
 import java.io.Serializable;
 
+import org.apache.jmeter.engine.event.LoopIterationEvent;
+import org.apache.jmeter.engine.event.LoopIterationListener;
 import org.apache.jmeter.samplers.Sampler;
 import org.apache.jmeter.testelement.property.BooleanProperty;
 import org.apache.jmeter.testelement.property.IntegerProperty;
 import org.apache.jmeter.testelement.property.JMeterProperty;
 import org.apache.jmeter.testelement.property.StringProperty;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Class that implements the Loop Controller, ie iterate infinitely or a configured number
of times
  */
-public class LoopController extends GenericController implements Serializable, IteratingController
{
+public class LoopController extends GenericController implements Serializable, IteratingController,
LoopIterationListener {
     
     public static final int INFINITE_LOOP_COUNT = -1; // $NON-NLS-1$
     
     public static final String LOOPS = "LoopController.loops"; // $NON-NLS-1$
 
     private static final long serialVersionUID = 7833960784370272300L;
-
+    private static final Logger LOGGER = LoggerFactory.getLogger(LoopController.class);
     /**
      * In spite of the name, this is actually used to determine if the loop controller is
repeatable.
      *
@@ -221,4 +225,13 @@ public class LoopController extends Gene
         resetLoopCount();
         recoverRunningVersion();
     }
+
+    @Override
+    public void iterationStart(LoopIterationEvent iterEvent) {
+        if(LOGGER.isInfoEnabled()) {
+            LOGGER.info("iterationStart called on {} with source {} and iteration {}", getName(),
iterEvent.getSource(), iterEvent.getIteration());
+        }
+        reInitialize();
+        resetLoopCount();
+    }
 }

Modified: jmeter/trunk/src/core/org/apache/jmeter/control/WhileController.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/control/WhileController.java?rev=1835022&r1=1835021&r2=1835022&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/control/WhileController.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/control/WhileController.java Tue Jul  3 20:16:38
2018
@@ -20,6 +20,7 @@ package org.apache.jmeter.control;
 
 import java.io.Serializable;
 
+import org.apache.jmeter.engine.event.LoopIterationEvent;
 import org.apache.jmeter.samplers.Sampler;
 import org.apache.jmeter.testelement.property.JMeterProperty;
 import org.apache.jmeter.testelement.property.StringProperty;
@@ -160,4 +161,11 @@ public class WhileController extends Gen
         resetLoopCount();
         recoverRunningVersion();
     }
+
+    @Override
+    public void iterationStart(LoopIterationEvent iterEvent) {
+        reInitialize();
+        endOfLoop(true);
+        resetLoopCount();
+    }
 }



Mime
View raw message