174 lines
5.7 KiB
Java
Executable File
174 lines
5.7 KiB
Java
Executable File
package net.xmeter.gui;
|
|
|
|
import java.awt.event.ActionEvent;
|
|
import java.awt.event.ActionListener;
|
|
|
|
|
|
import javax.swing.BorderFactory;
|
|
import javax.swing.JCheckBox;
|
|
import javax.swing.JPanel;
|
|
import javax.swing.event.ChangeEvent;
|
|
import javax.swing.event.ChangeListener;
|
|
|
|
import org.apache.jmeter.gui.util.HorizontalPanel;
|
|
import org.apache.jmeter.gui.util.VerticalPanel;
|
|
import org.apache.jorphan.gui.JLabeledTextField;
|
|
|
|
import net.xmeter.Constants;
|
|
import net.xmeter.samplers.AbstractMQTTSampler;
|
|
|
|
public class CommonConnUI implements ChangeListener, ActionListener, Constants{
|
|
private final JLabeledTextField serverAddr = new JLabeledTextField("Server name or IP:");
|
|
private final JLabeledTextField serverPort = new JLabeledTextField("Port number:", 5);
|
|
private JCheckBox connShared = new JCheckBox("Share conn in thread");
|
|
private final JLabeledTextField timeout = new JLabeledTextField("Timeout(s):", 5);
|
|
|
|
private final JLabeledTextField userNameAuth = new JLabeledTextField("User name:");
|
|
private JCheckBox userNameSuffix = new JCheckBox("Add random suffix for user name");
|
|
|
|
public final JLabeledTextField connNamePrefix = new JLabeledTextField("ClientId:", 8);
|
|
private JCheckBox connNameSuffix = new JCheckBox("Add random suffix for ClientId");
|
|
|
|
private final JLabeledTextField connKeepAlive = new JLabeledTextField("Keep alive(s):", 4);
|
|
|
|
private final JLabeledTextField connKeeptime = new JLabeledTextField("Connection keep time(s):", 4);
|
|
|
|
private final JLabeledTextField connAttmptMax = new JLabeledTextField("Connect attampt max:", 0);
|
|
private final JLabeledTextField reconnAttmptMax = new JLabeledTextField("Reconnect attampt max:", 0);
|
|
|
|
public JPanel createConnPanel() {
|
|
JPanel con = new HorizontalPanel();
|
|
|
|
JPanel connPanel = new HorizontalPanel();
|
|
connPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "MQTT connection"));
|
|
connPanel.add(serverAddr);
|
|
connPanel.add(serverPort);
|
|
connPanel.add(connShared);
|
|
|
|
JPanel timeoutPannel = new HorizontalPanel();
|
|
timeoutPannel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Timeout"));
|
|
timeoutPannel.add(timeout);
|
|
|
|
con.add(connPanel);
|
|
con.add(timeoutPannel);
|
|
return con;
|
|
}
|
|
|
|
public JPanel createConnOptions() {
|
|
JPanel optsPanelCon = new VerticalPanel();
|
|
optsPanelCon.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Connection options"));
|
|
|
|
JPanel optsPanel0 = new HorizontalPanel();
|
|
optsPanel0.add(connNamePrefix);
|
|
optsPanel0.add(connNameSuffix);
|
|
connNameSuffix.setSelected(true);
|
|
optsPanelCon.add(optsPanel0);
|
|
|
|
JPanel optsPanel1 = new HorizontalPanel();
|
|
optsPanel1.add(connKeepAlive);
|
|
optsPanel1.add(connKeeptime);
|
|
optsPanelCon.add(optsPanel1);
|
|
|
|
optsPanel1.add(connAttmptMax);
|
|
optsPanel1.add(reconnAttmptMax);
|
|
optsPanelCon.add(optsPanel1);
|
|
|
|
return optsPanelCon;
|
|
}
|
|
|
|
public JPanel createAuthentication() {
|
|
JPanel optsPanelCon = new VerticalPanel();
|
|
optsPanelCon.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "User authentication"));
|
|
|
|
JPanel optsPanel = new HorizontalPanel();
|
|
optsPanel.add(userNameAuth);
|
|
optsPanel.add(userNameSuffix);
|
|
optsPanelCon.add(optsPanel);
|
|
|
|
return optsPanelCon;
|
|
}
|
|
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
String action = e.getActionCommand();
|
|
}
|
|
|
|
@Override
|
|
public void stateChanged(ChangeEvent e) {
|
|
}
|
|
|
|
public void configure(AbstractMQTTSampler sampler) {
|
|
serverAddr.setText(sampler.getServer());
|
|
serverPort.setText(sampler.getPort());
|
|
connShared.setSelected(sampler.isConnectionShare());
|
|
if(!sampler.isConnectionShareShow()) {
|
|
connShared.setVisible(false);
|
|
}
|
|
timeout.setText(sampler.getConnTimeout());
|
|
|
|
userNameAuth.setText(sampler.getUserNameProperty());
|
|
userNameSuffix.setSelected(sampler.isUserNamePrefix());
|
|
|
|
connNamePrefix.setText(sampler.getConnPrefix());
|
|
if(sampler.isClientIdSuffix()) {
|
|
connNameSuffix.setSelected(true);
|
|
} else {
|
|
connNameSuffix.setSelected(false);
|
|
}
|
|
|
|
connKeepAlive.setText(sampler.getConnKeepAlive());
|
|
connKeeptime.setText(sampler.getConnKeepTime());
|
|
if(!sampler.isKeepTimeShow()) {
|
|
connKeeptime.setVisible(false);
|
|
}
|
|
connAttmptMax.setText(sampler.getConnAttamptMax());
|
|
reconnAttmptMax.setText(sampler.getConnReconnAttamptMax());
|
|
}
|
|
|
|
|
|
public void setupSamplerProperties(AbstractMQTTSampler sampler) {
|
|
sampler.setServer(serverAddr.getText());
|
|
sampler.setPort(serverPort.getText());
|
|
sampler.setConnectionShare(connShared.isSelected());
|
|
sampler.setConnTimeout(timeout.getText());
|
|
sampler.setConnectionShare(connShared.isSelected());
|
|
|
|
sampler.setUserNameAuth(userNameAuth.getText());
|
|
sampler.setUserNamePrefix(userNameSuffix.isSelected());
|
|
|
|
sampler.setConnPrefix(connNamePrefix.getText());
|
|
sampler.setClientIdSuffix(connNameSuffix.isSelected());
|
|
|
|
sampler.setConnKeepAlive(connKeepAlive.getText());
|
|
sampler.setConnKeepTime(connKeeptime.getText());
|
|
sampler.setConnAttamptMax(connAttmptMax.getText());
|
|
sampler.setConnReconnAttamptMax(reconnAttmptMax.getText());
|
|
}
|
|
|
|
public static int parseInt(String value) {
|
|
if(value == null || "".equals(value.trim())) {
|
|
return 0;
|
|
}
|
|
return Integer.parseInt(value);
|
|
}
|
|
|
|
public void clearUI() {
|
|
serverAddr.setText(DEFAULT_SERVER);
|
|
serverPort.setText(DEFAULT_PORT);
|
|
connShared.setSelected(DEFAULT_CONNECTION_SHARE);
|
|
timeout.setText(DEFAULT_CONN_TIME_OUT);
|
|
|
|
|
|
userNameAuth.setText("");
|
|
userNameSuffix.setSelected(true);
|
|
|
|
connNamePrefix.setText(DEFAULT_CONN_PREFIX_FOR_CONN);
|
|
connNameSuffix.setSelected(true);
|
|
|
|
connKeepAlive.setText(DEFAULT_CONN_KEEP_ALIVE);
|
|
connKeeptime.setText(DEFAULT_CONN_KEEP_TIME);
|
|
connAttmptMax.setText(DEFAULT_CONN_ATTAMPT_MAX);
|
|
reconnAttmptMax.setText(DEFAULT_CONN_RECONN_ATTAMPT_MAX);
|
|
}
|
|
}
|