mstover1 2002/07/29 20:02:10
Modified: src_1/org/apache/jmeter/config/gui ArgumentsPanel.java
src_1/org/apache/jmeter/engine StandardJMeterEngine.java
src_1/org/apache/jmeter/functions CompoundFunction.java
Function.java RegexFunction.java
src_1/org/apache/jmeter/gui/util TextAreaCellRenderer.java
TextAreaTableCellEditor.java
src_1/org/apache/jmeter/protocol/http/config/gui
MultipartUrlConfigGui.java UrlConfigGui.java
src_1/org/apache/jmeter/protocol/http/control/gui
HttpTestSampleGui.java
src_1/org/apache/jmeter/protocol/http/proxy/gui
ProxyControlGui.java
src_1/org/apache/jmeter/protocol/http/sampler
HTTPSampler.java
src_1/org/apache/jmeter/threads JMeterThread.java
TestCompiler.java
src_1/org/apache/jmeter/util JMeterUtils.java
src_1/org/apache/jmeter/visualizers
ViewResultsFullVisualizer.java
Added: src_1/org/apache/jmeter/functions IterationCounter.java
ThreadNumber.java
src_1/org/apache/jmeter/threads JMeterVariables.java
Log:
trying to improve the GUI
new functions to grab thread number and iteration number (number of times through
test plan for each thread)
Giving access to built-in variables to Functions.
Revision Changes Path
1.11 +33 -13
jakarta-jmeter/src_1/org/apache/jmeter/config/gui/ArgumentsPanel.java
Index: ArgumentsPanel.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/config/gui/ArgumentsPanel.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- ArgumentsPanel.java 23 Jul 2002 18:06:30 -0000 1.10
+++ ArgumentsPanel.java 30 Jul 2002 03:02:09 -0000 1.11
@@ -53,15 +53,28 @@
* <http://www.apache.org/>.
*/
package org.apache.jmeter.config.gui;
-import java.awt.*;
-import java.awt.event.*;
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.FlowLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
import java.util.Collection;
-import javax.swing.*;
-import javax.swing.border.*;
-import javax.swing.table.*;
-import org.apache.jmeter.config.*;
-import org.apache.jmeter.gui.*;
-import org.apache.jmeter.gui.util.VerticalLayout;
+
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableCellEditor;
+
+import org.apache.jmeter.config.Argument;
+import org.apache.jmeter.config.Arguments;
+import org.apache.jmeter.gui.util.TextAreaCellRenderer;
+import org.apache.jmeter.gui.util.TextAreaTableCellEditor;
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.util.JMeterUtils;
@@ -157,6 +170,8 @@
try
{
table.getCellEditor().stopCellEditing();
+ table.revalidate();
+ table.repaint();
}
catch(NullPointerException err){}
}
@@ -243,10 +258,15 @@
table = new JTable(tableModel);
table.setEnabled(true);
table.addFocusListener(this);
- table.setCellSelectionEnabled(true);
+ table.setDefaultEditor(String.class,
+ new TextAreaTableCellEditor());
+ TextAreaCellRenderer renderer = new TextAreaCellRenderer();
+ table.setRowHeight(renderer.getPreferredHeight());
+ table.setDefaultRenderer(String.class,renderer);
+ //table.setCellSelectionEnabled(true);
table.setRowSelectionAllowed(true);
- table.setColumnSelectionAllowed(false);
- table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+ //table.setColumnSelectionAllowed(false);
+ //table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
JScrollPane scroller = new JScrollPane(table);
Dimension tableDim = scroller.getPreferredSize();
1.13 +5 -3
jakarta-jmeter/src_1/org/apache/jmeter/engine/StandardJMeterEngine.java
Index: StandardJMeterEngine.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/engine/StandardJMeterEngine.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- StandardJMeterEngine.java 12 Jul 2002 02:05:49 -0000 1.12
+++ StandardJMeterEngine.java 30 Jul 2002 03:02:09 -0000 1.13
@@ -65,6 +65,7 @@
import org.apache.jmeter.testelement.TestPlan;
import org.apache.jmeter.threads.JMeterThread;
import org.apache.jmeter.threads.JMeterThreadMonitor;
+import org.apache.jmeter.threads.JMeterVariables;
import org.apache.jmeter.threads.TestCompiler;
import org.apache.jmeter.threads.ThreadGroup;
import org.apache.jmeter.util.ListedHashTree;
@@ -137,6 +138,7 @@
JMeterThread[] threads;
Iterator iter = searcher.getSearchResults().iterator();
notifyTestListenersOfStart();
+ JMeterVariables.initialize();
while(iter.hasNext())
{
ThreadGroup group = (ThreadGroup)iter.next();
@@ -148,7 +150,7 @@
(float)group.getNumThreads())
* (float)i));
threads[i].setThreadName(group.getName()+"-"+(i+1));
Thread newThread = new Thread(threads[i]);
- newThread.setName(group.getName()+(i+1));
+ newThread.setName(group.getName()+"-"+(i+1));
allThreads.add(threads[i]);
newThread.start();
}
1.4 +29 -3
jakarta-jmeter/src_1/org/apache/jmeter/functions/CompoundFunction.java
Index: CompoundFunction.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/functions/CompoundFunction.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- CompoundFunction.java 26 Jul 2002 02:48:46 -0000 1.3
+++ CompoundFunction.java 30 Jul 2002 03:02:09 -0000 1.4
@@ -8,9 +8,11 @@
import java.util.Map;
import junit.framework.TestCase;
-import org.apache.jmeter.functions.*;
+
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.samplers.Sampler;
+import org.apache.jmeter.testelement.PerThreadClonable;
+import org.apache.jmeter.threads.JMeterVariables;
import org.apache.jmeter.util.ClassFinder;
import org.apache.oro.text.perl.Perl5Util;
import org.apache.oro.text.regex.PatternCompiler;
@@ -22,7 +24,10 @@
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
*/
-public class CompoundFunction implements Function {
+public class CompoundFunction implements Function
+{
+
+ private JMeterVariables threadVars;
static Map functions = new HashMap();
private Map definedValues;
@@ -108,6 +113,20 @@
compiledComponents.clear();
staticSubstitution = "";
}
+
+ public void setJMeterVariables(JMeterVariables threadVars)
+ {
+ Iterator iter = compiledComponents.iterator();
+ while(iter.hasNext())
+ {
+ Object item = iter.next();
+ if(item instanceof Function)
+ {
+ ((Function)item).setJMeterVariables(threadVars);
+ }
+ }
+ this.threadVars = threadVars;
+ }
/**
* @see Function#setParameters(String)
@@ -228,7 +247,14 @@
private String extractParams(String function)
{
- return
function.substring(function.indexOf("(")+1,function.lastIndexOf(")"));
+ if(function.indexOf("(") > -1)
+ {
+ return
function.substring(function.indexOf("(")+1,function.lastIndexOf(")"));
+ }
+ else
+ {
+ return "";
+ }
}
private int getFunctionEndIndex(String part) {
1.3 +7 -0 jakarta-jmeter/src_1/org/apache/jmeter/functions/Function.java
Index: Function.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/functions/Function.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Function.java 17 Jul 2002 01:42:13 -0000 1.2
+++ Function.java 30 Jul 2002 03:02:09 -0000 1.3
@@ -4,6 +4,7 @@
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.samplers.Sampler;
+import org.apache.jmeter.threads.JMeterVariables;
/**
* @author mstover
@@ -52,4 +53,10 @@
* blank strings, one for each argument.
*/
public List getArgumentDesc();
+
+ /**
+ * A means of giving the function access to built-in JMeter data
+ * such as iteration number, current thread name, etc
+ */
+ public void setJMeterVariables(JMeterVariables jmv);
}
1.2 +6 -0
jakarta-jmeter/src_1/org/apache/jmeter/functions/RegexFunction.java
Index: RegexFunction.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/functions/RegexFunction.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- RegexFunction.java 17 Jul 2002 01:27:46 -0000 1.1
+++ RegexFunction.java 30 Jul 2002 03:02:09 -0000 1.2
@@ -9,8 +9,10 @@
import java.util.Random;
import junit.framework.TestCase;
+
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.apache.oro.text.regex.MalformedPatternException;
import org.apache.oro.text.regex.MatchResult;
@@ -146,6 +148,10 @@
public String getReferenceKey()
{
return KEY;
+ }
+
+ public void setJMeterVariables(JMeterVariables xxx)
+ {
}
public void setParameters(String params) throws InvalidVariableException
1.1
jakarta-jmeter/src_1/org/apache/jmeter/functions/IterationCounter.java
Index: IterationCounter.java
===================================================================
package org.apache.jmeter.functions;
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.testelement.PerThreadClonable;
import org.apache.jmeter.threads.JMeterVariables;
import org.apache.jmeter.util.JMeterUtils;
/**
* @author default
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
public class IterationCounter extends AbstractFunction
{
private JMeterVariables vars;
private static int counter;
private static final List desc = new LinkedList();
private boolean perThread = true;
static
{
desc.add(JMeterUtils.getResString("iteration_counter_arg_1"));
}
private static final String KEY = "__counter";
public IterationCounter()
{
counter = 0;
}
public Object clone()
{
IterationCounter newCounter = new IterationCounter();
return newCounter;
}
/**
* @see org.apache.jmeter.functions.Function#execute(SampleResult, Sampler)
*/
public String execute(SampleResult previousResult, Sampler currentSampler)
throws InvalidVariableException {
if(perThread)
{
return Integer.toString(vars.getIteration());
}
else
{
return Integer.toString(counter++);
}
}
/**
* @see org.apache.jmeter.functions.Function#setParameters(String)
*/
public void setParameters(String parameters)
throws InvalidVariableException {
Collection params = this.parseArguments(parameters);
String[] values = (String[])params.toArray(new String[0]);
perThread = new Boolean(values[0]).booleanValue();
}
/**
* @see org.apache.jmeter.functions.Function#getReferenceKey()
*/
public String getReferenceKey() {
return KEY;
}
/**
* @see org.apache.jmeter.functions.Function#getArgumentDesc()
*/
public List getArgumentDesc() {
return new LinkedList();
}
/**
* @see
org.apache.jmeter.functions.Function#setJMeterVariables(JMeterVariables)
*/
public void setJMeterVariables(JMeterVariables jmv) {
if(vars == null)
{
vars = jmv;
}
}
}
1.1
jakarta-jmeter/src_1/org/apache/jmeter/functions/ThreadNumber.java
Index: ThreadNumber.java
===================================================================
package org.apache.jmeter.functions;
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;
/**
* @author default
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
public class ThreadNumber implements Function {
private JMeterVariables vars;
private static final String KEY = "__threadNum";
/**
* @see org.apache.jmeter.functions.Function#execute(SampleResult, Sampler)
*/
public String execute(SampleResult previousResult, Sampler currentSampler)
throws InvalidVariableException {
return vars.getThreadName().substring(
vars.getThreadName().indexOf("-")+1);
}
/**
* @see org.apache.jmeter.functions.Function#setParameters(String)
*/
public void setParameters(String parameters)
throws InvalidVariableException {
}
/**
* @see org.apache.jmeter.functions.Function#getReferenceKey()
*/
public String getReferenceKey() {
return KEY;
}
/**
* @see org.apache.jmeter.functions.Function#getArgumentDesc()
*/
public List getArgumentDesc() {
return new LinkedList();
}
/**
* @see
org.apache.jmeter.functions.Function#setJMeterVariables(JMeterVariables)
*/
public void setJMeterVariables(JMeterVariables jmv) {
vars = jmv;
}
}
1.2 +1 -1
jakarta-jmeter/src_1/org/apache/jmeter/gui/util/TextAreaCellRenderer.java
Index: TextAreaCellRenderer.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/util/TextAreaCellRenderer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TextAreaCellRenderer.java 14 Jun 2002 22:45:16 -0000 1.1
+++ TextAreaCellRenderer.java 30 Jul 2002 03:02:09 -0000 1.2
@@ -31,7 +31,7 @@
{
rend.setBackground(JMeterColor.LAVENDER);
}
- if(arg0.getRowHeight(arg4) != getPreferredHeight())
+ if(arg0.getRowHeight(arg4) < getPreferredHeight())
{
arg0.setRowHeight(arg4,getPreferredHeight());
}
1.3 +4 -3
jakarta-jmeter/src_1/org/apache/jmeter/gui/util/TextAreaTableCellEditor.java
Index: TextAreaTableCellEditor.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/util/TextAreaTableCellEditor.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- TextAreaTableCellEditor.java 19 Jul 2002 21:35:37 -0000 1.2
+++ TextAreaTableCellEditor.java 30 Jul 2002 03:02:09 -0000 1.3
@@ -37,9 +37,10 @@
editor = new JTextArea(value.toString());
editor.addFocusListener(this);
editor.setEnabled(true);
- editor.setRows(editor.getRows()+1);
+ editor.setRows(editor.getRows());
editor.revalidate();
- pane = new JScrollPane(editor);
+ pane = new JScrollPane(editor,JScrollPane.VERTICAL_SCROLLBAR_NEVER,
+ JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
pane.validate();
return pane;
}
@@ -109,7 +110,7 @@
return true;
}
}
- return false;
+ return true;
}
public void removeCellEditorListener(CellEditorListener lis)
1.6 +33 -25
jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/config/gui/MultipartUrlConfigGui.java
Index: MultipartUrlConfigGui.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/config/gui/MultipartUrlConfigGui.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- MultipartUrlConfigGui.java 2 May 2002 22:54:58 -0000 1.5
+++ MultipartUrlConfigGui.java 30 Jul 2002 03:02:09 -0000 1.6
@@ -53,21 +53,28 @@
* <http://www.apache.org/>.
*/
package org.apache.jmeter.protocol.http.config.gui;
-import java.awt.*;
-import java.awt.event.*;
-import java.io.*;
-import javax.swing.*;
-import javax.swing.border.*;
-import org.apache.jmeter.config.ConfigTestElement;
-import org.apache.jmeter.gui.*;
-import org.apache.jmeter.gui.NamePanel;
+import java.awt.BorderLayout;
+import java.awt.Font;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.BorderLayout;
+import java.io.File;
+import java.util.Collection;
+
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
+import javax.swing.JFileChooser;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+import javax.swing.border.Border;
+import javax.swing.border.EmptyBorder;
+
import org.apache.jmeter.gui.util.FileDialoger;
import org.apache.jmeter.gui.util.VerticalLayout;
-import org.apache.jmeter.protocol.http.config.MultipartUrlConfig;
-import org.apache.jmeter.protocol.http.sampler.*;
+import org.apache.jmeter.protocol.http.sampler.HTTPSampler;
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.util.JMeterUtils;
-import java.util.Collection;
/****************************************
* Title: JMeter Description: Copyright: Copyright (c) 2000 Company: Apache
@@ -196,23 +203,24 @@
***************************************/
protected void init()
{
- this.setLayout(new VerticalLayout(5, VerticalLayout.LEFT,
VerticalLayout.TOP));
+ this.setLayout(new BorderLayout());
// WEB SERVER PANEL
JPanel webServerPanel = new JPanel();
- webServerPanel.setLayout(new VerticalLayout(5, VerticalLayout.LEFT,
VerticalLayout.TOP));
+ webServerPanel.setLayout(new BorderLayout());
webServerPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
JMeterUtils.getResString("web_server")));
- webServerPanel.add(getDomainPanel());
- webServerPanel.add(getPortPanel());
+ webServerPanel.add(getDomainPanel(),BorderLayout.NORTH);
+ webServerPanel.add(getPortPanel(),BorderLayout.SOUTH);
// WEB REQUEST PANEL
- JPanel webRequestPanel = new JPanel();
- webRequestPanel.setLayout(new VerticalLayout(5, VerticalLayout.LEFT,
VerticalLayout.TOP));
+ JPanel webRequestPanel = new JPanel(new BorderLayout());
+ JPanel northPanel = new JPanel(new BorderLayout());
webRequestPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
JMeterUtils.getResString("web_request")));
- webRequestPanel.add(getProtocolAndMethodPanel());
- webRequestPanel.add(getPathPanel());
- webRequestPanel.add(getParameterPanel());
- webRequestPanel.add(getFilePanel());
+ northPanel.add(getProtocolAndMethodPanel(),BorderLayout.NORTH);
+ northPanel.add(getPathPanel(),BorderLayout.SOUTH);
+ webRequestPanel.add(northPanel,BorderLayout.NORTH);
+ webRequestPanel.add(getParameterPanel(),BorderLayout.CENTER);
+ webRequestPanel.add(getFilePanel(),BorderLayout.SOUTH);
// If displayName is TRUE, then this GUI is not embedded in another
GUI.
if(displayName)
@@ -221,7 +229,7 @@
JPanel mainPanel = new JPanel();
Border margin = new EmptyBorder(10, 10, 5, 10);
mainPanel.setBorder(margin);
- mainPanel.setLayout(new VerticalLayout(5,
VerticalLayout.LEFT));
+ mainPanel.setLayout(new BorderLayout());
// TITLE
JLabel panelTitleLabel = new
JLabel(JMeterUtils.getResString("url_full_config_title"));
@@ -242,8 +250,8 @@
else
{// Embed this GUI in the parent GUI
- this.add(webServerPanel);
- this.add(webRequestPanel);
+ this.add(webServerPanel,BorderLayout.NORTH);
+ this.add(webRequestPanel,BorderLayout.CENTER);
}
}
1.12 +27 -20
jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
Index: UrlConfigGui.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- UrlConfigGui.java 18 Jul 2002 18:55:53 -0000 1.11
+++ UrlConfigGui.java 30 Jul 2002 03:02:09 -0000 1.12
@@ -53,7 +53,9 @@
* <http://www.apache.org/>.
*/
package org.apache.jmeter.protocol.http.config.gui;
+import java.awt.BorderLayout;
import java.awt.Dimension;
+import java.awt.FlowLayout;
import java.awt.Font;
import javax.swing.BorderFactory;
@@ -67,6 +69,7 @@
import javax.swing.JTextField;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
+
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.config.ConfigTestElement;
import org.apache.jmeter.config.gui.AbstractConfigGui;
@@ -224,20 +227,22 @@
***************************************/
protected void init()
{
- this.setLayout(new VerticalLayout(5, VerticalLayout.LEFT,
VerticalLayout.TOP));
+ this.setLayout(new BorderLayout());
JPanel webServerPanel = new JPanel();
- webServerPanel.setLayout(new VerticalLayout(5, VerticalLayout.LEFT,
VerticalLayout.TOP));
+ webServerPanel.setLayout(new BorderLayout());
webServerPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
JMeterUtils.getResString("web_server")));
- webServerPanel.add(getDomainPanel());
- webServerPanel.add(getPortPanel());
+ webServerPanel.add(getDomainPanel(),BorderLayout.NORTH);
+ webServerPanel.add(getPortPanel(),BorderLayout.SOUTH);
JPanel webRequestPanel = new JPanel();
- webRequestPanel.setLayout(new VerticalLayout(5, VerticalLayout.LEFT,
VerticalLayout.TOP));
+ webRequestPanel.setLayout(new BorderLayout());
webRequestPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
JMeterUtils.getResString("web_request")));
- webRequestPanel.add(getProtocolAndMethodPanel());
- webRequestPanel.add(getPathPanel());
- webRequestPanel.add(getParameterPanel());
+ JPanel northPanel = new JPanel(new BorderLayout());
+ northPanel.add(getProtocolAndMethodPanel(),BorderLayout.NORTH);
+ northPanel.add(getPathPanel(),BorderLayout.SOUTH);
+ webRequestPanel.add(northPanel,BorderLayout.NORTH);
+ webRequestPanel.add(getParameterPanel(),BorderLayout.CENTER);
if(displayName)
{
@@ -245,7 +250,8 @@
JPanel mainPanel = new JPanel();
Border margin = new EmptyBorder(10, 10, 5, 10);
mainPanel.setBorder(margin);
- mainPanel.setLayout(new VerticalLayout(5,
VerticalLayout.LEFT));
+ mainPanel.setLayout(new BorderLayout());
+ JPanel normalPanel = new JPanel(new
VerticalLayout(5,VerticalLayout.LEFT));
// TITLE
JLabel panelTitleLabel = new
JLabel(JMeterUtils.getResString("url_config_title"));
@@ -253,23 +259,24 @@
int curFontSize = curFont.getSize();
curFontSize += 4;
panelTitleLabel.setFont(new Font(curFont.getFontName(),
curFont.getStyle(), curFontSize));
- mainPanel.add(panelTitleLabel);
+ normalPanel.add(panelTitleLabel);
// NAME
if(displayName)
{
- mainPanel.add(getNamePanel());
+ normalPanel.add(getNamePanel());
}
- mainPanel.add(webServerPanel);
- mainPanel.add(webRequestPanel);
+ normalPanel.add(webServerPanel);
+ mainPanel.add(normalPanel,BorderLayout.NORTH);
+ mainPanel.add(webRequestPanel,BorderLayout.CENTER);
- this.add(mainPanel);
+ this.add(mainPanel,BorderLayout.CENTER);
}
else
{
- this.add(webServerPanel);
- this.add(webRequestPanel);
+ this.add(webServerPanel,BorderLayout.NORTH);
+ this.add(webRequestPanel,BorderLayout.CENTER);
}
}
@@ -280,7 +287,7 @@
***************************************/
protected JPanel getPortPanel()
{
- JPanel portP = new JPanel();
+ JPanel portP = new JPanel(new FlowLayout(FlowLayout.LEFT));
portP.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 10));
portP.add(new JLabel(JMeterUtils.getResString("web_server_port")));
@@ -299,7 +306,7 @@
***************************************/
protected JPanel getDomainPanel()
{
- JPanel domainP = new JPanel();
+ JPanel domainP = new JPanel(new FlowLayout(FlowLayout.LEFT));
domainP.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 10));
domainP.add(new JLabel(JMeterUtils.getResString("web_server_domain")));
@@ -320,7 +327,7 @@
***************************************/
protected JPanel getPathPanel()
{
- JPanel panel = new JPanel();
+ JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
panel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 10));
panel.add(new JLabel(JMeterUtils.getResString("path")));
1.7 +9 -7
jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java
Index: HttpTestSampleGui.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/control/gui/HttpTestSampleGui.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- HttpTestSampleGui.java 29 Apr 2002 17:08:10 -0000 1.6
+++ HttpTestSampleGui.java 30 Jul 2002 03:02:09 -0000 1.7
@@ -158,13 +158,14 @@
private void init()
{
- this.setLayout(new VerticalLayout(5, VerticalLayout.LEFT,
VerticalLayout.TOP));
+ this.setLayout(new GridLayout(1,1));
// MAIN PANEL
JPanel mainPanel = new JPanel();
Border margin = new EmptyBorder(10, 10, 5, 10);
mainPanel.setBorder(margin);
- mainPanel.setLayout(new VerticalLayout(5, VerticalLayout.LEFT));
+ mainPanel.setLayout(new BorderLayout());
+ JPanel titlePanel = new JPanel(new BorderLayout());
// TITLE
JLabel panelTitleLabel = new
JLabel(JMeterUtils.getResString("web_testing_title"));
@@ -172,17 +173,18 @@
int curFontSize = curFont.getSize();
curFontSize += 4;
panelTitleLabel.setFont(new Font(curFont.getFontName(),
curFont.getStyle(), curFontSize));
- mainPanel.add(panelTitleLabel);
+ titlePanel.add(panelTitleLabel,BorderLayout.NORTH);
// NAME
- mainPanel.add(getNamePanel());
+ titlePanel.add(getNamePanel(),BorderLayout.SOUTH);
+ mainPanel.add(titlePanel,BorderLayout.NORTH);
// URL CONFIG
urlConfigGui = new MultipartUrlConfigGui(false);
- mainPanel.add(urlConfigGui);
+ mainPanel.add(urlConfigGui,BorderLayout.CENTER);
// OPTIONAL TASKS
- mainPanel.add(createOptionalTasksPanel());
+ mainPanel.add(createOptionalTasksPanel(),BorderLayout.SOUTH);
this.add(mainPanel);
}
1.5 +8 -2
jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
Index: ProxyControlGui.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ProxyControlGui.java 15 Jun 2002 02:44:38 -0000 1.4
+++ ProxyControlGui.java 30 Jul 2002 03:02:10 -0000 1.5
@@ -213,7 +213,13 @@
public void focusLost(FocusEvent e)
{
- ((JTable)e.getSource()).getCellEditor().stopCellEditing();
+ try
+ {
+ ((JTable)e.getSource()).getCellEditor().stopCellEditing();
+ }
+ catch(Exception err)
+ {
+ }
}
public void focusGained(FocusEvent e)
1.20 +3 -3
jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java
Index: HTTPSampler.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/sampler/HTTPSampler.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- HTTPSampler.java 26 Jul 2002 02:48:46 -0000 1.19
+++ HTTPSampler.java 30 Jul 2002 03:02:10 -0000 1.20
@@ -748,7 +748,7 @@
}
catch(IOException ex)
{
- ex.printStackTrace();
+ //ex.printStackTrace();
res.setResponseData(ex.toString().getBytes());
res.setResponseCode(NON_HTTP_RESPONSE_CODE);
res.setResponseMessage(NON_HTTP_RESPONSE_MESSAGE);
1.15 +6 -3 jakarta-jmeter/src_1/org/apache/jmeter/threads/JMeterThread.java
Index: JMeterThread.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/threads/JMeterThread.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- JMeterThread.java 13 Jun 2002 00:45:18 -0000 1.14
+++ JMeterThread.java 30 Jul 2002 03:02:10 -0000 1.15
@@ -82,14 +82,16 @@
TestCompiler compiler;
JMeterThreadMonitor monitor;
String threadName;
+ JMeterVariables threadVars;
/****************************************
* !ToDo (Constructor description)
***************************************/
public JMeterThread() {}
public JMeterThread(ListedHashTree test, JMeterThreadMonitor monitor) {
this.monitor = monitor;
+ threadVars = new JMeterVariables();
testTree = test;
- compiler = new TestCompiler(testTree);
+ compiler = new TestCompiler(testTree,threadVars);
controller = (Controller) testTree.getArray()[0];
}
@@ -111,6 +113,7 @@
System.out.println("Thread
"+Thread.currentThread().getName()+" started");
while (running) {
while (controller.hasNext() && running) {
+ threadVars.incIteration();
try
{
SamplePackage pack =
compiler.configureSampler(controller.next());
1.9 +24 -16 jakarta-jmeter/src_1/org/apache/jmeter/threads/TestCompiler.java
Index: TestCompiler.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/threads/TestCompiler.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- TestCompiler.java 18 Jul 2002 03:44:21 -0000 1.8
+++ TestCompiler.java 30 Jul 2002 03:02:10 -0000 1.9
@@ -22,6 +22,7 @@
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.samplers.Sampler;
import org.apache.jmeter.testelement.PerSampleClonable;
+import org.apache.jmeter.testelement.PerThreadClonable;
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.timers.Timer;
import org.apache.jmeter.util.ListedHashTree;
@@ -51,6 +52,7 @@
ListedHashTree testTree;
SampleResult previousResult;
Sampler currentSampler;
+ JMeterVariables threadVars;
private static Set pairing = new HashSet();
/****************************************
@@ -58,8 +60,10 @@
*
*@param testTree !ToDo (Parameter description)
***************************************/
- public TestCompiler(ListedHashTree testTree)
+ public TestCompiler(ListedHashTree testTree,
+ JMeterVariables vars)
{
+ threadVars = vars;
this.testTree = testTree;
}
@@ -229,7 +233,7 @@
testing.get(controller).add(sampler, args);
TestCompiler.initialize();
- TestCompiler compiler = new TestCompiler(testing);
+ TestCompiler compiler = new TestCompiler(testing,new
JMeterVariables());
testing.traverse(compiler);
sampler =
(HTTPSampler)compiler.configureSampler(sampler).getSampler();
assertEquals(config1.getProperty(HTTPSampler.DOMAIN),
sampler.getDomain());
@@ -327,6 +331,7 @@
private boolean hasFunctions(TestElement el)
{
+ boolean hasFunctions = false;
Iterator iter = el.getPropertyNames().iterator();
while(iter.hasNext())
{
@@ -334,29 +339,31 @@
Object propValue = el.getProperty(propName);
if(propValue instanceof Function)
{
- return true;
+ ((Function)propValue).setJMeterVariables(threadVars);
+ hasFunctions = true;
}
else if(propValue instanceof TestElement)
{
if(hasFunctions((TestElement)propValue))
{
- return true;
+ hasFunctions = true;
}
}
else if(propValue instanceof Collection)
{
if(hasFunctions((Collection)propValue))
{
- return true;
+ hasFunctions = true;
}
}
}
- return false;
+ return hasFunctions;
}
private boolean hasFunctions(Collection values)
{
- Iterator iter = values.iterator();
+ Iterator iter = new LinkedList(values).iterator();
+ boolean hasFunctions = false;
while(iter.hasNext())
{
Object val = iter.next();
@@ -364,22 +371,23 @@
{
if(hasFunctions((TestElement)val))
{
- return true;
+ hasFunctions = true;
}
}
else if(val instanceof Function)
{
- return true;
+ ((Function)val).setJMeterVariables(threadVars);
+ hasFunctions = true;
}
else if(val instanceof Collection)
{
if(hasFunctions((Collection)val))
{
- return true;
+ hasFunctions = true;
}
}
}
- return false;
+ return hasFunctions;
}
private void replaceValues(TestElement el)
1.1
jakarta-jmeter/src_1/org/apache/jmeter/threads/JMeterVariables.java
Index: JMeterVariables.java
===================================================================
package org.apache.jmeter.threads;
import java.util.HashMap;
import java.util.Map;
/**
* @author default
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
public class JMeterVariables {
private static Map iterationData = new HashMap();
public String getThreadName()
{
return Thread.currentThread().getName();
}
public int getIteration()
{
int[] a = (int[])iterationData.get(getThreadName());
return a[0];
}
public void incIteration()
{
int[] a = (int[])iterationData.get(getThreadName());
if(a == null)
{
a = new int[1];
a[0] = 0;
iterationData.put(getThreadName(),a);
}
a[0]++;
}
public static void initialize()
{
iterationData.clear();
}
}
1.13 +2 -2 jakarta-jmeter/src_1/org/apache/jmeter/util/JMeterUtils.java
Index: JMeterUtils.java
===================================================================
RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/util/JMeterUtils.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- JMeterUtils.java 19 Jul 2002 02:33:10 -0000 1.12
+++ JMeterUtils.java 30 Jul 2002 03:02:10 -0000 1.13
@@ -993,6 +993,6 @@
*/
public static String getJMeterVersion()
{
- return "@VERSION@";
+ return "1.7.1";
}
}
1.11 +2 -2
jakarta-jmeter/src_1/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java
Index: ViewResultsFullVisualizer.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/visualizers/ViewResultsFullVisualizer.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- ViewResultsFullVisualizer.java 13 Jun 2002 00:45:18 -0000 1.10
+++ ViewResultsFullVisualizer.java 30 Jul 2002 03:02:10 -0000 1.11
@@ -279,7 +279,7 @@
response = new String(responseBytes);
}
}
- else
+ else
if(responseBytes != null)
{
icon = new ImageIcon(responseBytes);
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>