mstover1 2003/02/18 12:36:52
Modified: src/core/org/apache/jmeter/config/gui ArgumentsPanel.java
Added: src/functions/org/apache/jmeter/functions JavaScript.java
MachineName.java
Log:
New functions (Javascript and MachineName) from Thad Smith
Revision Changes Path
1.5 +14 -2
jakarta-jmeter/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java
Index: ArgumentsPanel.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ArgumentsPanel.java 18 Feb 2003 16:03:44 -0000 1.4
+++ ArgumentsPanel.java 18 Feb 2003 20:36:52 -0000 1.5
@@ -54,6 +54,7 @@
*/
package org.apache.jmeter.config.gui;
import java.awt.BorderLayout;
+import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
@@ -134,6 +135,11 @@
{
return table;
}
+
+ protected JLabel getTableLabel()
+ {
+ return tableLabel;
+ }
protected JButton getDeleteButton()
{
@@ -387,13 +393,19 @@
{
this.setLayout(new BorderLayout(0,0));
this.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 10));
- JPanel labelPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
- labelPanel.add(tableLabel);
+ Component labelPanel = makeLabelPanel();
this.add(labelPanel,BorderLayout.NORTH);
this.addInnerPanel();
table.revalidate();
sizeColumns(table);
}
+
+ protected Component makeLabelPanel()
+ {
+ JPanel labelPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
+ labelPanel.add(tableLabel);
+ return labelPanel;
+ }
protected void sizeColumns(JTable table)
{
1.1
jakarta-jmeter/src/functions/org/apache/jmeter/functions/JavaScript.java
Index: JavaScript.java
===================================================================
package org.apache.jmeter.functions;
import java.io.Serializable;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.samplers.Sampler;
import org.apache.jmeter.threads.JMeterVariables;
import org.apache.jmeter.util.JMeterUtils;
import org.mozilla.javascript.Context;
import org.mozilla.javascript.JavaScriptException;
import org.mozilla.javascript.Scriptable;
public class JavaScript extends AbstractFunction implements Serializable {
private static final List desc = new LinkedList();
private static final String KEY = "__javaScript";
private String varName;
private String script;
static {
desc.add("JavaScript expression to evaluate");
desc.add(JMeterUtils.getResString("function_name_param"));
}
public JavaScript() {
}
public Object clone() {
JavaScript newJavaScript = new JavaScript();
return newJavaScript;
}
/**
* @see
org.apache.jmeter.functions.Function#execute(org.apache.jmeter.samplers.SampleResult,
org.apache.jmeter.samplers.Sampler)
*/
public synchronized String execute(SampleResult previousResult, Sampler
currentSampler)
throws InvalidVariableException {
JMeterVariables vars = getVariables();
String resultStr = "";
Context cx = Context.enter();
try {
Scriptable scope = cx.initStandardObjects(null);
Object result = cx.evaluateString(scope, script, "<cmd>", 1,
null);
resultStr = Context.toString( result );
vars.put( varName, resultStr );
} catch ( JavaScriptException e ) {
} finally {
Context.exit();
}
return resultStr;
}
/**
* @see org.apache.jmeter.functions.Function#setParameters(java.lang.String)
*/
public void setParameters(String parameters)
throws InvalidVariableException {
Collection params = this.parseArguments(parameters);
String[] values = (String[])params.toArray(new String[0]);
if ( values.length > 1 ) {
varName = values[values.length - 1];
}
try {
script = values[0];
} catch ( Exception e ) {
throw new InvalidVariableException();
}
}
/**
* @see org.apache.jmeter.functions.Function#getReferenceKey()
*/
public String getReferenceKey() {
return KEY;
}
/**
* @see org.apache.jmeter.functions.Function#getArgumentDesc()
*/
public List getArgumentDesc() {
return desc;
}
}
1.1
jakarta-jmeter/src/functions/org/apache/jmeter/functions/MachineName.java
Index: MachineName.java
===================================================================
package org.apache.jmeter.functions;
import java.io.Serializable;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.samplers.Sampler;
import org.apache.jmeter.threads.JMeterVariables;
import org.apache.jmeter.util.JMeterUtils;
public class MachineName extends AbstractFunction implements Serializable {
private static final List desc = new LinkedList();
private static final String KEY = "__machineName";
private boolean fullHostName = false;
private String varName;
static {
desc.add("Use fully qualified host name: TRUE/FALSE (Default FALSE)");
desc.add(JMeterUtils.getResString("function_name_param"));
}
public MachineName() {}
public Object clone() {
return new MachineName();
}
public synchronized String execute(SampleResult previousResult, Sampler
currentSampler)
throws InvalidVariableException {
JMeterVariables vars = getVariables();
String machineName = "";
try {
InetAddress Address = InetAddress.getLocalHost();
if ( fullHostName ) {
machineName = Address.getCanonicalHostName();
} else {
machineName = Address.getHostName();
}
} catch ( UnknownHostException e ) {
}
vars.put( varName, machineName );
return machineName;
}
public void setParameters(String parameters)
throws InvalidVariableException {
Collection params = this.parseArguments(parameters);
String[] values = (String[])params.toArray(new String[0]);
if ( values.length > 0 ) {
if ( values[0].toLowerCase().equals("true") )
fullHostName = true;
varName = values[values.length - 1];
}
}
public String getReferenceKey() {
return KEY;
}
public List getArgumentDesc() {
return desc;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]