Files
IM-server-new/wildfire_jmeter/src/main/java/net/xmeter/gui/CommonConnUI.java
T

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);
}
}