Author: sebb
Date: Mon Oct 22 17:47:15 2007
New Revision: 587338
URL: http://svn.apache.org/viewvc?rev=587338&view=rev
Log:
Re-use UrlConfig to make HTTP Defaults look more like HTTP Samplers
Modified:
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
Modified:
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java?rev=587338&r1=587337&r2=587338&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java
(original)
+++
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java
Mon Oct 22 17:47:15 2007
@@ -21,36 +21,22 @@
import java.awt.BorderLayout;
import java.awt.Dimension;
-import javax.swing.Box;
import javax.swing.JCheckBox;
import org.apache.jmeter.config.ConfigTestElement;
import org.apache.jmeter.config.gui.AbstractConfigGui;
-import org.apache.jmeter.gui.util.VerticalPanel;
-import org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel;
import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase;
import org.apache.jmeter.testelement.AbstractTestElement;
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.testelement.property.BooleanProperty;
-import org.apache.jmeter.testelement.property.TestElementProperty;
import org.apache.jmeter.util.JMeterUtils;
-import org.apache.jorphan.gui.JLabeledTextField;
public class HttpDefaultsGui extends AbstractConfigGui {
- JLabeledTextField protocol;
-
- JLabeledTextField domain;
-
- JLabeledTextField path;
-
- JLabeledTextField port;
-
- HTTPArgumentsPanel argPanel;
private JCheckBox imageParser;
- private JLabeledTextField encoding;
-
+ private UrlConfigGui urlConfig;
+
public HttpDefaultsGui() {
super();
init();
@@ -75,18 +61,16 @@
* @see
org.apache.jmeter.gui.JMeterGUIComponent#modifyTestElement(TestElement)
*/
public void modifyTestElement(TestElement config) {
+ ConfigTestElement cfg = (ConfigTestElement ) config;
+ ConfigTestElement el = (ConfigTestElement)
urlConfig.createTestElement();
+ cfg.clear(); // need to clear because the
+ cfg.addConfigElement(el);
super.configureTestElement(config);
- config.setProperty(HTTPSamplerBase.PROTOCOL,
protocol.getText());
- config.setProperty(HTTPSamplerBase.DOMAIN, domain.getText());
- config.setProperty(HTTPSamplerBase.PATH, path.getText());
- config.setProperty(new
TestElementProperty(HTTPSamplerBase.ARGUMENTS, argPanel.createTestElement()));
- config.setProperty(HTTPSamplerBase.PORT, port.getText());
if (imageParser.isSelected())
config.setProperty(new
BooleanProperty(HTTPSamplerBase.IMAGE_PARSER, true));
else {
config.removeProperty(HTTPSamplerBase.IMAGE_PARSER);
}
- config.setProperty(HTTPSamplerBase.CONTENT_ENCODING,
encoding.getText());
}
/**
@@ -94,24 +78,13 @@
*/
public void clearGui() {
super.clearGui();
-
- protocol.setText(""); //$NON-NLS-1$
- domain.setText(""); //$NON-NLS-1$
- path.setText(""); //$NON-NLS-1$
- port.setText(""); //$NON-NLS-1$
- encoding.setText(""); //$NON-NLS-1$
- argPanel.clear();
+ urlConfig.clear();
imageParser.setSelected(false);
}
public void configure(TestElement el) {
super.configure(el);
-
protocol.setText(el.getPropertyAsString(HTTPSamplerBase.PROTOCOL));
- domain.setText(el.getPropertyAsString(HTTPSamplerBase.DOMAIN));
- path.setText(el.getPropertyAsString(HTTPSamplerBase.PATH));
- port.setText(el.getPropertyAsString(HTTPSamplerBase.PORT));
-
encoding.setText(el.getPropertyAsString(HTTPSamplerBase.CONTENT_ENCODING));
- argPanel.configure((TestElement)
el.getProperty(HTTPSamplerBase.ARGUMENTS).getObjectValue());
+ urlConfig.configure(el);
imageParser.setSelected(((AbstractTestElement)
el).getPropertyAsBoolean(HTTPSamplerBase.IMAGE_PARSER));
}
@@ -121,28 +94,8 @@
add(makeTitlePanel(), BorderLayout.NORTH);
- Box mainPanel = Box.createVerticalBox();
-
- VerticalPanel urlPanel = new VerticalPanel();
- protocol = new
JLabeledTextField(JMeterUtils.getResString("protocol")); // $NON-NLS-1$
- domain = new
JLabeledTextField(JMeterUtils.getResString("web_server_domain")); // $NON-NLS-1$
- path = new JLabeledTextField(JMeterUtils.getResString("path"));
// $NON-NLS-1$
- port = new
JLabeledTextField(JMeterUtils.getResString("web_server_port")); // $NON-NLS-1$
- encoding = new
JLabeledTextField(JMeterUtils.getResString("content_encoding")); // $NON-NLS-1$
-
-
- urlPanel.add(domain);
- urlPanel.add(port);
- urlPanel.add(protocol);
- urlPanel.add(path);
- urlPanel.add(encoding);
-
- mainPanel.add(urlPanel);
-
- argPanel = new HTTPArgumentsPanel();
- mainPanel.add(argPanel);
-
- add(mainPanel, BorderLayout.CENTER);
+ urlConfig = new UrlConfigGui(false);
+ add(urlConfig, BorderLayout.CENTER);
imageParser = new
JCheckBox(JMeterUtils.getResString("web_testing_retrieve_images")); //
$NON-NLS-1$
add(imageParser, BorderLayout.SOUTH);
Modified:
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java?rev=587338&r1=587337&r2=587338&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
(original)
+++
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/config/gui/UrlConfigGui.java
Mon Oct 22 17:47:15 2007
@@ -34,6 +34,7 @@
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.config.ConfigTestElement;
+import org.apache.jmeter.gui.util.VerticalPanel;
import org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel;
import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase;
import org.apache.jmeter.protocol.http.util.HTTPArgument;
@@ -45,7 +46,10 @@
import org.apache.jorphan.gui.JLabeledChoice;
/**
- * @author Michael Stover
+ * Basic URL / HTTP Request configuration:
+ * - host and port
+ * - path, method, encoding, parameters
+ * - redirects & keepalive
*/
public class UrlConfigGui extends JPanel implements ChangeListener {
protected HTTPArgumentsPanel argsPanel;
@@ -88,10 +92,19 @@
private JLabeledChoice method;
+ private final boolean notConfigOnly;
+ // set this true to suppress some items for use in HTTP Request defaults
+
public UrlConfigGui() {
+ notConfigOnly=true;
init();
}
+ public UrlConfigGui(boolean value) {
+ notConfigOnly=value;
+ init();
+ }
+
protected void configureTestElement(TestElement mc) {
mc.setProperty(TestElement.NAME, getName());
mc.setProperty(TestElement.GUI_CLASS,
this.getClass().getName());
@@ -100,15 +113,17 @@
public void clear() {
domain.setText(""); // $NON-NLS-1$
- followRedirects.setSelected(false);
- autoRedirects.setSelected(true);
- method.setText(HTTPSamplerBase.DEFAULT_METHOD);
+ if (notConfigOnly){
+ followRedirects.setSelected(false);
+ autoRedirects.setSelected(true);
+ method.setText(HTTPSamplerBase.DEFAULT_METHOD);
+ useKeepAlive.setSelected(true);
+ useMultipartForPost.setSelected(false);
+ }
path.setText(""); // $NON-NLS-1$
port.setText(""); // $NON-NLS-1$
protocol.setText(""); // $NON-NLS-1$
contentEncoding.setText(""); // $NON-NLS-1$
- useKeepAlive.setSelected(true);
- useMultipartForPost.setSelected(false);
argsPanel.clear();
}
@@ -123,13 +138,15 @@
element.setProperty(HTTPSamplerBase.DOMAIN, domain.getText());
element.setProperty(HTTPSamplerBase.PORT, port.getText());
element.setProperty(HTTPSamplerBase.PROTOCOL,
protocol.getText());
- element.setProperty(HTTPSamplerBase.METHOD, method.getText());
element.setProperty(HTTPSamplerBase.CONTENT_ENCODING,
contentEncoding.getText());
element.setProperty(HTTPSamplerBase.PATH, path.getText());
- element.setProperty(new
BooleanProperty(HTTPSamplerBase.FOLLOW_REDIRECTS,
followRedirects.isSelected()));
- element.setProperty(new
BooleanProperty(HTTPSamplerBase.AUTO_REDIRECTS, autoRedirects.isSelected()));
- element.setProperty(new
BooleanProperty(HTTPSamplerBase.USE_KEEPALIVE, useKeepAlive.isSelected()));
- element.setProperty(new
BooleanProperty(HTTPSamplerBase.DO_MULTIPART_POST,
useMultipartForPost.isSelected()));
+ if (notConfigOnly){
+ element.setProperty(HTTPSamplerBase.METHOD,
method.getText());
+ element.setProperty(new
BooleanProperty(HTTPSamplerBase.FOLLOW_REDIRECTS,
followRedirects.isSelected()));
+ element.setProperty(new
BooleanProperty(HTTPSamplerBase.AUTO_REDIRECTS, autoRedirects.isSelected()));
+ element.setProperty(new
BooleanProperty(HTTPSamplerBase.USE_KEEPALIVE, useKeepAlive.isSelected()));
+ element.setProperty(new
BooleanProperty(HTTPSamplerBase.DO_MULTIPART_POST,
useMultipartForPost.isSelected()));
+ }
return element;
}
@@ -153,43 +170,46 @@
port.setText(portString);
}
protocol.setText(el.getPropertyAsString(HTTPSamplerBase.PROTOCOL));
- method.setText(el.getPropertyAsString(HTTPSamplerBase.METHOD));
contentEncoding.setText(el.getPropertyAsString(HTTPSamplerBase.CONTENT_ENCODING));
path.setText(el.getPropertyAsString(HTTPSamplerBase.PATH));
- followRedirects.setSelected(((AbstractTestElement)
el).getPropertyAsBoolean(HTTPSamplerBase.FOLLOW_REDIRECTS));
-
- autoRedirects.setSelected(((AbstractTestElement)
el).getPropertyAsBoolean(HTTPSamplerBase.AUTO_REDIRECTS));
- useKeepAlive.setSelected(((AbstractTestElement)
el).getPropertyAsBoolean(HTTPSamplerBase.USE_KEEPALIVE));
- useMultipartForPost.setSelected(((AbstractTestElement)
el).getPropertyAsBoolean(HTTPSamplerBase.DO_MULTIPART_POST));
+ if (notConfigOnly){
+ method.setText(el.getPropertyAsString(HTTPSamplerBase.METHOD));
+ followRedirects.setSelected(((AbstractTestElement)
el).getPropertyAsBoolean(HTTPSamplerBase.FOLLOW_REDIRECTS));
+ autoRedirects.setSelected(((AbstractTestElement)
el).getPropertyAsBoolean(HTTPSamplerBase.AUTO_REDIRECTS));
+ useKeepAlive.setSelected(((AbstractTestElement)
el).getPropertyAsBoolean(HTTPSamplerBase.USE_KEEPALIVE));
+ useMultipartForPost.setSelected(((AbstractTestElement)
el).getPropertyAsBoolean(HTTPSamplerBase.DO_MULTIPART_POST));
+ }
}
protected void init() {
this.setLayout(new BorderLayout());
- JPanel webServerPanel = new JPanel();
-
- webServerPanel.setLayout(new BorderLayout());
+ // WEB SERVER PANEL
+ VerticalPanel webServerPanel = new VerticalPanel();
webServerPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
JMeterUtils.getResString("web_server"))); //
$NON-NLS-1$
- webServerPanel.add(getDomainPanel(), BorderLayout.NORTH);
- webServerPanel.add(getPortPanel(), BorderLayout.WEST);
+ final JPanel domainPanel = getDomainPanel();
+ final JPanel portPanel = getPortPanel();
+ domainPanel.add(portPanel,BorderLayout.EAST);
+ webServerPanel.add(domainPanel);
+
+ JPanel northPanel = new JPanel();
+ northPanel.setLayout(new BoxLayout(northPanel,
BoxLayout.Y_AXIS));
+ northPanel.add(getProtocolAndMethodPanel());
+ northPanel.add(getPathPanel());
+ // WEB REQUEST PANEL
JPanel webRequestPanel = new JPanel();
-
webRequestPanel.setLayout(new BorderLayout());
webRequestPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
JMeterUtils.getResString("web_request"))); //
$NON-NLS-1$
- JPanel northPanel = new JPanel(new BorderLayout());
- northPanel.add(getProtocolAndMethodPanel(), BorderLayout.NORTH);
- northPanel.add(getPathPanel(), BorderLayout.SOUTH);
- webServerPanel.add(northPanel, BorderLayout.SOUTH);
+ webRequestPanel.add(northPanel, BorderLayout.NORTH);
webRequestPanel.add(getParameterPanel(), BorderLayout.CENTER);
this.add(webServerPanel, BorderLayout.NORTH);
this.add(webRequestPanel, BorderLayout.CENTER);
}
-
protected JPanel getPortPanel() {
port = new JTextField(6);
port.setName(PORT);
@@ -231,39 +251,43 @@
JLabel label = new JLabel(JMeterUtils.getResString("path"));
//$NON-NLS-1$
label.setLabelFor(path);
- followRedirects = new
JCheckBox(JMeterUtils.getResString("follow_redirects")); // $NON-NLS-1$
- followRedirects.setName(FOLLOW_REDIRECTS);
- followRedirects.setSelected(false);
-
- autoRedirects = new
JCheckBox(JMeterUtils.getResString("follow_redirects_auto")); //$NON-NLS-1$
- autoRedirects.setName(AUTO_REDIRECTS);
- autoRedirects.addChangeListener(this);
- autoRedirects.setSelected(true);// Default changed in 2.3
-
- useKeepAlive = new
JCheckBox(JMeterUtils.getResString("use_keepalive")); // $NON-NLS-1$
- useKeepAlive.setName(USE_KEEPALIVE);
- useKeepAlive.setSelected(true);
-
- useMultipartForPost = new
JCheckBox(JMeterUtils.getResString("use_multipart_for_http_post")); //
$NON-NLS-1$
- useMultipartForPost.setName(USE_MULTIPART_FOR_POST);
- useMultipartForPost.setSelected(false);
-
+ if (notConfigOnly){
+ followRedirects = new
JCheckBox(JMeterUtils.getResString("follow_redirects")); // $NON-NLS-1$
+ followRedirects.setName(FOLLOW_REDIRECTS);
+ followRedirects.setSelected(false);
+
+ autoRedirects = new
JCheckBox(JMeterUtils.getResString("follow_redirects_auto")); //$NON-NLS-1$
+ autoRedirects.setName(AUTO_REDIRECTS);
+ autoRedirects.addChangeListener(this);
+ autoRedirects.setSelected(true);// Default changed in
2.3
+
+ useKeepAlive = new
JCheckBox(JMeterUtils.getResString("use_keepalive")); // $NON-NLS-1$
+ useKeepAlive.setName(USE_KEEPALIVE);
+ useKeepAlive.setSelected(true);
+
+ useMultipartForPost = new
JCheckBox(JMeterUtils.getResString("use_multipart_for_http_post")); //
$NON-NLS-1$
+ useMultipartForPost.setName(USE_MULTIPART_FOR_POST);
+ useMultipartForPost.setSelected(false);
+ }
+
JPanel pathPanel = new JPanel(new BorderLayout(5, 0));
pathPanel.add(label, BorderLayout.WEST);
pathPanel.add(path, BorderLayout.CENTER);
pathPanel.setMinimumSize(pathPanel.getPreferredSize());
- JPanel optionPanel = new JPanel(new
FlowLayout(FlowLayout.LEFT));
- optionPanel.add(autoRedirects);
- optionPanel.add(followRedirects);
- optionPanel.add(useKeepAlive);
- optionPanel.add(useMultipartForPost);
- optionPanel.setMinimumSize(optionPanel.getPreferredSize());
-
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
panel.add(pathPanel);
- panel.add(optionPanel);
+ if (notConfigOnly){
+ JPanel optionPanel = new JPanel(new
FlowLayout(FlowLayout.LEFT));
+ optionPanel.add(autoRedirects);
+ optionPanel.add(followRedirects);
+ optionPanel.add(useKeepAlive);
+ optionPanel.add(useMultipartForPost);
+
optionPanel.setMinimumSize(optionPanel.getPreferredSize());
+ panel.add(optionPanel);
+ }
+
return panel;
}
@@ -279,8 +303,10 @@
protocolLabel.setLabelFor(protocol);
JLabel contentEncodingLabel = new
JLabel(JMeterUtils.getResString("content_encoding")); // $NON-NLS-1$
protocolLabel.setLabelFor(contentEncoding);
- method = new JLabeledChoice(JMeterUtils.getResString("method"), //
$NON-NLS-1$
- HTTPSamplerBase.getValidMethodsAsArray());
+ if (notConfigOnly){
+ method = new JLabeledChoice(JMeterUtils.getResString("method"),
// $NON-NLS-1$
+ HTTPSamplerBase.getValidMethodsAsArray());
+ }
JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
@@ -288,7 +314,9 @@
panel.add(protocol);
panel.add(Box.createHorizontalStrut(5));
- panel.add(method);
+ if (notConfigOnly){
+ panel.add(method);
+ }
panel.setMinimumSize(panel.getPreferredSize());
panel.add(Box.createHorizontalStrut(5));
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]