package com.blazemeter.jmeter; import kg.apc.jmeter.JMeterPluginsUtils; import org.apache.jmeter.gui.util.HorizontalPanel; import org.apache.jmeter.testelement.TestElement; import org.apache.jmeter.visualizers.SimpleDataWriter; import javax.swing.*; import java.awt.*; public class RotatingResultCollectorGui extends SimpleDataWriter { public static final String WIKIPAGE = "RotatingListener"; private JTextField maxSamplesCount; public RotatingResultCollectorGui() { super(); init(); } private void init() { setLayout(new BorderLayout(0, 5)); setBorder(makeBorder()); Container topPanel = makeTitlePanel(); add(JMeterPluginsUtils.addHelpLinkToPanel(topPanel, WIKIPAGE), BorderLayout.NORTH); add(topPanel, BorderLayout.NORTH); JPanel mainPanel = new HorizontalPanel(); mainPanel.setBorder(BorderFactory.createTitledBorder("File Rotating Rules")); mainPanel.add(new JLabel("Limit samples count in file: ", JLabel.RIGHT)); maxSamplesCount = new JTextField(20); mainPanel.add(maxSamplesCount); topPanel.add(mainPanel); } @Override public String getStaticLabel() { return JMeterPluginsUtils.prefixLabel("Rotating Simple Data Writer"); } public TestElement createTestElement() { RotatingResultCollector element = new RotatingResultCollector(); modifyTestElement(element); return element; } public void modifyTestElement(TestElement element) { super.modifyTestElement(element); if (element instanceof RotatingResultCollector) { RotatingResultCollector rotatingCollector = (RotatingResultCollector) element; rotatingCollector.setMaxSamplesCount(this.maxSamplesCount.getText()); } } @Override public void configure(TestElement element) { super.configure(element); if (element instanceof RotatingResultCollector) { maxSamplesCount.setText(((RotatingResultCollector) element).getMaxSamplesCount()); } } @Override public void clearGui() { super.clearGui(); maxSamplesCount.setText(""); } }