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/09/19 18:27:12 UTC
svn commit: r577344 -
/jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/BeanShellTestElement.java
Author: sebb
Date: Wed Sep 19 09:27:11 2007
New Revision: 577344
URL: http://svn.apache.org/viewvc?rev=577344&view=rev
Log:
Add new common TestBean variables and utility eval() method
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/BeanShellTestElement.java
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/BeanShellTestElement.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/BeanShellTestElement.java?rev=577344&r1=577343&r2=577344&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/BeanShellTestElement.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/BeanShellTestElement.java Wed Sep 19 09:27:11 2007
@@ -28,6 +28,7 @@
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.jorphan.util.JMeterException;
+import org.apache.jorphan.util.JOrphanUtils;
import org.apache.log.Logger;
public abstract class BeanShellTestElement extends AbstractTestElement
@@ -35,9 +36,16 @@
{
private static final Logger log = LoggingManager.getLoggerForClass();
- private static final long serialVersionUID = 3;
+ private static final long serialVersionUID = 4;
+
+ //++ For TestBean implementations only
+ private String parameters; // passed to file or script
+
+ private String filename; // file to source (overrides script)
+
+ private String script; // script (if file not provided)
+ //-- For TestBean implementations only
- private String script; // For TestBean implementations only
transient private BeanShellInterpreter bshInterpreter = null;
@@ -76,6 +84,23 @@
return o;
}
+ protected Object processFileOrScript(BeanShellInterpreter bsh) throws JMeterException{
+ String fileName = getFilename();
+
+ bsh.set("FileName", getFilename());//$NON-NLS-1$
+ // Set params as a single line
+ bsh.set("Parameters", getParameters()); // $NON-NLS-1$
+ // and set as an array
+ bsh.set("bsh.args",//$NON-NLS-1$
+ JOrphanUtils.split(getParameters(), " "));//$NON-NLS-1$
+
+ if (fileName.length() == 0) {
+ return bsh.eval(getScript());
+ } else {
+ return bsh.source(fileName);
+ }
+ }
+
/**
* Return the script (TestBean version).
* Must be overridden for subclasses that don't implement TestBean
@@ -160,5 +185,21 @@
} catch (JMeterException ignored) {
log.debug(getClass().getName() + " : " + ignored.getLocalizedMessage()); // $NON-NLS-1$
}
+ }
+
+ public String getParameters() {
+ return parameters;
+ }
+
+ public void setParameters(String s) {
+ parameters = s;
+ }
+
+ public String getFilename() {
+ return filename;
+ }
+
+ public void setFilename(String s) {
+ filename = s;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org