Coverage Report - kg.apc.jmeter.config.DistributedTestControlGui
 
Classes in this File Line Coverage Branch Coverage Complexity
DistributedTestControlGui
0%
0/43
0%
0/2
1.1
 
 1  
 package kg.apc.jmeter.config;
 2  
 
 3  
 import kg.apc.jmeter.JMeterPluginsUtils;
 4  
 import org.apache.jmeter.config.gui.AbstractConfigGui;
 5  
 import org.apache.jmeter.testelement.TestElement;
 6  
 import org.apache.jmeter.util.JMeterUtils;
 7  
 import org.apache.jorphan.logging.LoggingManager;
 8  
 import org.apache.log.Logger;
 9  
 
 10  
 import javax.swing.*;
 11  
 import java.awt.*;
 12  
 import java.util.ArrayList;
 13  
 import java.util.Arrays;
 14  
 import java.util.Collection;
 15  
 
 16  
 public class DistributedTestControlGui extends AbstractConfigGui {
 17  
 
 18  
     public static final String WIKIPAGE = "DistributedTestControl";
 19  0
     public static Logger log = LoggingManager.getLoggerForClass();
 20  
     private ServersListPanel serversPanel;
 21  
 
 22  
     public DistributedTestControlGui() {
 23  0
         super();
 24  0
         init();
 25  0
         initFields();
 26  0
     }
 27  
 
 28  
     //do not insert this vizualiser in any JMeter menu
 29  
     @Override
 30  
     public Collection<String> getMenuCategories() {
 31  0
         return new ArrayList<String>();
 32  
     }
 33  
 
 34  
     @Override
 35  
     public String getStaticLabel() {
 36  0
         return JMeterPluginsUtils.prefixLabel("Distributed Test Control");
 37  
     }
 38  
 
 39  
     @Override
 40  
     public String getLabelResource() {
 41  0
         return getClass().getCanonicalName();
 42  
     }
 43  
 
 44  
     @Override
 45  
     public void configure(TestElement te) {
 46  0
         super.configure(te);
 47  
         // fill controls
 48  0
         serversPanel.loadFromTestElement((DistributedTestControl) te);
 49  0
     }
 50  
 
 51  
     @Override
 52  
     public TestElement createTestElement() {
 53  0
         String srv_list = JMeterUtils.getPropDefault(DistributedTestControl.PROP_HOSTS, "127.0.0.1");
 54  0
         ArrayList<String> data = new ArrayList<String>(Arrays.asList(srv_list.split(",")));
 55  
 
 56  0
         for (String srv_name : data) {
 57  0
             serversPanel.add(srv_name);
 58  0
         }
 59  
 
 60  0
         DistributedTestControl control = new DistributedTestControl();
 61  0
         control.setData(data);
 62  0
         modifyTestElement(control);
 63  0
         return control;
 64  
     }
 65  
 
 66  
     @Override
 67  
     public void modifyTestElement(TestElement te) {
 68  0
         configureTestElement(te);
 69  
         // fill props
 70  0
         serversPanel.saveToTestElement((DistributedTestControl) te);
 71  0
     }
 72  
 
 73  
     @Override
 74  
     public void clearGui() {
 75  0
         super.clearGui();
 76  0
         initFields();
 77  0
     }
 78  
 
 79  
     private void init() {
 80  0
         setLayout(new BorderLayout(0, 5));
 81  0
         setBorder(makeBorder());
 82  0
         add(JMeterPluginsUtils.addHelpLinkToPanel(makeTitlePanel(), WIKIPAGE), BorderLayout.NORTH);
 83  
 
 84  0
         serversPanel = new ServersListPanel();
 85  
 
 86  0
         JPanel buttonPanel = new JPanel();
 87  0
         JButton btnAdd = new JButton("Add Slave Server");
 88  0
         btnAdd.addActionListener(new AddRemoteServerAction(serversPanel));
 89  0
         buttonPanel.add(btnAdd);
 90  0
         JButton btnStatus = new JButton("Get Status for All");
 91  
         //btnAdd.addActionListener(new AddRemoteServerAction(serversPanel));
 92  0
         buttonPanel.add(btnStatus);
 93  
 
 94  0
         JPanel container = new JPanel(new BorderLayout());
 95  0
         container.add(buttonPanel, BorderLayout.NORTH);
 96  0
         container.add(serversPanel, BorderLayout.CENTER);
 97  0
         add(container, BorderLayout.CENTER);
 98  0
     }
 99  
 
 100  
     private void initFields() {
 101  0
         serversPanel.clear();
 102  0
     }
 103  
 }