This is an automated email from the ASF dual-hosted git repository.
pmouawad pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git
The following commit(s) were added to refs/heads/master by this push:
new 73fcccd Bug 64408 - Improve JMS Subscriber UX (#587)
73fcccd is described below
commit 73fcccde7ac0f453c8fceb4c961eb3fb2c99a191
Author: UBIK LOAD PACK <[email protected]>
AuthorDate: Sun May 3 20:22:02 2020 +0200
Bug 64408 - Improve JMS Subscriber UX (#587)
Co-authored-by: pmouawad <[email protected]>
---
.../protocol/jms/control/gui/JMSSubscriberGui.java | 118 +++++++++++----------
xdocs/changes.xml | 1 +
2 files changed, 62 insertions(+), 57 deletions(-)
diff --git
a/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/control/gui/JMSSubscriberGui.java
b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/control/gui/JMSSubscriberGui.java
index f3f848b..294a57e 100644
---
a/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/control/gui/JMSSubscriberGui.java
+++
b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/control/gui/JMSSubscriberGui.java
@@ -20,16 +20,14 @@ package org.apache.jmeter.protocol.jms.control.gui;
import java.awt.BorderLayout;
import javax.naming.Context;
-import javax.swing.BoxLayout;
import javax.swing.JCheckBox;
import javax.swing.JPanel;
+import javax.swing.JTextField;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import org.apache.jmeter.gui.TestElementMetadata;
-import org.apache.jmeter.gui.util.HorizontalPanel;
import org.apache.jmeter.gui.util.JLabeledRadioI18N;
-import org.apache.jmeter.gui.util.VerticalPanel;
import org.apache.jmeter.protocol.jms.sampler.SubscriberSampler;
import org.apache.jmeter.samplers.gui.AbstractSamplerGui;
import org.apache.jmeter.testelement.TestElement;
@@ -37,6 +35,8 @@ import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.gui.JLabeledPasswordField;
import org.apache.jorphan.gui.JLabeledTextField;
+import net.miginfocom.swing.MigLayout;
+
/**
* This is the GUI for JMS Subscriber <br>
*
@@ -49,26 +49,22 @@ public class JMSSubscriberGui extends AbstractSamplerGui
implements ChangeListen
private final JCheckBox useProperties =
new JCheckBox(JMeterUtils.getResString("jms_use_properties_file"),
false); // $NON-NLS-1$
- private final JLabeledTextField jndiICF =
- new
JLabeledTextField(JMeterUtils.getResString("jms_initial_context_factory")); //
$NON-NLS-1$
+ private final JTextField jndiICF = new JTextField();
+
+ private final JTextField urlField = new JTextField();
- private final JLabeledTextField urlField =
- new JLabeledTextField(JMeterUtils.getResString("jms_provider_url"));
// $NON-NLS-1$
+ private final JTextField jndiConnFac = new JTextField();
- private final JLabeledTextField jndiConnFac =
- new
JLabeledTextField(JMeterUtils.getResString("jms_connection_factory")); //
$NON-NLS-1$
+ private final JTextField jmsDestination = new JTextField();
- private final JLabeledTextField jmsDestination =
- new JLabeledTextField(JMeterUtils.getResString("jms_topic")); //
$NON-NLS-1$
+ private final JTextField jmsDurableSubscriptionId = new JTextField();
- private final JLabeledTextField jmsDurableSubscriptionId =
- new
JLabeledTextField(JMeterUtils.getResString("jms_durable_subscription_id")); //
$NON-NLS-1$
+ private final JTextField jmsClientId = new JTextField();
- private final JLabeledTextField jmsClientId =
- new JLabeledTextField(JMeterUtils.getResString("jms_client_id")); //
$NON-NLS-1$
+ private final JTextField jmsSelector = new JTextField();
- private final JLabeledTextField jmsSelector =
- new JLabeledTextField(JMeterUtils.getResString("jms_selector")); //
$NON-NLS-1$
+ private final JCheckBox useAuth =
+ new JCheckBox(JMeterUtils.getResString("jms_use_auth"), false);
//$NON-NLS-1$
private final JLabeledTextField jmsUser =
new JLabeledTextField(JMeterUtils.getResString("jms_user")); //
$NON-NLS-1$
@@ -76,26 +72,18 @@ public class JMSSubscriberGui extends AbstractSamplerGui
implements ChangeListen
private final JLabeledTextField jmsPwd =
new JLabeledPasswordField(JMeterUtils.getResString("jms_pwd")); //
$NON-NLS-1$
- private final JLabeledTextField samplesToAggregate =
- new JLabeledTextField(JMeterUtils.getResString("jms_itertions")); //
$NON-NLS-1$
-
- private final JCheckBox useAuth =
- new JCheckBox(JMeterUtils.getResString("jms_use_auth"), false);
//$NON-NLS-1$
+ private final JTextField samplesToAggregate = new JTextField();
private final JCheckBox storeResponse =
new JCheckBox(JMeterUtils.getResString("jms_store_response"), true);
// $NON-NLS-1$
- private final JLabeledTextField timeout =
- new JLabeledTextField(JMeterUtils.getResString("jms_timeout"));
//$NON-NLS-1$
+ private final JTextField timeout = new JTextField();
- private final JLabeledTextField jmsErrorPauseBetween =
- new
JLabeledTextField(JMeterUtils.getResString("jms_error_pause_between")); //
$NON-NLS-1$
+ private final JTextField jmsErrorPauseBetween = new JTextField();
- private final JLabeledTextField jmsErrorReconnectOnCodes =
- new
JLabeledTextField(JMeterUtils.getResString("jms_error_reconnect_on_codes")); //
$NON-NLS-1$
+ private final JTextField jmsErrorReconnectOnCodes = new JTextField();
- private final JLabeledTextField separator =
- new JLabeledTextField(JMeterUtils.getResString("jms_separator"));
//$NON-NLS-1$
+ private final JTextField separator = new JTextField();
//++ Do not change these strings; they are used in JMX files to record the
button settings
public static final String RECEIVE_RSC = "jms_subscriber_receive"; //
$NON-NLS-1$
@@ -181,37 +169,61 @@ public class JMSSubscriberGui extends AbstractSamplerGui
implements ChangeListen
setBorder(makeBorder());
add(makeTitlePanel(), BorderLayout.NORTH);
- JPanel mainPanel = new VerticalPanel();
+ JPanel mainPanel = new JPanel(new MigLayout("fillx, wrap 3, insets 0",
"[][fill,grow]"));
add(mainPanel, BorderLayout.CENTER);
jndiICF.setToolTipText(Context.INITIAL_CONTEXT_FACTORY);
urlField.setToolTipText(Context.PROVIDER_URL);
jmsUser.setToolTipText(Context.SECURITY_PRINCIPAL);
jmsPwd.setToolTipText(Context.SECURITY_CREDENTIALS);
- mainPanel.add(useProperties);
- mainPanel.add(jndiICF);
- mainPanel.add(urlField);
- mainPanel.add(jndiConnFac);
- mainPanel.add(createDestinationPane());
- mainPanel.add(jmsDurableSubscriptionId);
- mainPanel.add(jmsClientId);
- mainPanel.add(jmsSelector);
+
+ mainPanel.add(useProperties, "span");
+
+ mainPanel.add(JMeterUtils.labelFor(jndiICF,
"jms_initial_context_factory"));
+ mainPanel.add(jndiICF, "span, growx");
+
+ mainPanel.add(JMeterUtils.labelFor(urlField, "jms_provider_url"));
+ mainPanel.add(urlField, "span, growx");
+
mainPanel.add(useAuth);
mainPanel.add(jmsUser);
mainPanel.add(jmsPwd);
- mainPanel.add(samplesToAggregate);
- mainPanel.add(storeResponse);
- mainPanel.add(timeout);
+ mainPanel.add(JMeterUtils.labelFor(jndiConnFac,
"jms_connection_factory"));
+ mainPanel.add(jndiConnFac, "span, growx");
+
+ mainPanel.add(JMeterUtils.labelFor(jmsDestination, "jms_topic"));
+ mainPanel.add(jmsDestination);
+ mainPanel.add(destSetup);
- JPanel choice = new HorizontalPanel();
- choice.add(clientChoice);
- choice.add(stopBetweenSamples);
- mainPanel.add(choice);
- mainPanel.add(separator);
+ mainPanel.add(JMeterUtils.labelFor(jmsDurableSubscriptionId,
"jms_durable_subscription_id"));
+ mainPanel.add(jmsDurableSubscriptionId, "span, growx");
- mainPanel.add(jmsErrorReconnectOnCodes);
- mainPanel.add(jmsErrorPauseBetween);
+ mainPanel.add(JMeterUtils.labelFor(jmsClientId, "jms_client_id"));
+ mainPanel.add(jmsClientId, "span, growx");
+
+ mainPanel.add(JMeterUtils.labelFor(jmsSelector, "jms_selector"));
+ mainPanel.add(jmsSelector);
+
+ mainPanel.add(storeResponse, "span");
+
+ mainPanel.add(JMeterUtils.labelFor(timeout, "jms_timeout"));
+ mainPanel.add(timeout, "span");
+
+ mainPanel.add(clientChoice, "span 2");
+ mainPanel.add(stopBetweenSamples);
+
+ mainPanel.add(JMeterUtils.labelFor(jmsErrorReconnectOnCodes,
"jms_error_reconnect_on_codes"));
+ mainPanel.add(jmsErrorReconnectOnCodes, "span, growx");
+
+ mainPanel.add(JMeterUtils.labelFor(jmsErrorPauseBetween,
"jms_error_pause_between"));
+ mainPanel.add(jmsErrorPauseBetween, "span, growx");
+
+ mainPanel.add(JMeterUtils.labelFor(samplesToAggregate,
"jms_itertions"));
+ mainPanel.add(samplesToAggregate, "span, growx");
+
+ mainPanel.add(JMeterUtils.labelFor(separator, "jms_separator"));
+ mainPanel.add(separator, "span, growx");
useProperties.addChangeListener(this);
useAuth.addChangeListener(this);
@@ -291,12 +303,4 @@ public class JMSSubscriberGui extends AbstractSamplerGui
implements ChangeListen
jmsPwd.setEnabled(useAuth.isSelected() && useAuth.isEnabled());
}
}
-
- private JPanel createDestinationPane() {
- JPanel pane = new JPanel(new BorderLayout(3, 0));
- pane.add(jmsDestination, BorderLayout.CENTER);
- destSetup.setLayout(new BoxLayout(destSetup, BoxLayout.X_AXIS));
- pane.add(destSetup, BorderLayout.EAST);
- return pane;
- }
}
diff --git a/xdocs/changes.xml b/xdocs/changes.xml
index 233b9af..77c3bdf 100644
--- a/xdocs/changes.xml
+++ b/xdocs/changes.xml
@@ -133,6 +133,7 @@ invalidated when tree selection changes.</p>
<ul>
<li><bug>64288</bug>JUnit Request: Improve UX</li>
<li><bug>64407</bug>Improve JMS Publisher UX. Contributed by Ubik Load
Pack (www.ubikloadpack.com)</li>
+ <li><bug>64408</bug>Improve JMS Subscriber UX. Contributed by Ubik Load
Pack (www.ubikloadpack.com)</li>
</ul>
<h3>Controllers</h3>