package com.blazemeter.jmeter.xmpp.actions;
import com.blazemeter.jmeter.xmpp.JMeterXMPPSampler;
import org.apache.jmeter.samplers.SampleResult;
import org.jivesoftware.smack.packet.Packet;
import javax.swing.*;
import java.awt.*;
public class RawXML extends AbstractXMPPAction {
public static final java.lang.String XML = "xml";
private JTextArea msgBody;
@Override
public String getLabel() {
return "Send Raw XML";
}
@Override
public SampleResult perform(final JMeterXMPPSampler sampler, SampleResult res) throws Exception {
final String xml = sampler.getPropertyAsString(XML);
res.setSamplerData(xml);
sampler.getXMPPConnection().sendPacket(new Packet() {
@Override
public CharSequence toXML() {
return xml;
}
});
return res;
}
@Override
public void addUI(JComponent panel, GridBagConstraints labelConstraints, GridBagConstraints editConstraints) {
addToPanel(panel, labelConstraints, 0, 2, new JLabel("XML to Send: ", JLabel.RIGHT));
addToPanel(panel, editConstraints, 1, 2, msgBody = new JTextArea(5, 20));
}
@Override
public void clearGui() {
msgBody.setText("");
}
@Override
public void setSamplerProperties(JMeterXMPPSampler sampler) {
sampler.setProperty(XML, msgBody.getText());
}
@Override
public void setGuiFieldsFromSampler(JMeterXMPPSampler sampler) {
msgBody.setText(sampler.getPropertyAsString(XML));
}
}