| 1 | package com.jsql.view.swing.panel.preferences; | |
| 2 | ||
| 3 | import com.jsql.view.swing.action.ActionCheckIp; | |
| 4 | import com.jsql.view.swing.panel.PanelPreferences; | |
| 5 | import com.jsql.view.swing.text.JPopupTextField; | |
| 6 | import com.jsql.view.swing.text.listener.DocumentListenerEditing; | |
| 7 | import com.jsql.view.swing.util.MediatorHelper; | |
| 8 | ||
| 9 | import javax.swing.*; | |
| 10 | import javax.swing.event.DocumentListener; | |
| 11 | import java.awt.*; | |
| 12 | import java.util.stream.Stream; | |
| 13 | ||
| 14 | public class PanelProxy extends JPanel { | |
| 15 | ||
| 16 | private final JCheckBox checkboxIsUsingProxy = new JCheckBox("<html>Enable proxy for <b>HTTP</b>:</html>", MediatorHelper.model().getMediatorUtils().getProxyUtil().isUsingProxyHttp()); | |
| 17 | private final JCheckBox checkboxIsUsingProxyHttps = new JCheckBox("<html>Enable proxy for <b>HTTPS</b>:</html>", MediatorHelper.model().getMediatorUtils().getProxyUtil().isUsingProxyHttps()); | |
| 18 | ||
| 19 | private final JTextField textProxyAddress = new JPopupTextField("e.g. Tor address: 127.0.0.1", MediatorHelper.model().getMediatorUtils().getProxyUtil().getProxyAddressHttp()).getProxy(); | |
| 20 | private final JTextField textProxyPort = new JPopupTextField("e.g. Tor port: 8118", MediatorHelper.model().getMediatorUtils().getProxyUtil().getProxyPortHttp()).getProxy(); | |
| 21 | private final JTextField textProxyAddressHttps = new JPopupTextField("e.g. Tor address: 127.0.0.1", MediatorHelper.model().getMediatorUtils().getProxyUtil().getProxyAddressHttps()).getProxy(); | |
| 22 | private final JTextField textProxyPortHttps = new JPopupTextField("e.g. Tor port: 8118", MediatorHelper.model().getMediatorUtils().getProxyUtil().getProxyPortHttps()).getProxy(); | |
| 23 | ||
| 24 | public PanelProxy(PanelPreferences panelPreferences) { | |
| 25 | var panelHttpIpAddress = new JPanel(); | |
| 26 |
1
1. <init> : removed call to javax/swing/JPanel::setLayout → NO_COVERAGE |
panelHttpIpAddress.setLayout(new BoxLayout(panelHttpIpAddress, BoxLayout.X_AXIS)); |
| 27 | panelHttpIpAddress.add(new JLabel("IP ")); | |
| 28 | panelHttpIpAddress.add(this.textProxyAddress); | |
| 29 |
1
1. <init> : removed call to javax/swing/JPanel::setMaximumSize → NO_COVERAGE |
panelHttpIpAddress.setMaximumSize(new Dimension(325, this.textProxyAddress.getPreferredSize().height)); |
| 30 | ||
| 31 | var panelHttpPort = new JPanel(); | |
| 32 |
1
1. <init> : removed call to javax/swing/JPanel::setLayout → NO_COVERAGE |
panelHttpPort.setLayout(new BoxLayout(panelHttpPort, BoxLayout.X_AXIS)); |
| 33 | panelHttpPort.add(new JLabel("Port ")); | |
| 34 | panelHttpPort.add(this.textProxyPort); | |
| 35 |
1
1. <init> : removed call to javax/swing/JPanel::setMaximumSize → NO_COVERAGE |
panelHttpPort.setMaximumSize(new Dimension(325, this.textProxyPort.getPreferredSize().height)); |
| 36 |
1
1. <init> : removed call to javax/swing/JPanel::setBorder → NO_COVERAGE |
panelHttpPort.setBorder(BorderFactory.createEmptyBorder(0,0,10,0)); |
| 37 | ||
| 38 | var panelHttpsIpAddress = new JPanel(); | |
| 39 |
1
1. <init> : removed call to javax/swing/JPanel::setLayout → NO_COVERAGE |
panelHttpsIpAddress.setLayout(new BoxLayout(panelHttpsIpAddress, BoxLayout.X_AXIS)); |
| 40 | panelHttpsIpAddress.add(new JLabel("IP ")); | |
| 41 | panelHttpsIpAddress.add(this.textProxyAddressHttps); | |
| 42 |
1
1. <init> : removed call to javax/swing/JPanel::setMaximumSize → NO_COVERAGE |
panelHttpsIpAddress.setMaximumSize(new Dimension(325, this.textProxyAddressHttps.getPreferredSize().height)); |
| 43 | ||
| 44 | var panelHttpsPort = new JPanel(); | |
| 45 |
1
1. <init> : removed call to javax/swing/JPanel::setLayout → NO_COVERAGE |
panelHttpsPort.setLayout(new BoxLayout(panelHttpsPort, BoxLayout.X_AXIS)); |
| 46 | panelHttpsPort.add(new JLabel("Port ")); | |
| 47 | panelHttpsPort.add(this.textProxyPortHttps); | |
| 48 |
1
1. <init> : removed call to javax/swing/JPanel::setMaximumSize → NO_COVERAGE |
panelHttpsPort.setMaximumSize(new Dimension(325, this.textProxyPortHttps.getPreferredSize().height)); |
| 49 |
1
1. <init> : removed call to javax/swing/JPanel::setBorder → NO_COVERAGE |
panelHttpsPort.setBorder(BorderFactory.createEmptyBorder(0,0,10,0)); |
| 50 | ||
| 51 |
1
1. <init> : removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE |
this.checkboxIsUsingProxy.setToolTipText("Enable proxy for HTTP protocol"); |
| 52 |
1
1. <init> : removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE |
this.checkboxIsUsingProxyHttps.setToolTipText("Enable proxy for HTTPS protocol"); |
| 53 | ||
| 54 | Stream.of( | |
| 55 | this.checkboxIsUsingProxy, | |
| 56 | this.checkboxIsUsingProxyHttps | |
| 57 | ) | |
| 58 |
2
1. <init> : removed call to java/util/stream/Stream::forEach → NO_COVERAGE 2. lambda$new$0 : removed call to javax/swing/JCheckBox::addActionListener → NO_COVERAGE |
.forEach(button -> button.addActionListener(panelPreferences.getActionListenerSave())); |
| 59 | | |
| 60 | DocumentListener documentListenerSave = new DocumentListenerEditing() { | |
| 61 | @Override | |
| 62 | public void process() { | |
| 63 |
1
1. process : removed call to java/awt/event/ActionListener::actionPerformed → NO_COVERAGE |
panelPreferences.getActionListenerSave().actionPerformed(null); |
| 64 | } | |
| 65 | }; | |
| 66 | ||
| 67 | Stream.of( | |
| 68 | this.textProxyAddress, | |
| 69 | this.textProxyPort, | |
| 70 | this.textProxyAddressHttps, | |
| 71 | this.textProxyPortHttps | |
| 72 | ) | |
| 73 |
2
1. lambda$new$1 : removed call to javax/swing/text/Document::addDocumentListener → NO_COVERAGE 2. <init> : removed call to java/util/stream/Stream::forEach → NO_COVERAGE |
.forEach(textField -> textField.getDocument().addDocumentListener(documentListenerSave)); |
| 74 | ||
| 75 | final var buttonCheckIp = new JButton("Check your IP address"); | |
| 76 |
1
1. <init> : removed call to javax/swing/JButton::addActionListener → NO_COVERAGE |
buttonCheckIp.addActionListener(new ActionCheckIp()); |
| 77 |
1
1. <init> : removed call to javax/swing/JButton::setToolTipText → NO_COVERAGE |
buttonCheckIp.setToolTipText( |
| 78 | "<html><b>Show your public IP address</b><br>" | |
| 79 | + "Your internal IP is displayed if you don't set a proxy. If you set a proxy<br>" | |
| 80 | + "like TOR then another IP is used instead of your internal IP.</html>" | |
| 81 | ); | |
| 82 | ||
| 83 | var labelOrigin = new JLabel("<html><b>Proxy settings (e.g Burp, Tor and Privoxy)</b></html>"); | |
| 84 |
1
1. <init> : removed call to javax/swing/JLabel::setBorder → NO_COVERAGE |
labelOrigin.setBorder(PanelGeneral.MARGIN); |
| 85 | ||
| 86 | var groupLayout = new GroupLayout(this); | |
| 87 |
1
1. <init> : removed call to com/jsql/view/swing/panel/preferences/PanelProxy::setLayout → NO_COVERAGE |
this.setLayout(groupLayout); |
| 88 | | |
| 89 |
1
1. <init> : removed call to javax/swing/GroupLayout::setHorizontalGroup → NO_COVERAGE |
groupLayout.setHorizontalGroup( |
| 90 | groupLayout | |
| 91 | .createSequentialGroup() | |
| 92 | .addGroup( | |
| 93 | groupLayout | |
| 94 | .createParallelGroup(GroupLayout.Alignment.LEADING, false) | |
| 95 | .addComponent(labelOrigin) | |
| 96 | .addComponent(this.checkboxIsUsingProxy) | |
| 97 | .addComponent(panelHttpIpAddress) | |
| 98 | .addComponent(panelHttpPort) | |
| 99 | .addComponent(this.checkboxIsUsingProxyHttps) | |
| 100 | .addComponent(panelHttpsIpAddress) | |
| 101 | .addComponent(panelHttpsPort) | |
| 102 | .addComponent(buttonCheckIp) | |
| 103 | ) | |
| 104 | ); | |
| 105 | | |
| 106 |
1
1. <init> : removed call to javax/swing/GroupLayout::setVerticalGroup → NO_COVERAGE |
groupLayout.setVerticalGroup( |
| 107 | groupLayout | |
| 108 | .createSequentialGroup() | |
| 109 | .addGroup( | |
| 110 | groupLayout | |
| 111 | .createParallelGroup(GroupLayout.Alignment.BASELINE) | |
| 112 | .addComponent(labelOrigin) | |
| 113 | ) | |
| 114 | .addGroup( | |
| 115 | groupLayout | |
| 116 | .createParallelGroup(GroupLayout.Alignment.BASELINE) | |
| 117 | .addComponent(this.checkboxIsUsingProxy) | |
| 118 | ) | |
| 119 | .addGroup( | |
| 120 | groupLayout | |
| 121 | .createParallelGroup(GroupLayout.Alignment.BASELINE) | |
| 122 | .addComponent(panelHttpIpAddress) | |
| 123 | ) | |
| 124 | .addGroup( | |
| 125 | groupLayout | |
| 126 | .createParallelGroup(GroupLayout.Alignment.BASELINE) | |
| 127 | .addComponent(panelHttpPort) | |
| 128 | ) | |
| 129 | .addGroup( | |
| 130 | groupLayout | |
| 131 | .createParallelGroup(GroupLayout.Alignment.BASELINE) | |
| 132 | .addComponent(this.checkboxIsUsingProxyHttps) | |
| 133 | ) | |
| 134 | .addGroup( | |
| 135 | groupLayout | |
| 136 | .createParallelGroup(GroupLayout.Alignment.BASELINE) | |
| 137 | .addComponent(panelHttpsIpAddress) | |
| 138 | ) | |
| 139 | .addGroup( | |
| 140 | groupLayout | |
| 141 | .createParallelGroup(GroupLayout.Alignment.BASELINE) | |
| 142 | .addComponent(panelHttpsPort) | |
| 143 | ) | |
| 144 | .addGroup( | |
| 145 | groupLayout | |
| 146 | .createParallelGroup(GroupLayout.Alignment.BASELINE) | |
| 147 | .addComponent(buttonCheckIp) | |
| 148 | ) | |
| 149 | ); | |
| 150 | } | |
| 151 | | |
| 152 | | |
| 153 | // Getter and setter | |
| 154 | | |
| 155 | public JCheckBox getCheckboxIsUsingProxy() { | |
| 156 |
1
1. getCheckboxIsUsingProxy : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelProxy::getCheckboxIsUsingProxy → NO_COVERAGE |
return this.checkboxIsUsingProxy; |
| 157 | } | |
| 158 | ||
| 159 | public JTextField getTextProxyAddress() { | |
| 160 |
1
1. getTextProxyAddress : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelProxy::getTextProxyAddress → NO_COVERAGE |
return this.textProxyAddress; |
| 161 | } | |
| 162 | ||
| 163 | public JTextField getTextProxyPort() { | |
| 164 |
1
1. getTextProxyPort : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelProxy::getTextProxyPort → NO_COVERAGE |
return this.textProxyPort; |
| 165 | } | |
| 166 | ||
| 167 | public JCheckBox getCheckboxIsUsingProxyHttps() { | |
| 168 |
1
1. getCheckboxIsUsingProxyHttps : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelProxy::getCheckboxIsUsingProxyHttps → NO_COVERAGE |
return this.checkboxIsUsingProxyHttps; |
| 169 | } | |
| 170 | ||
| 171 | public JTextField getTextProxyAddressHttps() { | |
| 172 |
1
1. getTextProxyAddressHttps : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelProxy::getTextProxyAddressHttps → NO_COVERAGE |
return this.textProxyAddressHttps; |
| 173 | } | |
| 174 | ||
| 175 | public JTextField getTextProxyPortHttps() { | |
| 176 |
1
1. getTextProxyPortHttps : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelProxy::getTextProxyPortHttps → NO_COVERAGE |
return this.textProxyPortHttps; |
| 177 | } | |
| 178 | } | |
Mutations | ||
| 26 |
1.1 |
|
| 29 |
1.1 |
|
| 32 |
1.1 |
|
| 35 |
1.1 |
|
| 36 |
1.1 |
|
| 39 |
1.1 |
|
| 42 |
1.1 |
|
| 45 |
1.1 |
|
| 48 |
1.1 |
|
| 49 |
1.1 |
|
| 51 |
1.1 |
|
| 52 |
1.1 |
|
| 58 |
1.1 2.2 |
|
| 63 |
1.1 |
|
| 73 |
1.1 2.2 |
|
| 76 |
1.1 |
|
| 77 |
1.1 |
|
| 84 |
1.1 |
|
| 87 |
1.1 |
|
| 89 |
1.1 |
|
| 106 |
1.1 |
|
| 156 |
1.1 |
|
| 160 |
1.1 |
|
| 164 |
1.1 |
|
| 168 |
1.1 |
|
| 172 |
1.1 |
|
| 176 |
1.1 |