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/09/21 22:22:41 UTC
cvs commit: jakarta-jmeter/src/core/org/apache/jmeter/engine StandardJMeterEngine.java
sebb 2004/09/21 13:22:41
Modified: src/core/org/apache/jmeter/engine Tag: rel-2_0
StandardJMeterEngine.java
Log:
Allow non- Test Elements (e.g. Functions) to register as TestListeners
Revision Changes Path
No revision
No revision
1.43.2.5 +23 -4 jakarta-jmeter/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
Index: StandardJMeterEngine.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java,v
retrieving revision 1.43.2.4
retrieving revision 1.43.2.5
diff -u -r1.43.2.4 -r1.43.2.5
--- StandardJMeterEngine.java 2 Jul 2004 18:05:00 -0000 1.43.2.4
+++ StandardJMeterEngine.java 21 Sep 2004 20:22:40 -0000 1.43.2.5
@@ -21,6 +21,8 @@
import java.io.PrintWriter;
import java.io.Serializable;
import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
@@ -117,6 +119,15 @@
}
// End of code to allow engine to be controlled remotely
+ /*
+ * Allow functions etc to register for testStopped notification
+ */
+ private static List testList = null;
+ public static synchronized void register(TestListener tl)
+ {
+ testList.add(tl);
+ }
+
public StandardJMeterEngine()
{
allThreads = new HashMap();
@@ -215,16 +226,20 @@
protected void notifyTestListenersOfEnd()
{
+ log.info("Notifying listeners of end of test");
+
Iterator iter = testListeners.getSearchResults().iterator();
while (iter.hasNext())
{
+ TestListener it = (TestListener)iter.next();
+ log.info("Notifying test listener: " + it.getClass().getName());
if (host == null)
{
- ((TestListener) iter.next()).testEnded();
+ it.testEnded();
}
else
{
- ((TestListener) iter.next()).testEnded(host);
+ it.testEnded(host);
}
}
log.info("Test has ended");
@@ -284,6 +299,7 @@
{
log.info("Running the test!");
running = true;
+ testList = new ArrayList();
SearchByClass testPlan = new SearchByClass(TestPlan.class);
getTestTree().traverse(testPlan);
@@ -306,6 +322,9 @@
testListeners = new SearchByClass(TestListener.class);
getTestTree().traverse(testListeners);
log.info("About to call test listeners");
+ Collection col = testListeners.getSearchResults();
+ col.addAll(testList);
+ testList=null;
notifyTestListenersOfStart();
getTestTree().traverse(new TurnElementsOn());
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org