Hello,
As you will see, there is some copy/paste that needs to be factored out.

Regards

On Tue, Jan 3, 2017 at 12:55 AM, <[email protected]> wrote:

> Author: pmouawad
> Date: Mon Jan  2 23:55:21 2017
> New Revision: 1777041
>
> URL: http://svn.apache.org/viewvc?rev=1777041&view=rev
> Log:
> Bug 60543 - HTTP Request / Http Request Defaults UX: Move to advanced
> panel Timeouts, Implementation, Proxy
> Bugzilla Id: 60543
>
> Modified:
>     jmeter/trunk/src/protocol/http/org/apache/jmeter/
> protocol/http/config/gui/HttpDefaultsGui.java
>     jmeter/trunk/src/protocol/http/org/apache/jmeter/
> protocol/http/config/gui/UrlConfigGui.java
>     jmeter/trunk/src/protocol/http/org/apache/jmeter/
> protocol/http/control/gui/HttpTestSampleGui.java
>     jmeter/trunk/xdocs/changes.xml
>
> Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/
> protocol/http/config/gui/HttpDefaultsGui.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/
> http/org/apache/jmeter/protocol/http/config/gui/HttpDefaultsGui.java?rev=
> 1777041&r1=1777040&r2=1777041&view=diff
> ============================================================
> ==================
> --- jmeter/trunk/src/protocol/http/org/apache/jmeter/
> protocol/http/config/gui/HttpDefaultsGui.java (original)
> +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/
> protocol/http/config/gui/HttpDefaultsGui.java Mon Jan  2 23:55:21 2017
> @@ -20,15 +20,19 @@ package org.apache.jmeter.protocol.http.
>
>  import java.awt.BorderLayout;
>  import java.awt.Dimension;
> +import java.awt.Font;
>  import java.awt.event.ItemEvent;
>  import java.awt.event.ItemListener;
>
>  import javax.swing.BorderFactory;
>  import javax.swing.JCheckBox;
>  import javax.swing.JComboBox;
> +import javax.swing.JLabel;
>  import javax.swing.JPanel;
> +import javax.swing.JPasswordField;
>  import javax.swing.JTabbedPane;
>  import javax.swing.JTextField;
> +import javax.swing.UIManager;
>
>  import org.apache.commons.lang3.StringUtils;
>  import org.apache.jmeter.config.ConfigTestElement;
> @@ -36,12 +40,14 @@ import org.apache.jmeter.config.gui.Abst
>  import org.apache.jmeter.gui.util.HorizontalPanel;
>  import org.apache.jmeter.gui.util.VerticalPanel;
>  import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase;
> +import org.apache.jmeter.protocol.http.sampler.HTTPSamplerFactory;
>  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.IntegerProperty;
>  import org.apache.jmeter.testelement.property.StringProperty;
>  import org.apache.jmeter.util.JMeterUtils;
> +import org.apache.jorphan.gui.JLabeledChoice;
>  import org.apache.jorphan.gui.JLabeledTextField;
>
>  /**
> @@ -52,6 +58,10 @@ public class HttpDefaultsGui extends Abs
>
>      private static final long serialVersionUID = 241L;
>
> +    private static final Font FONT_DEFAULT = UIManager.getDefaults().
> getFont("TextField.font");
> +
> +    private static final Font FONT_SMALL = new Font("SansSerif",
> Font.PLAIN, (int) Math.round(FONT_DEFAULT.getSize() * 0.8));
> +
>      private UrlConfigGui urlConfigGui;
>
>      private JCheckBox retrieveEmbeddedResources;
> @@ -68,6 +78,21 @@ public class HttpDefaultsGui extends Abs
>
>      private JComboBox<String> sourceIpType = new
> JComboBox<>(HTTPSamplerBase.getSourceTypeList());
>
> +    private JTextField proxyHost;
> +
> +    private JTextField proxyPort;
> +
> +    private JTextField proxyUser;
> +
> +    private JPasswordField proxyPass;
> +
> +    private JLabeledChoice httpImplementation;
> +
> +    private JTextField connectTimeOut;
> +
> +    private JTextField responseTimeOut;
> +
> +
>      public HttpDefaultsGui() {
>          super();
>          init();
> @@ -141,6 +166,15 @@ public class HttpDefaultsGui extends Abs
>              config.removeProperty(HTTPSamplerBase.IP_SOURCE);
>              config.removeProperty(HTTPSamplerBase.IP_SOURCE_TYPE);
>          }
> +
> +        config.setProperty(HTTPSamplerBase.PROXYHOST,
> proxyHost.getText(),"");
> +        config.setProperty(HTTPSamplerBase.PROXYPORT,
> proxyPort.getText(),"");
> +        config.setProperty(HTTPSamplerBase.PROXYUSER,
> proxyUser.getText(),"");
> +        config.setProperty(HTTPSamplerBase.PROXYPASS,
> String.valueOf(proxyPass.getPassword()),"");
> +        config.setProperty(HTTPSamplerBase.IMPLEMENTATION,
> httpImplementation.getText(),"");
> +        config.setProperty(HTTPSamplerBase.CONNECT_TIMEOUT,
> connectTimeOut.getText());
> +        config.setProperty(HTTPSamplerBase.RESPONSE_TIMEOUT,
> responseTimeOut.getText());
> +
>      }
>
>      /**
> @@ -158,6 +192,13 @@ public class HttpDefaultsGui extends Abs
>          embeddedRE.setText(""); // $NON-NLS-1$
>          sourceIpAddr.setText(""); // $NON-NLS-1$
>          
> sourceIpType.setSelectedIndex(HTTPSamplerBase.SourceType.HOSTNAME.ordinal());
> //default: IP/Hostname
> +        proxyHost.setText(""); // $NON-NLS-1$
> +        proxyPort.setText(""); // $NON-NLS-1$
> +        proxyUser.setText(""); // $NON-NLS-1$
> +        proxyPass.setText(""); // $NON-NLS-1$
> +        httpImplementation.setText(""); // $NON-NLS-1$
> +        connectTimeOut.setText(""); // $NON-NLS-1$
> +        responseTimeOut.setText(""); // $NON-NLS-1$
>      }
>
>      @Override
> @@ -174,6 +215,14 @@ public class HttpDefaultsGui extends Abs
>          sourceIpType.setSelectedIndex(
>                  samplerBase.getPropertyAsInt(HTTPSamplerBase.IP_SOURCE_
> TYPE,
>                          HTTPSamplerBase.SOURCE_TYPE_DEFAULT));
> +
> +        proxyHost.setText(samplerBase.getPropertyAsString(
> HTTPSamplerBase.PROXYHOST));
> +        proxyPort.setText(samplerBase.getPropertyAsString(
> HTTPSamplerBase.PROXYPORT));
> +        proxyUser.setText(samplerBase.getPropertyAsString(
> HTTPSamplerBase.PROXYUSER));
> +        proxyPass.setText(samplerBase.getPropertyAsString(
> HTTPSamplerBase.PROXYPASS));
> +        httpImplementation.setText(samplerBase.getPropertyAsString(
> HTTPSamplerBase.IMPLEMENTATION));
> +        connectTimeOut.setText(samplerBase.getPropertyAsString(
> HTTPSamplerBase.CONNECT_TIMEOUT));
> +        responseTimeOut.setText(samplerBase.getPropertyAsString(
> HTTPSamplerBase.RESPONSE_TIMEOUT));
>      }
>
>      private void init() { // WARNING: called from ctor so must not be
> overridden (i.e. must be private or final)
> @@ -186,7 +235,10 @@ public class HttpDefaultsGui extends Abs
>          // AdvancedPanel (embedded resources, source address and optional
> tasks)
>          JPanel advancedPanel = new VerticalPanel();
>          advancedPanel.add(createEmbeddedRsrcPanel());
> +        advancedPanel.add(getTimeOutPanel());
> +        advancedPanel.add(getImplementationPanel());
>          advancedPanel.add(createSourceAddrPanel());
> +        advancedPanel.add(getProxyServerPanel());
>          advancedPanel.add(createOptionalTasksPanel());
>
>          JTabbedPane tabbedPane = new JTabbedPane();
> @@ -203,6 +255,43 @@ public class HttpDefaultsGui extends Abs
>          add(emptyPanel, BorderLayout.SOUTH);
>      }
>
> +    private JPanel getTimeOutPanel() {
> +        JPanel timeOut = new HorizontalPanel();
> +        timeOut.setBorder(BorderFactory.createTitledBorder(BorderFactory.
> createEtchedBorder(),
> +                JMeterUtils.getResString("web_server_timeout_title")));
> // $NON-NLS-1$
> +        final JPanel connPanel = getConnectTimeOutPanel();
> +        final JPanel reqPanel = getResponseTimeOutPanel();
> +        timeOut.add(connPanel);
> +        timeOut.add(reqPanel);
> +        return timeOut;
> +    }
> +
> +    private JPanel getConnectTimeOutPanel() {
> +        connectTimeOut = new JTextField(10);
> +
> +        JLabel label = new 
> JLabel(JMeterUtils.getResString("web_server_timeout_connect"));
> // $NON-NLS-1$
> +        label.setLabelFor(connectTimeOut);
> +
> +        JPanel panel = new JPanel(new BorderLayout(5, 0));
> +        panel.add(label, BorderLayout.WEST);
> +        panel.add(connectTimeOut, BorderLayout.CENTER);
> +
> +        return panel;
> +    }
> +
> +    private JPanel getResponseTimeOutPanel() {
> +        responseTimeOut = new JTextField(10);
> +
> +        JLabel label = new 
> JLabel(JMeterUtils.getResString("web_server_timeout_response"));
> // $NON-NLS-1$
> +        label.setLabelFor(responseTimeOut);
> +
> +        JPanel panel = new JPanel(new BorderLayout(5, 0));
> +        panel.add(label, BorderLayout.WEST);
> +        panel.add(responseTimeOut, BorderLayout.CENTER);
> +
> +        return panel;
> +    }
> +
>      protected JPanel createEmbeddedRsrcPanel() {
>          // retrieve Embedded resources
>          retrieveEmbeddedResources = new JCheckBox(JMeterUtils.
> getResString("web_testing_retrieve_images")); // $NON-NLS-1$
> @@ -286,4 +375,94 @@ public class HttpDefaultsGui extends Abs
>              embeddedRE.setEnabled(false);
>          }
>      }
> +
> +    /**
> +     * Create a panel containing the implementation details
> +     *
> +     * @return the panel
> +     */
> +    protected final JPanel getImplementationPanel(){
> +        JPanel implPanel = new HorizontalPanel();
> +        httpImplementation = new JLabeledChoice(JMeterUtils.
> getResString("http_implementation"), // $NON-NLS-1$
> +                HTTPSamplerFactory.getImplementations());
> +        httpImplementation.addValue("");
> +        implPanel.add(httpImplementation);
> +        return implPanel;
> +    }
> +
> +    /**
> +     * Create a panel containing the proxy server details
> +     *
> +     * @return the panel
> +     */
> +    protected final JPanel getProxyServerPanel(){
> +        JPanel proxyServer = new HorizontalPanel();
> +        proxyServer.add(getProxyHostPanel(), BorderLayout.CENTER);
> +        proxyServer.add(getProxyPortPanel(), BorderLayout.EAST);
> +
> +        JPanel proxyLogin = new HorizontalPanel();
> +        proxyLogin.add(getProxyUserPanel());
> +        proxyLogin.add(getProxyPassPanel());
> +
> +        JPanel proxyServerPanel = new HorizontalPanel();
> +        proxyServerPanel.setBorder(BorderFactory.createTitledBorder(
> BorderFactory.createEtchedBorder(),
> +                JMeterUtils.getResString("web_proxy_server_title"))); //
> $NON-NLS-1$
> +        proxyServerPanel.add(proxyServer);
> +        proxyServerPanel.add(proxyLogin);
> +
> +        return proxyServerPanel;
> +    }
> +
> +    private JPanel getProxyHostPanel() {
> +        proxyHost = new JTextField(10);
> +
> +        JLabel label = new 
> JLabel(JMeterUtils.getResString("web_server_domain"));
> // $NON-NLS-1$
> +        label.setLabelFor(proxyHost);
> +        label.setFont(FONT_SMALL);
> +
> +        JPanel panel = new JPanel(new BorderLayout(5, 0));
> +        panel.add(label, BorderLayout.WEST);
> +        panel.add(proxyHost, BorderLayout.CENTER);
> +        return panel;
> +    }
> +
> +    private JPanel getProxyPortPanel() {
> +        proxyPort = new JTextField(10);
> +
> +        JLabel label = new JLabel(JMeterUtils.
> getResString("web_server_port")); // $NON-NLS-1$
> +        label.setLabelFor(proxyPort);
> +        label.setFont(FONT_SMALL);
> +
> +        JPanel panel = new JPanel(new BorderLayout(5, 0));
> +        panel.add(label, BorderLayout.WEST);
> +        panel.add(proxyPort, BorderLayout.CENTER);
> +
> +        return panel;
> +    }
> +
> +    private JPanel getProxyUserPanel() {
> +        proxyUser = new JTextField(5);
> +
> +        JLabel label = new JLabel(JMeterUtils.getResString("username"));
> // $NON-NLS-1$
> +        label.setLabelFor(proxyUser);
> +        label.setFont(FONT_SMALL);
> +
> +        JPanel panel = new JPanel(new BorderLayout(5, 0));
> +        panel.add(label, BorderLayout.WEST);
> +        panel.add(proxyUser, BorderLayout.CENTER);
> +        return panel;
> +    }
> +
> +    private JPanel getProxyPassPanel() {
> +        proxyPass = new JPasswordField(5);
> +
> +        JLabel label = new JLabel(JMeterUtils.getResString("password"));
> // $NON-NLS-1$
> +        label.setLabelFor(proxyPass);
> +        label.setFont(FONT_SMALL);
> +
> +        JPanel panel = new JPanel(new BorderLayout(5, 0));
> +        panel.add(label, BorderLayout.WEST);
> +        panel.add(proxyPass, BorderLayout.CENTER);
> +        return panel;
> +    }
>  }
>
> Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/
> protocol/http/config/gui/UrlConfigGui.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/
> http/org/apache/jmeter/protocol/http/config/gui/
> UrlConfigGui.java?rev=1777041&r1=1777040&r2=1777041&view=diff
> ============================================================
> ==================
> --- jmeter/trunk/src/protocol/http/org/apache/jmeter/
> protocol/http/config/gui/UrlConfigGui.java (original)
> +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/
> protocol/http/config/gui/UrlConfigGui.java Mon Jan  2 23:55:21 2017
> @@ -24,15 +24,11 @@ import java.awt.FlowLayout;
>  import java.awt.Font;
>
>  import javax.swing.BorderFactory;
> -import javax.swing.Box;
>  import javax.swing.BoxLayout;
>  import javax.swing.JCheckBox;
> -import javax.swing.JLabel;
>  import javax.swing.JOptionPane;
>  import javax.swing.JPanel;
> -import javax.swing.JPasswordField;
>  import javax.swing.JTabbedPane;
> -import javax.swing.JTextField;
>  import javax.swing.UIManager;
>  import javax.swing.event.ChangeEvent;
>  import javax.swing.event.ChangeListener;
> @@ -43,11 +39,9 @@ import org.apache.jmeter.config.ConfigTe
>  import org.apache.jmeter.gui.util.HorizontalPanel;
>  import org.apache.jmeter.gui.util.JSyntaxTextArea;
>  import org.apache.jmeter.gui.util.JTextScrollPane;
> -import org.apache.jmeter.gui.util.VerticalPanel;
>  import org.apache.jmeter.protocol.http.gui.HTTPArgumentsPanel;
>  import org.apache.jmeter.protocol.http.gui.HTTPFileArgsPanel;
>  import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase;
> -import org.apache.jmeter.protocol.http.sampler.HTTPSamplerFactory;
>  import org.apache.jmeter.protocol.http.util.HTTPArgument;
>  import org.apache.jmeter.protocol.http.util.HTTPConstants;
>  import org.apache.jmeter.testelement.TestElement;
> @@ -56,6 +50,7 @@ import org.apache.jmeter.testelement.pro
>  import org.apache.jmeter.testelement.property.TestElementProperty;
>  import org.apache.jmeter.util.JMeterUtils;
>  import org.apache.jorphan.gui.JLabeledChoice;
> +import org.apache.jorphan.gui.JLabeledTextField;
>
>  /**
>   * Basic URL / HTTP Request configuration:
> @@ -84,27 +79,15 @@ public class UrlConfigGui extends JPanel
>
>      private HTTPFileArgsPanel filesPanel;
>
> -    private JTextField domain;
> +    private JLabeledTextField domain;
>
> -    private JTextField port;
> +    private JLabeledTextField port;
>
> -    private JTextField proxyHost;
> +    private JLabeledTextField protocol;
>
> -    private JTextField proxyPort;
> +    private JLabeledTextField contentEncoding;
>
> -    private JTextField proxyUser;
> -
> -    private JPasswordField proxyPass;
> -
> -    private JTextField connectTimeOut;
> -
> -    private JTextField responseTimeOut;
> -
> -    private JTextField protocol;
> -
> -    private JTextField contentEncoding;
> -
> -    private JTextField path;
> +    private JLabeledTextField path;
>
>      private JCheckBox followRedirects;
>
> @@ -118,13 +101,9 @@ public class UrlConfigGui extends JPanel
>
>      private JLabeledChoice method;
>
> -    private JLabeledChoice httpImplementation;
> -
>      // set this false to suppress some items for use in HTTP Request
> defaults
>      private final boolean notConfigOnly;
>
> -    private final boolean showImplementation; // Set false for AJP
> -
>      // Body data
>      private JSyntaxTextArea postBodyContent;
>
> @@ -149,33 +128,28 @@ public class UrlConfigGui extends JPanel
>       *            flag whether sampler fields should be shown.
>       */
>      public UrlConfigGui(boolean showSamplerFields) {
> -        this(showSamplerFields, true, true);
> +        this(showSamplerFields, true);
>      }
>
>      /**
>       * @param showSamplerFields
>       *            flag whether sampler fields should be shown
> -     * @param showImplementation
> -     *            Show HTTP Implementation
>       * @param showRawBodyPane
>       *            flag whether the raw body pane should be shown
>       */
> -    public UrlConfigGui(boolean showSamplerFields, boolean
> showImplementation, boolean showRawBodyPane) {
> -        this(showSamplerFields, showImplementation, showRawBodyPane,
> false);
> +    public UrlConfigGui(boolean showSamplerFields, boolean
> showRawBodyPane) {
> +        this(showSamplerFields, showRawBodyPane, false);
>      }
>
>      /**
>       * @param showSamplerFields
>       *            flag whether sampler fields should be shown
> -     * @param showImplementation
> -     *            Show HTTP Implementation
>       * @param showRawBodyPane
>       *            flag whether the raw body pane should be shown
>       * @param showFileUploadPane flag whether the file upload pane should
> be shown
>       */
> -    public UrlConfigGui(boolean showSamplerFields, boolean
> showImplementation, boolean showRawBodyPane, boolean showFileUploadPane) {
> +    public UrlConfigGui(boolean showSamplerFields, boolean
> showRawBodyPane, boolean showFileUploadPane) {
>          this.notConfigOnly = showSamplerFields;
> -        this.showImplementation = showImplementation;
>          this.showRawBodyPane = showRawBodyPane;
>          this.showFileUploadPane = showFileUploadPane;
>          init();
> @@ -191,17 +165,8 @@ public class UrlConfigGui extends JPanel
>              useMultipartForPost.setSelected(false);
>              useBrowserCompatibleMultipartMode.setSelected(
> HTTPSamplerBase.BROWSER_COMPATIBLE_MULTIPART_MODE_DEFAULT);
>          }
> -        if (showImplementation) {
> -            httpImplementation.setText(""); // $NON-NLS-1$
> -        }
>          path.setText(""); // $NON-NLS-1$
>          port.setText(""); // $NON-NLS-1$
> -        proxyHost.setText(""); // $NON-NLS-1$
> -        proxyPort.setText(""); // $NON-NLS-1$
> -        proxyUser.setText(""); // $NON-NLS-1$
> -        proxyPass.setText(""); // $NON-NLS-1$
> -        connectTimeOut.setText(""); // $NON-NLS-1$
> -        responseTimeOut.setText(""); // $NON-NLS-1$
>          protocol.setText(""); // $NON-NLS-1$
>          contentEncoding.setText(""); // $NON-NLS-1$
>          argsPanel.clear();
> @@ -256,12 +221,6 @@ public class UrlConfigGui extends JPanel
>          element.setProperty(new 
> TestElementProperty(HTTPSamplerBase.ARGUMENTS,
> args));
>          element.setProperty(HTTPSamplerBase.DOMAIN, domain.getText());
>          element.setProperty(HTTPSamplerBase.PORT, port.getText());
> -        element.setProperty(HTTPSamplerBase.PROXYHOST,
> proxyHost.getText(),"");
> -        element.setProperty(HTTPSamplerBase.PROXYPORT,
> proxyPort.getText(),"");
> -        element.setProperty(HTTPSamplerBase.PROXYUSER,
> proxyUser.getText(),"");
> -        element.setProperty(HTTPSamplerBase.PROXYPASS,
> String.valueOf(proxyPass.getPassword()),"");
> -        element.setProperty(HTTPSamplerBase.CONNECT_TIMEOUT,
> connectTimeOut.getText());
> -        element.setProperty(HTTPSamplerBase.RESPONSE_TIMEOUT,
> responseTimeOut.getText());
>          element.setProperty(HTTPSamplerBase.PROTOCOL,
> protocol.getText());
>          element.setProperty(HTTPSamplerBase.CONTENT_ENCODING,
> contentEncoding.getText());
>          element.setProperty(HTTPSamplerBase.PATH, path.getText());
> @@ -273,9 +232,6 @@ public class UrlConfigGui extends JPanel
>              element.setProperty(new BooleanProperty(
> HTTPSamplerBase.DO_MULTIPART_POST, useMultipartForPost.isSelected()));
>              element.setProperty(HTTPSamplerBase.BROWSER_COMPATIBLE_MULTIPART,
> useBrowserCompatibleMultipartMode.isSelected(),HTTPSamplerBase.BROWSER_
> COMPATIBLE_MULTIPART_MODE_DEFAULT);
>          }
> -        if (showImplementation) {
> -            element.setProperty(HTTPSamplerBase.IMPLEMENTATION,
> httpImplementation.getText(),"");
> -        }
>      }
>
>      // FIXME FACTOR WITH HTTPHC4Impl, HTTPHC3Impl
> @@ -342,12 +298,6 @@ public class UrlConfigGui extends JPanel
>          } else {
>              port.setText(portString);
>          }
> -        proxyHost.setText(el.getPropertyAsString(
> HTTPSamplerBase.PROXYHOST));
> -        proxyPort.setText(el.getPropertyAsString(
> HTTPSamplerBase.PROXYPORT));
> -        proxyUser.setText(el.getPropertyAsString(
> HTTPSamplerBase.PROXYUSER));
> -        proxyPass.setText(el.getPropertyAsString(
> HTTPSamplerBase.PROXYPASS));
> -        connectTimeOut.setText(el.getPropertyAsString(
> HTTPSamplerBase.CONNECT_TIMEOUT));
> -        responseTimeOut.setText(el.getPropertyAsString(
> HTTPSamplerBase.RESPONSE_TIMEOUT));
>          protocol.setText(el.getPropertyAsString(
> HTTPSamplerBase.PROTOCOL));
>          contentEncoding.setText(el.getPropertyAsString(
> HTTPSamplerBase.CONTENT_ENCODING));
>          path.setText(el.getPropertyAsString(HTTPSamplerBase.PATH));
> @@ -360,9 +310,6 @@ public class UrlConfigGui extends JPanel
>              useBrowserCompatibleMultipartMode.setSelected(el.
> getPropertyAsBoolean(
>                      HTTPSamplerBase.BROWSER_COMPATIBLE_MULTIPART,
> HTTPSamplerBase.BROWSER_COMPATIBLE_MULTIPART_MODE_DEFAULT));
>          }
> -        if (showImplementation) {
> -            httpImplementation.setText(el.getPropertyAsString(
> HTTPSamplerBase.IMPLEMENTATION));
> -        }
>      }
>
>      private void init() {// called from ctor, so must not be overridable
> @@ -374,190 +321,52 @@ public class UrlConfigGui extends JPanel
>          webRequestPanel.setBorder(BorderFactory.createTitledBorder(
> BorderFactory.createEtchedBorder(),
>                  JMeterUtils.getResString("web_request"))); // $NON-NLS-1$
>
> -        JPanel northPanel = new JPanel();
> -        northPanel.setLayout(new BoxLayout(northPanel, BoxLayout.Y_AXIS));
> -        northPanel.add(getProtocolAndMethodPanel());
> -        northPanel.add(getPathPanel());
> -
> -        webRequestPanel.add(northPanel, BorderLayout.NORTH);
> +        webRequestPanel.add(getPathPanel(), BorderLayout.NORTH);
>          webRequestPanel.add(getParameterPanel(), BorderLayout.CENTER);
>
> -        this.add(getWebServerTimeoutPanel(), BorderLayout.NORTH);
> +        this.add(getWebServerPanel(), BorderLayout.NORTH);
>          this.add(webRequestPanel, BorderLayout.CENTER);
> -        this.add(getProxyServerPanel(), BorderLayout.SOUTH);
>      }
>
>      /**
> -     * Create a panel containing the webserver (domain+port) and timeouts
> (connect+request).
> +     * Create a panel containing the webserver (domain+port) and scheme.
>       *
>       * @return the panel
>       */
> -    protected final JPanel getWebServerTimeoutPanel() {
> -        // WEB SERVER PANEL
> +    protected final JPanel getWebServerPanel() {
> +        // PROTOCOL
> +        protocol = new 
> JLabeledTextField(JMeterUtils.getResString("protocol"),
> 4); // $NON-NLS-1$
> +        port = new JLabeledTextField(JMeterUtils.
> getResString("web_server_port"), 7); // $NON-NLS-1$
> +        domain = new JLabeledTextField(JMeterUtils.
> getResString("web_server_domain"), 40); // $NON-NLS-1$
> +
>          JPanel webServerPanel = new HorizontalPanel();
>          webServerPanel.setBorder(BorderFactory.createTitledBorder(
> BorderFactory.createEtchedBorder(),
>                  JMeterUtils.getResString("web_server"))); // $NON-NLS-1$
> -        final JPanel domainPanel = getDomainPanel();
> -        final JPanel portPanel = getPortPanel();
> -        webServerPanel.add(domainPanel, BorderLayout.CENTER);
> -        webServerPanel.add(portPanel, BorderLayout.EAST);
> -
> -        JPanel timeOut = new HorizontalPanel();
> -        timeOut.setBorder(BorderFactory.createTitledBorder(BorderFactory.
> createEtchedBorder(),
> -                JMeterUtils.getResString("web_server_timeout_title")));
> // $NON-NLS-1$
> -        final JPanel connPanel = getConnectTimeOutPanel();
> -        final JPanel reqPanel = getResponseTimeOutPanel();
> -        timeOut.add(connPanel);
> -        timeOut.add(reqPanel);
> -
> -        JPanel webServerTimeoutPanel = new VerticalPanel();
> -        webServerTimeoutPanel.add(webServerPanel, BorderLayout.CENTER);
> -        webServerTimeoutPanel.add(timeOut, BorderLayout.EAST);
> -
> -        JPanel bigPanel = new VerticalPanel();
> -        bigPanel.add(webServerTimeoutPanel);
> -        return bigPanel;
> -    }
> -
> -    /**
> -     * Create a panel containing the proxy server details
> -     *
> -     * @return the panel
> -     */
> -    protected final JPanel getProxyServerPanel(){
> -        JPanel proxyServer = new HorizontalPanel();
> -        proxyServer.add(getProxyHostPanel(), BorderLayout.CENTER);
> -        proxyServer.add(getProxyPortPanel(), BorderLayout.EAST);
> -
> -        JPanel proxyLogin = new HorizontalPanel();
> -        proxyLogin.add(getProxyUserPanel());
> -        proxyLogin.add(getProxyPassPanel());
> -
> -        JPanel proxyServerPanel = new HorizontalPanel();
> -        proxyServerPanel.setBorder(BorderFactory.createTitledBorder(
> BorderFactory.createEtchedBorder(),
> -                JMeterUtils.getResString("web_proxy_server_title"))); //
> $NON-NLS-1$
> -        proxyServerPanel.add(proxyServer);
> -        proxyServerPanel.add(proxyLogin);
> -
> -        return proxyServerPanel;
> -    }
> -
> -    private JPanel getPortPanel() {
> -        port = new JTextField(10);
> -
> -        JLabel label = new JLabel(JMeterUtils.
> getResString("web_server_port")); // $NON-NLS-1$
> -        label.setLabelFor(port);
> -
> -        JPanel panel = new JPanel(new BorderLayout(5, 0));
> -        panel.add(label, BorderLayout.WEST);
> -        panel.add(port, BorderLayout.CENTER);
> -
> -        return panel;
> -    }
> -
> -    private JPanel getProxyPortPanel() {
> -        proxyPort = new JTextField(10);
> -
> -        JLabel label = new JLabel(JMeterUtils.
> getResString("web_server_port")); // $NON-NLS-1$
> -        label.setLabelFor(proxyPort);
> -        label.setFont(FONT_SMALL);
> -
> -        JPanel panel = new JPanel(new BorderLayout(5, 0));
> -        panel.add(label, BorderLayout.WEST);
> -        panel.add(proxyPort, BorderLayout.CENTER);
> -
> -        return panel;
> -    }
> -
> -    private JPanel getConnectTimeOutPanel() {
> -        connectTimeOut = new JTextField(10);
> -
> -        JLabel label = new 
> JLabel(JMeterUtils.getResString("web_server_timeout_connect"));
> // $NON-NLS-1$
> -        label.setLabelFor(connectTimeOut);
> -
> -        JPanel panel = new JPanel(new BorderLayout(5, 0));
> -        panel.add(label, BorderLayout.WEST);
> -        panel.add(connectTimeOut, BorderLayout.CENTER);
> -
> -        return panel;
> -    }
> -
> -    private JPanel getResponseTimeOutPanel() {
> -        responseTimeOut = new JTextField(10);
> -
> -        JLabel label = new 
> JLabel(JMeterUtils.getResString("web_server_timeout_response"));
> // $NON-NLS-1$
> -        label.setLabelFor(responseTimeOut);
> -
> -        JPanel panel = new JPanel(new BorderLayout(5, 0));
> -        panel.add(label, BorderLayout.WEST);
> -        panel.add(responseTimeOut, BorderLayout.CENTER);
> -
> -        return panel;
> +        webServerPanel.add(protocol);
> +        webServerPanel.add(domain);
> +        webServerPanel.add(port);
> +        return webServerPanel;
>      }
>
> -    private JPanel getDomainPanel() {
> -        domain = new JTextField(20);
> -
> -        JLabel label = new 
> JLabel(JMeterUtils.getResString("web_server_domain"));
> // $NON-NLS-1$
> -        label.setLabelFor(domain);
> -
> -        JPanel panel = new JPanel(new BorderLayout(5, 0));
> -        panel.add(label, BorderLayout.WEST);
> -        panel.add(domain, BorderLayout.CENTER);
> -        return panel;
> -    }
> -
> -    private JPanel getProxyHostPanel() {
> -        proxyHost = new JTextField(10);
> -
> -        JLabel label = new 
> JLabel(JMeterUtils.getResString("web_server_domain"));
> // $NON-NLS-1$
> -        label.setLabelFor(proxyHost);
> -        label.setFont(FONT_SMALL);
> -
> -        JPanel panel = new JPanel(new BorderLayout(5, 0));
> -        panel.add(label, BorderLayout.WEST);
> -        panel.add(proxyHost, BorderLayout.CENTER);
> -        return panel;
> -    }
> -
> -    private JPanel getProxyUserPanel() {
> -        proxyUser = new JTextField(5);
> -
> -        JLabel label = new JLabel(JMeterUtils.getResString("username"));
> // $NON-NLS-1$
> -        label.setLabelFor(proxyUser);
> -        label.setFont(FONT_SMALL);
> -
> -        JPanel panel = new JPanel(new BorderLayout(5, 0));
> -        panel.add(label, BorderLayout.WEST);
> -        panel.add(proxyUser, BorderLayout.CENTER);
> -        return panel;
> -    }
> -
> -    private JPanel getProxyPassPanel() {
> -        proxyPass = new JPasswordField(5);
> -
> -        JLabel label = new JLabel(JMeterUtils.getResString("password"));
> // $NON-NLS-1$
> -        label.setLabelFor(proxyPass);
> -        label.setFont(FONT_SMALL);
> -
> -        JPanel panel = new JPanel(new BorderLayout(5, 0));
> -        panel.add(label, BorderLayout.WEST);
> -        panel.add(proxyPass, BorderLayout.CENTER);
> -        return panel;
> -    }
>
>      /**
> -     * This method defines the Panel for the HTTP path, 'Follow Redirects'
> -     * 'Use KeepAlive', and 'Use multipart for HTTP POST' elements.
> +     * This method defines the Panel for:
> +     *  the HTTP path, Method and Content Encoding
> +     *  'Follow Redirects', 'Use KeepAlive', and 'Use multipart for HTTP
> POST' elements.
>       *
>       * @return JPanel The Panel for the path, 'Follow Redirects' and 'Use
>       *         KeepAlive' elements.
>       */
>      protected Component getPathPanel() {
> -        path = new JTextField(15);
> +        path = new JLabeledTextField(JMeterUtils.getResString("path"),
> 80); //$NON-NLS-1$
> +        // CONTENT_ENCODING
> +        contentEncoding = new JLabeledTextField(JMeterUtils.
> getResString("content_encoding"), 7); // $NON-NLS-1$
>
> -        JLabel label = new JLabel(JMeterUtils.getResString("path"));
> //$NON-NLS-1$
> -        label.setLabelFor(path);
> +        if (notConfigOnly){
> +            method = new JLabeledChoice(JMeterUtils.getResString("method"),
> // $NON-NLS-1$
> +                    HTTPSamplerBase.getValidMethodsAsArray(), true,
> false);
> +            method.addChangeListener(this);
> +        }
>
>          if (notConfigOnly){
>              followRedirects = new JCheckBox(JMeterUtils.
> getResString("follow_redirects")); // $NON-NLS-1$
> @@ -584,10 +393,12 @@ public class UrlConfigGui extends JPanel
>
>          }
>
> -        JPanel pathPanel = new HorizontalPanel();
> -        pathPanel.add(label);
> +        JPanel pathPanel =  new HorizontalPanel();
> +        if (notConfigOnly){
> +            pathPanel.add(method);
> +        }
>          pathPanel.add(path);
> -
> +        pathPanel.add(contentEncoding);
>          JPanel panel = new JPanel();
>          panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
>          panel.add(pathPanel);
> @@ -606,52 +417,6 @@ public class UrlConfigGui extends JPanel
>          return panel;
>      }
>
> -    protected JPanel getProtocolAndMethodPanel() {
> -
> -        // Implementation
> -        if (showImplementation) {
> -            httpImplementation = new JLabeledChoice(JMeterUtils.
> getResString("http_implementation"), // $NON-NLS-1$
> -                    HTTPSamplerFactory.getImplementations());
> -            httpImplementation.addValue("");
> -        }
> -
> -        // PROTOCOL
> -        protocol = new JTextField(4);
> -        JLabel protocolLabel = new 
> JLabel(JMeterUtils.getResString("protocol"));
> // $NON-NLS-1$
> -        protocolLabel.setLabelFor(protocol);
> -
> -        // CONTENT_ENCODING
> -        contentEncoding = new JTextField(10);
> -        JLabel contentEncodingLabel = new JLabel(JMeterUtils.
> getResString("content_encoding")); // $NON-NLS-1$
> -        contentEncodingLabel.setLabelFor(contentEncoding);
> -
> -        if (notConfigOnly){
> -            method = new JLabeledChoice(JMeterUtils.getResString("method"),
> // $NON-NLS-1$
> -                    HTTPSamplerBase.getValidMethodsAsArray(), true,
> false);
> -            method.addChangeListener(this);
> -        }
> -
> -        JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
> -
> -        if (showImplementation) {
> -            panel.add(httpImplementation);
> -        }
> -        panel.add(protocolLabel);
> -        panel.add(protocol);
> -        panel.add(Box.createHorizontalStrut(5));
> -
> -        if (notConfigOnly){
> -            panel.add(method);
> -        }
> -        panel.setMinimumSize(panel.getPreferredSize());
> -        panel.add(Box.createHorizontalStrut(5));
> -
> -        panel.add(contentEncodingLabel);
> -        panel.add(contentEncoding);
> -        panel.setMinimumSize(panel.getPreferredSize());
> -        return panel;
> -    }
> -
>      protected JTabbedPane getParameterPanel() {
>          postContentTabbedPane = new ValidationTabbedPane();
>          argsPanel = new HTTPArgumentsPanel();
>
> Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/
> protocol/http/control/gui/HttpTestSampleGui.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/
> http/org/apache/jmeter/protocol/http/control/gui/
> HttpTestSampleGui.java?rev=1777041&r1=1777040&r2=1777041&view=diff
> ============================================================
> ==================
> --- jmeter/trunk/src/protocol/http/org/apache/jmeter/
> protocol/http/control/gui/HttpTestSampleGui.java (original)
> +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/
> protocol/http/control/gui/HttpTestSampleGui.java Mon Jan  2 23:55:21 2017
> @@ -20,24 +20,30 @@ package org.apache.jmeter.protocol.http.
>
>  import java.awt.BorderLayout;
>  import java.awt.Dimension;
> +import java.awt.Font;
>  import java.awt.event.ItemEvent;
>  import java.awt.event.ItemListener;
>
>  import javax.swing.BorderFactory;
>  import javax.swing.JCheckBox;
>  import javax.swing.JComboBox;
> +import javax.swing.JLabel;
>  import javax.swing.JPanel;
> +import javax.swing.JPasswordField;
>  import javax.swing.JTabbedPane;
>  import javax.swing.JTextField;
> +import javax.swing.UIManager;
>
>  import org.apache.jmeter.gui.util.HorizontalPanel;
>  import org.apache.jmeter.gui.util.VerticalPanel;
>  import org.apache.jmeter.protocol.http.config.gui.UrlConfigGui;
>  import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase;
> +import org.apache.jmeter.protocol.http.sampler.HTTPSamplerFactory;
>  import org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy;
>  import org.apache.jmeter.samplers.gui.AbstractSamplerGui;
>  import org.apache.jmeter.testelement.TestElement;
>  import org.apache.jmeter.util.JMeterUtils;
> +import org.apache.jorphan.gui.JLabeledChoice;
>  import org.apache.jorphan.gui.JLabeledTextField;
>
>  //For unit tests, @see TestHttpTestSampleGui
> @@ -50,6 +56,10 @@ public class HttpTestSampleGui extends A
>
>      private static final long serialVersionUID = 241L;
>
> +    private static final Font FONT_DEFAULT = UIManager.getDefaults().
> getFont("TextField.font");
> +
> +    private static final Font FONT_SMALL = new Font("SansSerif",
> Font.PLAIN, (int) Math.round(FONT_DEFAULT.getSize() * 0.8));
> +
>      private UrlConfigGui urlConfigGui;
>
>      private JCheckBox retrieveEmbeddedResources;
> @@ -68,6 +78,20 @@ public class HttpTestSampleGui extends A
>
>      private final boolean isAJP;
>
> +    private JTextField proxyHost;
> +
> +    private JTextField proxyPort;
> +
> +    private JTextField proxyUser;
> +
> +    private JPasswordField proxyPass;
> +
> +    private JLabeledChoice httpImplementation;
> +
> +    private JTextField connectTimeOut;
> +
> +    private JTextField responseTimeOut;
> +
>      public HttpTestSampleGui() {
>          isAJP = false;
>          init();
> @@ -95,6 +119,13 @@ public class HttpTestSampleGui extends A
>          if (!isAJP) {
>              sourceIpAddr.setText(samplerBase.getIpSource());
>              sourceIpType.setSelectedIndex(samplerBase.getIpSourceType());
> +            proxyHost.setText(samplerBase.getPropertyAsString(
> HTTPSamplerBase.PROXYHOST));
> +            proxyPort.setText(samplerBase.getPropertyAsString(
> HTTPSamplerBase.PROXYPORT));
> +            proxyUser.setText(samplerBase.getPropertyAsString(
> HTTPSamplerBase.PROXYUSER));
> +            proxyPass.setText(samplerBase.getPropertyAsString(
> HTTPSamplerBase.PROXYPASS));
> +            httpImplementation.setText(samplerBase.getPropertyAsString(
> HTTPSamplerBase.IMPLEMENTATION));
> +            connectTimeOut.setText(samplerBase.getPropertyAsString(
> HTTPSamplerBase.CONNECT_TIMEOUT));
> +            responseTimeOut.setText(samplerBase.getPropertyAsString(
> HTTPSamplerBase.RESPONSE_TIMEOUT));
>          }
>      }
>
> @@ -127,6 +158,13 @@ public class HttpTestSampleGui extends A
>          if (!isAJP) {
>              samplerBase.setIpSource(sourceIpAddr.getText());
>              samplerBase.setIpSourceType(sourceIpType.getSelectedIndex());
> +            samplerBase.setProperty(HTTPSamplerBase.PROXYHOST,
> proxyHost.getText(),"");
> +            samplerBase.setProperty(HTTPSamplerBase.PROXYPORT,
> proxyPort.getText(),"");
> +            samplerBase.setProperty(HTTPSamplerBase.PROXYUSER,
> proxyUser.getText(),"");
> +            samplerBase.setProperty(HTTPSamplerBase.PROXYPASS,
> String.valueOf(proxyPass.getPassword()),"");
> +            samplerBase.setProperty(HTTPSamplerBase.IMPLEMENTATION,
> httpImplementation.getText(),"");
> +            samplerBase.setProperty(HTTPSamplerBase.CONNECT_TIMEOUT,
> connectTimeOut.getText());
> +            samplerBase.setProperty(HTTPSamplerBase.RESPONSE_TIMEOUT,
> responseTimeOut.getText());
>          }
>          super.configureTestElement(sampler);
>      }
> @@ -144,12 +182,18 @@ public class HttpTestSampleGui extends A
>          setBorder(makeBorder());
>
>          // URL CONFIG
> -        urlConfigGui = new UrlConfigGui(true, !isAJP, true, true);
> +        urlConfigGui = new UrlConfigGui(true, true, true);
>
>          // AdvancedPanel (embedded resources, source address and optional
> tasks)
>          JPanel advancedPanel = new VerticalPanel();
>          advancedPanel.add(createEmbeddedRsrcPanel());
> -        advancedPanel.add(createSourceAddrPanel());
> +        if (!isAJP) {
> +            advancedPanel.add(getTimeOutPanel());
> +            advancedPanel.add(getImplementationPanel());
> +            advancedPanel.add(createSourceAddrPanel());
> +            advancedPanel.add(getProxyServerPanel());
> +        }
> +
>          advancedPanel.add(createOptionalTasksPanel());
>
>          JTabbedPane tabbedPane = new JTabbedPane();
> @@ -166,6 +210,43 @@ public class HttpTestSampleGui extends A
>          add(emptyPanel, BorderLayout.SOUTH);
>      }
>
> +    private JPanel getTimeOutPanel() {
> +        JPanel timeOut = new HorizontalPanel();
> +        timeOut.setBorder(BorderFactory.createTitledBorder(BorderFactory.
> createEtchedBorder(),
> +                JMeterUtils.getResString("web_server_timeout_title")));
> // $NON-NLS-1$
> +        final JPanel connPanel = getConnectTimeOutPanel();
> +        final JPanel reqPanel = getResponseTimeOutPanel();
> +        timeOut.add(connPanel);
> +        timeOut.add(reqPanel);
> +        return timeOut;
> +    }
> +
> +    private JPanel getConnectTimeOutPanel() {
> +        connectTimeOut = new JTextField(10);
> +
> +        JLabel label = new 
> JLabel(JMeterUtils.getResString("web_server_timeout_connect"));
> // $NON-NLS-1$
> +        label.setLabelFor(connectTimeOut);
> +
> +        JPanel panel = new JPanel(new BorderLayout(5, 0));
> +        panel.add(label, BorderLayout.WEST);
> +        panel.add(connectTimeOut, BorderLayout.CENTER);
> +
> +        return panel;
> +    }
> +
> +    private JPanel getResponseTimeOutPanel() {
> +        responseTimeOut = new JTextField(10);
> +
> +        JLabel label = new 
> JLabel(JMeterUtils.getResString("web_server_timeout_response"));
> // $NON-NLS-1$
> +        label.setLabelFor(responseTimeOut);
> +
> +        JPanel panel = new JPanel(new BorderLayout(5, 0));
> +        panel.add(label, BorderLayout.WEST);
> +        panel.add(responseTimeOut, BorderLayout.CENTER);
> +
> +        return panel;
> +    }
> +
>      protected JPanel createEmbeddedRsrcPanel() {
>          // retrieve Embedded resources
>          retrieveEmbeddedResources = new JCheckBox(JMeterUtils.
> getResString("web_testing_retrieve_images")); // $NON-NLS-1$
> @@ -204,6 +285,20 @@ public class HttpTestSampleGui extends A
>          return embeddedRsrcPanel;
>      }
>
> +    /**
> +     * Create a panel containing the implementation details
> +     *
> +     * @return the panel
> +     */
> +    protected final JPanel getImplementationPanel(){
> +        JPanel implPanel = new HorizontalPanel();
> +        httpImplementation = new JLabeledChoice(JMeterUtils.
> getResString("http_implementation"), // $NON-NLS-1$
> +                HTTPSamplerFactory.getImplementations());
> +        httpImplementation.addValue("");
> +        implPanel.add(httpImplementation);
> +        return implPanel;
> +    }
> +
>      protected JPanel createOptionalTasksPanel() {
>          // OPTIONAL TASKS
>          final JPanel checkBoxPanel = new VerticalPanel();
> @@ -222,14 +317,12 @@ public class HttpTestSampleGui extends A
>          sourceAddrPanel.setBorder(BorderFactory.createTitledBorder(
> BorderFactory.createEtchedBorder(), JMeterUtils
>                  .getResString("web_testing_source_ip"))); // $NON-NLS-1$
>
> -        if (!isAJP) {
> -            // Add a new field source ip address (for HC implementations
> only)
> -            
> sourceIpType.setSelectedIndex(HTTPSamplerBase.SourceType.HOSTNAME.ordinal());
> //default: IP/Hostname
> -            sourceAddrPanel.add(sourceIpType);
> +        // Add a new field source ip address (for HC implementations only)
> +        
> sourceIpType.setSelectedIndex(HTTPSamplerBase.SourceType.HOSTNAME.ordinal());
> //default: IP/Hostname
> +        sourceAddrPanel.add(sourceIpType);
>
> -            sourceIpAddr = new JTextField();
> -            sourceAddrPanel.add(sourceIpAddr);
> -        }
> +        sourceIpAddr = new JTextField();
> +        sourceAddrPanel.add(sourceIpAddr);
>          return sourceAddrPanel;
>      }
>
> @@ -257,6 +350,13 @@ public class HttpTestSampleGui extends A
>          if (!isAJP) {
>              sourceIpAddr.setText(""); // $NON-NLS-1$
>              
> sourceIpType.setSelectedIndex(HTTPSamplerBase.SourceType.HOSTNAME.ordinal());
> //default: IP/Hostname
> +            proxyHost.setText(""); // $NON-NLS-1$
> +            proxyPort.setText(""); // $NON-NLS-1$
> +            proxyUser.setText(""); // $NON-NLS-1$
> +            proxyPass.setText(""); // $NON-NLS-1$
> +            httpImplementation.setText(""); // $NON-NLS-1$
> +            connectTimeOut.setText(""); // $NON-NLS-1$
> +            responseTimeOut.setText(""); // $NON-NLS-1$
>          }
>      }
>
> @@ -273,4 +373,81 @@ public class HttpTestSampleGui extends A
>              embeddedRE.setEnabled(false);
>          }
>      }
> +
> +
> +    /**
> +     * Create a panel containing the proxy server details
> +     *
> +     * @return the panel
> +     */
> +    protected final JPanel getProxyServerPanel(){
> +        JPanel proxyServer = new HorizontalPanel();
> +        proxyServer.add(getProxyHostPanel(), BorderLayout.CENTER);
> +        proxyServer.add(getProxyPortPanel(), BorderLayout.EAST);
> +
> +        JPanel proxyLogin = new HorizontalPanel();
> +        proxyLogin.add(getProxyUserPanel());
> +        proxyLogin.add(getProxyPassPanel());
> +
> +        JPanel proxyServerPanel = new HorizontalPanel();
> +        proxyServerPanel.setBorder(BorderFactory.createTitledBorder(
> BorderFactory.createEtchedBorder(),
> +                JMeterUtils.getResString("web_proxy_server_title"))); //
> $NON-NLS-1$
> +        proxyServerPanel.add(proxyServer);
> +        proxyServerPanel.add(proxyLogin);
> +
> +        return proxyServerPanel;
> +    }
> +
> +    private JPanel getProxyHostPanel() {
> +        proxyHost = new JTextField(10);
> +
> +        JLabel label = new 
> JLabel(JMeterUtils.getResString("web_server_domain"));
> // $NON-NLS-1$
> +        label.setLabelFor(proxyHost);
> +        label.setFont(FONT_SMALL);
> +
> +        JPanel panel = new JPanel(new BorderLayout(5, 0));
> +        panel.add(label, BorderLayout.WEST);
> +        panel.add(proxyHost, BorderLayout.CENTER);
> +        return panel;
> +    }
> +
> +    private JPanel getProxyPortPanel() {
> +        proxyPort = new JTextField(10);
> +
> +        JLabel label = new JLabel(JMeterUtils.
> getResString("web_server_port")); // $NON-NLS-1$
> +        label.setLabelFor(proxyPort);
> +        label.setFont(FONT_SMALL);
> +
> +        JPanel panel = new JPanel(new BorderLayout(5, 0));
> +        panel.add(label, BorderLayout.WEST);
> +        panel.add(proxyPort, BorderLayout.CENTER);
> +
> +        return panel;
> +    }
> +
> +    private JPanel getProxyUserPanel() {
> +        proxyUser = new JTextField(5);
> +
> +        JLabel label = new JLabel(JMeterUtils.getResString("username"));
> // $NON-NLS-1$
> +        label.setLabelFor(proxyUser);
> +        label.setFont(FONT_SMALL);
> +
> +        JPanel panel = new JPanel(new BorderLayout(5, 0));
> +        panel.add(label, BorderLayout.WEST);
> +        panel.add(proxyUser, BorderLayout.CENTER);
> +        return panel;
> +    }
> +
> +    private JPanel getProxyPassPanel() {
> +        proxyPass = new JPasswordField(5);
> +
> +        JLabel label = new JLabel(JMeterUtils.getResString("password"));
> // $NON-NLS-1$
> +        label.setLabelFor(proxyPass);
> +        label.setFont(FONT_SMALL);
> +
> +        JPanel panel = new JPanel(new BorderLayout(5, 0));
> +        panel.add(label, BorderLayout.WEST);
> +        panel.add(proxyPass, BorderLayout.CENTER);
> +        return panel;
> +    }
>  }
>
> Modified: jmeter/trunk/xdocs/changes.xml
> URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.
> xml?rev=1777041&r1=1777040&r2=1777041&view=diff
> ============================================================
> ==================
> --- jmeter/trunk/xdocs/changes.xml [utf-8] (original)
> +++ jmeter/trunk/xdocs/changes.xml [utf-8] Mon Jan  2 23:55:21 2017
> @@ -108,6 +108,7 @@ Fill in some detail.
>  <h3>HTTP Samplers and Test Script Recorder</h3>
>  <ul>
>      <li><bug>59934</bug>Fix race-conditions in CssParser. Based on a
> patch by Jerome Loisel (loisel.jerome at gmail.com)</li>
> +    <li><bug>60543</bug>HTTP Request / Http Request Defaults UX: Move to
> advanced panel Timeouts, Implementation, Proxy</li>
>  </ul>
>
>  <h3>Other samplers</h3>
>
>
>

Reply via email to