Author: sebb
Date: Fri Nov 9 13:54:06 2007
New Revision: 593663
URL: http://svn.apache.org/viewvc?rev=593663&view=rev
Log:
Use drop-down list for BSF language field
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
jakarta/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BSFSamplerGui.java
jakarta/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSampler.java
jakarta/jmeter/trunk/xdocs/changes.xml
jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=593663&r1=593662&r2=593663&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
(original)
+++
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
Fri Nov 9 13:54:06 2007
@@ -69,7 +69,7 @@
bind=Thread Bind
browse=Browse...
bsf_sampler_title=BSF Sampler
-bsf_script=Script to run
+bsf_script=Script to run (variables: log, Label, FileName, Parameters, args[],
SampleResult, ctx, vars)
bsf_script_file=Script file to run
bsf_script_language=Scripting language\:
bsf_script_parameters=Parameters to pass to script/file\:
Modified:
jakarta/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BSFSamplerGui.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BSFSamplerGui.java?rev=593663&r1=593662&r2=593663&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BSFSamplerGui.java
(original)
+++
jakarta/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BSFSamplerGui.java
Fri Nov 9 13:54:06 2007
@@ -19,8 +19,12 @@
package org.apache.jmeter.protocol.java.control.gui;
import java.awt.BorderLayout;
+import java.util.Arrays;
+import java.util.Properties;
+import java.util.Set;
import javax.swing.Box;
+import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
@@ -35,7 +39,7 @@
public class BSFSamplerGui extends AbstractSamplerGui {
private JTextArea scriptField;
- private JTextField langField;// Language TODO should this be a
drop-down list?
+ private JComboBox langField;// Language
private JTextField filename;// script file name (if present)
@@ -47,10 +51,11 @@
public void configure(TestElement element) {
super.configure(element);
-
scriptField.setText(element.getPropertyAsString(BSFSampler.SCRIPT));
-
langField.setText(element.getPropertyAsString(BSFSampler.LANGUAGE));
- filename.setText(element.getPropertyAsString(BSFSampler.FILENAME));
- parameters.setText(element.getPropertyAsString(BSFSampler.PARAMETERS));
+ BSFSampler sampler = (BSFSampler) element;
+ scriptField.setText(sampler.getScript());
+ langField.setSelectedItem(sampler.getScriptLanguage());
+ filename.setText(sampler.getFilename());
+ parameters.setText(sampler.getParameters());
}
public TestElement createTestElement() {
@@ -67,10 +72,11 @@
public void modifyTestElement(TestElement te) {
te.clear();
this.configureTestElement(te);
- te.setProperty(BSFSampler.FILENAME, filename.getText());
- te.setProperty(BSFSampler.LANGUAGE, langField.getText());
- te.setProperty(BSFSampler.PARAMETERS, parameters.getText());
- te.setProperty(BSFSampler.SCRIPT, scriptField.getText());
+ BSFSampler sampler = (BSFSampler) te;
+ sampler.setFilename(filename.getText());
+ sampler.setScriptLanguage((String) langField.getSelectedItem());
+ sampler.setParameters(parameters.getText());
+ sampler.setScript(scriptField.getText());
}
/**
@@ -80,7 +86,7 @@
super.clearGui();
scriptField.setText(""); //$NON-NLS-1$
- langField.setText(""); //$NON-NLS-1$
+ langField.setSelectedIndex(0);
filename.setText(""); //$NON-NLS-1$
parameters.setText(""); //$NON-NLS-1$
}
@@ -110,7 +116,6 @@
JLabel label = new
JLabel(JMeterUtils.getResString("bsf_script_parameters")); // $NON-NLS-1$
parameters = new JTextField(10);
- parameters.setName(BSFSampler.PARAMETERS);
label.setLabelFor(parameters);
JPanel parameterPanel = new JPanel(new BorderLayout(5, 0));
@@ -124,7 +129,6 @@
JLabel label = new
JLabel(JMeterUtils.getResString("bsf_script_file")); // $NON-NLS-1$
filename = new JTextField(10);
- filename.setName(BSFSampler.FILENAME);
label.setLabelFor(filename);
JPanel filenamePanel = new JPanel(new BorderLayout(5, 0));
@@ -136,13 +140,19 @@
private JPanel createLanguagePanel() {
JLabel label = new
JLabel(JMeterUtils.getResString("bsf_script_language")); // $NON-NLS-1$
- langField = new JTextField(10);
- langField.setName(BSFSampler.LANGUAGE);
+ Properties p =
JMeterUtils.loadProperties("org/apache/bsf/Languages.properties"); //
$NON-NLS-1$
+ Set keySet = p.keySet();
+ String [] items = (String[]) keySet.toArray(new String[]{});
+ Arrays.sort(items);
+
+ langField = new JComboBox(items);
+ langField.setEditable(true);
label.setLabelFor(langField);
JPanel langPanel = new JPanel(new BorderLayout(5, 0));
langPanel.add(label, BorderLayout.WEST);
langPanel.add(langField, BorderLayout.CENTER);
+
return langPanel;
}
Modified:
jakarta/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSampler.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSampler.java?rev=593663&r1=593662&r2=593663&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSampler.java
(original)
+++
jakarta/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BSFSampler.java
Fri Nov 9 13:54:06 2007
@@ -41,13 +41,15 @@
private static final Logger log = LoggingManager.getLoggerForClass();
- public static final String FILENAME = "BSFSampler.filename";
//$NON-NLS-1$
+ //+ JMX file attributes - do not change
+ private static final String FILENAME = "BSFSampler.filename";
//$NON-NLS-1$
- public static final String SCRIPT = "BSFSampler.query"; //$NON-NLS-1$
+ private static final String SCRIPT = "BSFSampler.query"; //$NON-NLS-1$
- public static final String LANGUAGE = "BSFSampler.language";
//$NON-NLS-1$
+ private static final String LANGUAGE = "BSFSampler.language";
//$NON-NLS-1$
- public static final String PARAMETERS = "BSFSampler.parameters";
//$NON-NLS-1$
+ private static final String PARAMETERS = "BSFSampler.parameters";
//$NON-NLS-1$
+ //- JMX file attributes
private transient BSFManager mgr;
Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=593663&r1=593662&r2=593663&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Fri Nov 9 13:54:06 2007
@@ -91,6 +91,7 @@
<li>The Proxy server removes If-Modified-Since headers from generated Header
Managers by default.
To change the list of removed headers, define the property
proxy.headers.remove as a comma-separated list of headers to remove</li>
<li>The javaScript function now has access to JMeter variables and context
etc. See <a href="usermanual/functions.html#__javaScript">JavaScript
function</a></li>
+<li>Use drop-down list for BSF Sampler language field</li>
</ul>
<h4>Non-functional Improvements</h4>
Modified: jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=593663&r1=593662&r2=593663&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml Fri Nov 9
13:54:06 2007
@@ -858,7 +858,11 @@
</description>
<properties>
<property name="Name" required="No">Descriptive name for this
controller that is shown in the tree.</property>
- <property name="Scripting Language" required="Yes">Name of the BSF
scripting language to be used.</property>
+ <property name="Scripting Language" required="Yes">Name of the BSF
scripting language to be used.
+ N.B. Not all the languages in the drop-down list are supported by
default.
+ The following are supported: beanshell, jacl, javascript, xslt.
+ Others may be available if the appropriate jar is installed in the
JMeter lib directory.
+ </property>
<property name="Script File" required="No">Name of a file to be used as
a BSF script</property>
<property name="Parameters" required="No">List of parameters to be
passed to the script file or the script.</property>
<property name="Script" required="Yes (unless script file is
provided)">Script to be passed to BSF language</property>
@@ -873,7 +877,7 @@
<li>Label - the Sampler label</li>
<li>FileName - the file name, if any</li>
<li>Parameters - text from the Parameters field</li>
-<li>bsh.args - the parameters, split as described above</li>
+<li>args - the parameters, split as described above</li>
<li>SampleResult - pointer to the current SampleResult</li>
<li>ctx - JMeterContext</li>
<li>vars - JMeterVariables - e.g. vars.get("VAR1"); vars.put("VAR2","value");
vars.remove("VAR3"); vars.putObject("OBJ1",new Object());</li>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]