sebb 2004/09/21 15:11:12
Modified: src/functions/org/apache/jmeter/functions Tag: rel-2_0
StringFromFile.java
Log:
Bug 30015 StringFromFile - should close file at end of test
Revision Changes Path
No revision
No revision
1.14.2.5 +41 -15
jakarta-jmeter/src/functions/org/apache/jmeter/functions/StringFromFile.java
Index: StringFromFile.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src/functions/org/apache/jmeter/functions/StringFromFile.java,v
retrieving revision 1.14.2.4
retrieving revision 1.14.2.5
diff -u -r1.14.2.4 -r1.14.2.5
--- StringFromFile.java 18 Sep 2004 15:49:58 -0000 1.14.2.4
+++ StringFromFile.java 21 Sep 2004 22:11:12 -0000 1.14.2.5
@@ -27,9 +27,11 @@
import java.util.LinkedList;
import java.util.List;
+import org.apache.jmeter.engine.event.LoopIterationEvent;
import org.apache.jmeter.engine.util.CompoundVariable;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.samplers.Sampler;
+import org.apache.jmeter.testelement.TestListener;
import org.apache.jmeter.threads.JMeterVariables;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.logging.LoggingManager;
@@ -58,7 +60,9 @@
*
* @version $Revision$ Updated on: $Date$
*/
-public class StringFromFile extends AbstractFunction implements Serializable
+public class StringFromFile
+ extends AbstractFunction
+ implements Serializable, TestListener
{
private static Logger log = LoggingManager.getLoggerForClass();
@@ -80,13 +84,13 @@
private static final int PARAM_END = 4;
private static final int MAX_PARAM_COUNT = 4;
- private String myValue = ERR_IND;
- private String myName = "StringFromFile_";//$NON-NLS-1$ - Name to store the
value in
- private Object[] values;
- transient private BufferedReader myBread; // Buffered reader
+ transient private String myValue = ERR_IND;
+ transient private String myName = "StringFromFile_";//$NON-NLS-1$ - Name to
store the value in
+ transient private Object[] values;
+ transient private BufferedReader myBread = null; // Buffered reader
transient private FileReader fis; // keep this round to close it
- private boolean firstTime = false; // should we try to open the file?
- private String fileName; // needed for error messages
+ transient private boolean firstTime = false; // should we try to open the file?
+ transient private String fileName; // needed for error messages
public StringFromFile()
{
@@ -107,12 +111,8 @@
return newReader;
}
-/*
- * Warning: the file will generally be left open at the end of a test run.
- * This is because functions don't (yet) have any way to find out when a test has
- * ended ...
- */
private void closeFile(){
+ if (myBread == null) return;
String tn = Thread.currentThread().getName();
log.info(tn + " closing file " + fileName);//$NON-NLS-1$
try {
@@ -291,6 +291,8 @@
* Parameters:
* - file name
* - variable name (optional)
+ * - start index (optional)
+ * - end index or count (optional)
*
* @see org.apache.jmeter.functions.Function#setParameters(Collection)
*/
@@ -339,4 +341,28 @@
return desc;
}
-}
+ public void testStarted()
+ {
+ //
+ }
+
+ public void testStarted(String host)
+ {
+ //
+ }
+
+ public void testEnded()
+ {
+ this.testEnded("");
+ }
+
+ public void testEnded(String host)
+ {
+ closeFile();
+ }
+
+ public void testIterationStart(LoopIterationEvent event)
+ {
+ //
+ }
+}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]