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 2007/12/13 01:09:34 UTC
svn commit: r603781 -
/jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/LoopController.java
Author: sebb
Date: Wed Dec 12 16:09:33 2007
New Revision: 603781
URL: http://svn.apache.org/viewvc?rev=603781&view=rev
Log:
Document meaning of forever setting; constructor should not call overridable method
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/LoopController.java
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/LoopController.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/LoopController.java?rev=603781&r1=603780&r2=603781&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/LoopController.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/control/LoopController.java Wed Dec 12 16:09:33 2007
@@ -27,26 +27,32 @@
import org.apache.jmeter.testelement.property.StringProperty;
/**
- * @author Michael Stover
- * @author Thad Smith
- * @version $Revision$
+ * Class that implements the Loop Controller.
*/
public class LoopController extends GenericController implements Serializable {
private final static String LOOPS = "LoopController.loops"; // $NON-NLS-1$
+
+ private static final long serialVersionUID = 232L;
/*
- * TODO: eliminate this setting?
- * Most places assume that forever is the same as loopcount = -1 or < 0,
- * so having a separate flag is potentially ambiguous.
- * In fact, this already happens with ThreadGroup which can set forever = false and loops = -1
+ * In spite of the name, this is actually used to determine if the loop controller is repeatable.
+ *
+ * The value is only used in nextIsNull() when the loop end condition has been detected:
+ * If forever==true, then it calls resetLoopCount(), otherwise it calls setDone(true).
+ *
+ * Loop Controllers always set forever=true, so that they will be executed next time
+ * the parent invokes them.
+ *
+ * Thread Group sets the value false, so nextIsNull() sets done, and the Thread Group will not be repeated.
+ * However, it's not clear that a Thread Group could ever be repeated.
*/
private final static String CONTINUE_FOREVER = "LoopController.continue_forever"; // $NON-NLS-1$
private transient int loopCount = 0;
public LoopController() {
- setContinueForever(true);
+ setContinueForever_private(true);
}
public void setLoops(int loops) {
@@ -77,6 +83,10 @@
* true if the loop must be reset after ending a run
*/
public void setContinueForever(boolean forever) {
+ setContinueForever_private(forever);
+ }
+
+ private void setContinueForever_private(boolean forever) {
setProperty(new BooleanProperty(CONTINUE_FOREVER, forever));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org