PanelConnection.java

1
package com.jsql.view.swing.panel.preferences;
2
3
import com.jsql.view.swing.panel.PanelPreferences;
4
import com.jsql.view.swing.panel.preferences.listener.SpinnerMouseWheelListener;
5
import com.jsql.view.swing.text.listener.DocumentListenerEditing;
6
import com.jsql.view.swing.util.MediatorHelper;
7
8
import javax.swing.*;
9
import java.awt.*;
10
import java.awt.event.ActionListener;
11
import java.util.Arrays;
12
import java.util.stream.Stream;
13
14
public class PanelConnection extends JPanel {
15
16
    private final JCheckBox checkboxIsFollowingRedirection = new JCheckBox("Follow redirection", MediatorHelper.model().getMediatorUtils().getPreferencesUtil().isFollowingRedirection());
17
    private final JCheckBox checkboxIsHttp2Disabled = new JCheckBox("Disable HTTP/2", MediatorHelper.model().getMediatorUtils().getPreferencesUtil().isHttp2Disabled());
18
    private final JCheckBox checkboxIsNotTestingConnection = new JCheckBox("Disable connection test", MediatorHelper.model().getMediatorUtils().getPreferencesUtil().isNotTestingConnection());
19
    private final JCheckBox checkboxIsNotProcessingCookies = new JCheckBox("Disable session cookies", MediatorHelper.model().getMediatorUtils().getPreferencesUtil().isNotProcessingCookies());
20
    private final JCheckBox checkboxIsProcessingCsrf = new JCheckBox("Process CSRF token (search for XSRF-TOKEN/.../_csrf ; then set X-XSRF-TOKEN/.../_csrf)", MediatorHelper.model().getMediatorUtils().getPreferencesUtil().isProcessingCsrf());
21
    private final JCheckBox checkboxIsLimitingThreads = new JCheckBox("Limit processing threads:", MediatorHelper.model().getMediatorUtils().getPreferencesUtil().isLimitingThreads());
22
    private final JCheckBox checkboxIsConnectionTimeout = new JCheckBox("Set timeout:", MediatorHelper.model().getMediatorUtils().getPreferencesUtil().isConnectionTimeout());
23
    private final JCheckBox checkboxIsUnicodeDecodeDisabled = new JCheckBox("Disable Unicode decoding in response", MediatorHelper.model().getMediatorUtils().getPreferencesUtil().isUnicodeDecodeDisabled());
24
    private final JCheckBox checkboxIsUrlDecodeDisabled = new JCheckBox("Disable Url decoding in response", MediatorHelper.model().getMediatorUtils().getPreferencesUtil().isUrlDecodeDisabled());
25
    
26
    private final JSpinner spinnerLimitingThreads = new JSpinner();
27
    private final JSpinner spinnerConnectionTimeout = new JSpinner();
28
    
29
    private final JCheckBox checkboxIsCsrfUserTag = new JCheckBox("Custom CSRF:", MediatorHelper.model().getMediatorUtils().getPreferencesUtil().isCsrfUserTag());
30
    private final JTextField textfieldCustomCsrfInputToken = new JTextField(MediatorHelper.model().getMediatorUtils().getPreferencesUtil().csrfUserTag());
31
    private final JTextField textfieldCustomCsrfOutputToken = new JTextField(MediatorHelper.model().getMediatorUtils().getPreferencesUtil().csrfUserTagOutput());
32
    
33
    public PanelConnection(PanelPreferences panelPreferences) {
34 1 1. <init> : removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE
        this.checkboxIsFollowingRedirection.setToolTipText(
35
            "<html>HTTP 3XX response indicates page's location has changed.<br>" +
36
            "Redirect automatically to the new location.</html>"
37
        );
38 1 1. <init> : removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE
        this.checkboxIsHttp2Disabled.setToolTipText("<html>Some website works with HTTP/1.1 only.<br>Disable HTTP/2 in favor of HTTP/1.1.</html>");
39 1 1. <init> : removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE
        this.checkboxIsUnicodeDecodeDisabled.setToolTipText(
40
            "<html>Unicode entities \\uXXXX are decoded to raw characters by default.<br>" +
41
            "Check to disable this behavior.</html>"
42
        );
43 1 1. <init> : removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE
        this.checkboxIsUrlDecodeDisabled.setToolTipText(
44
            "<html>Url entities %XX are decoded to raw characters by default.<br>" +
45
            "Check to disable this behavior.</html>"
46
        );
47 1 1. <init> : removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE
        this.checkboxIsNotTestingConnection.setToolTipText(
48
            "<html>Connectivity to target is checked first to stop when target is dead, like with 404 Not Found.<br>"
49
            + "Check option to process with injection whatever problem exists.</html>"
50
        );
51 1 1. <init> : removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE
        this.checkboxIsNotProcessingCookies.setToolTipText(
52
            "<html>Cookies persist data between connections.<br>" +
53
            "Sometimes persisted data like user's session is messing with injection and have to be ignored.</html>"
54
        );
55 1 1. <init> : removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE
        this.checkboxIsLimitingThreads.setToolTipText(
56
            "<html>Various tasks are processed in parallel to save time.<br>"
57
            + "Target that detects too much calls during a period can close the connection,<br>"
58
            + "in that case it helps lowering threads or keeping a single thread.</html>"
59
        );
60 1 1. <init> : removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE
        this.checkboxIsConnectionTimeout.setToolTipText("End connection when target takes this long to answer, it can be lowered down to save time in some cases.");
61 1 1. <init> : removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE
        this.checkboxIsProcessingCsrf.setToolTipText(
62
            "<html>Search for common CSRF tokens in response header and body.<br>" +
63
            "Inject back the value in the query, header and request body.</html>"
64
        );
65
        
66
        var panelConnectionTimeout = new JPanel();
67 1 1. <init> : removed call to javax/swing/JPanel::setLayout → NO_COVERAGE
        panelConnectionTimeout.setLayout(new BoxLayout(panelConnectionTimeout, BoxLayout.X_AXIS));
68
        panelConnectionTimeout.add(new JLabel("Close connection after "));
69
        panelConnectionTimeout.add(this.spinnerConnectionTimeout);
70
        panelConnectionTimeout.add(new JLabel(" s ; default 15s"));
71 1 1. <init> : removed call to javax/swing/JPanel::setMaximumSize → NO_COVERAGE
        panelConnectionTimeout.setMaximumSize(new Dimension(125, this.spinnerConnectionTimeout.getPreferredSize().height));
72
        int countConnectionTimeout = MediatorHelper.model().getMediatorUtils().getPreferencesUtil().countConnectionTimeout();
73
        var spinnerConnectionModel = new SpinnerNumberModel(
74 2 1. <init> : negated conditional → NO_COVERAGE
2. <init> : changed conditional boundary → NO_COVERAGE
            countConnectionTimeout <= 0 ? 15 : countConnectionTimeout,
75
            1,
76
            30,
77
            1
78
        );
79 1 1. <init> : removed call to javax/swing/JSpinner::setModel → NO_COVERAGE
        this.spinnerConnectionTimeout.setModel(spinnerConnectionModel);
80 1 1. <init> : removed call to javax/swing/JSpinner::addMouseWheelListener → NO_COVERAGE
        this.spinnerConnectionTimeout.addMouseWheelListener(new SpinnerMouseWheelListener());
81 2 1. lambda$new$0 : removed call to java/awt/event/ActionListener::actionPerformed → NO_COVERAGE
2. <init> : removed call to javax/swing/JSpinner::addChangeListener → NO_COVERAGE
        this.spinnerConnectionTimeout.addChangeListener(e -> panelPreferences.getActionListenerSave().actionPerformed(null));
82
83
        var panelThreadCount = new JPanel();
84 1 1. <init> : removed call to javax/swing/JPanel::setLayout → NO_COVERAGE
        panelThreadCount.setLayout(new BoxLayout(panelThreadCount, BoxLayout.X_AXIS));
85
        panelThreadCount.add(new JLabel("Use "));
86
        panelThreadCount.add(this.spinnerLimitingThreads);
87
        panelThreadCount.add(new JLabel(" thread(s) ; default 5 threads"));
88 1 1. <init> : removed call to javax/swing/JPanel::setMaximumSize → NO_COVERAGE
        panelThreadCount.setMaximumSize(new Dimension(125, this.spinnerLimitingThreads.getPreferredSize().height));
89
        int countLimitingThreads = MediatorHelper.model().getMediatorUtils().getPreferencesUtil().countLimitingThreads();
90
        var spinnerNumberModel = new SpinnerNumberModel(
91 2 1. <init> : changed conditional boundary → NO_COVERAGE
2. <init> : negated conditional → NO_COVERAGE
            countLimitingThreads <= 0 ? 10 : countLimitingThreads,
92
            1,
93
            100,
94
            1
95
        );
96 1 1. <init> : removed call to javax/swing/JSpinner::setModel → NO_COVERAGE
        this.spinnerLimitingThreads.setModel(spinnerNumberModel);
97 1 1. <init> : removed call to javax/swing/JSpinner::addMouseWheelListener → NO_COVERAGE
        this.spinnerLimitingThreads.addMouseWheelListener(new SpinnerMouseWheelListener());
98 2 1. lambda$new$1 : removed call to java/awt/event/ActionListener::actionPerformed → NO_COVERAGE
2. <init> : removed call to javax/swing/JSpinner::addChangeListener → NO_COVERAGE
        this.spinnerLimitingThreads.addChangeListener(e -> panelPreferences.getActionListenerSave().actionPerformed(null));
99
100 1 1. <init> : removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE
        this.checkboxIsCsrfUserTag.setToolTipText(
101
            "<html>Process custom CSRF.<br>" +
102
            "Read value from input token and write value to output token.</html>"
103
        );
104
105
        var panelCsrfUserTagInput = new JPanel();
106 1 1. <init> : removed call to javax/swing/JPanel::setLayout → NO_COVERAGE
        panelCsrfUserTagInput.setLayout(new BoxLayout(panelCsrfUserTagInput, BoxLayout.X_AXIS));
107
        panelCsrfUserTagInput.add(new JLabel("Input token to find "));
108
        panelCsrfUserTagInput.add(this.textfieldCustomCsrfInputToken);
109 1 1. <init> : removed call to javax/swing/JPanel::setMaximumSize → NO_COVERAGE
        panelCsrfUserTagInput.setMaximumSize(new Dimension(450, this.textfieldCustomCsrfInputToken.getPreferredSize().height));
110
111
        var panelCsrfUserTagOutput = new JPanel();
112 1 1. <init> : removed call to javax/swing/JPanel::setLayout → NO_COVERAGE
        panelCsrfUserTagOutput.setLayout(new BoxLayout(panelCsrfUserTagOutput, BoxLayout.X_AXIS));
113
        panelCsrfUserTagOutput.add(new JLabel("Output token to write "));
114
        panelCsrfUserTagOutput.add(this.textfieldCustomCsrfOutputToken);
115 1 1. <init> : removed call to javax/swing/JPanel::setMaximumSize → NO_COVERAGE
        panelCsrfUserTagOutput.setMaximumSize(new Dimension(450, this.textfieldCustomCsrfInputToken.getPreferredSize().height));
116
117 1 1. <init> : removed call to javax/swing/text/Document::addDocumentListener → NO_COVERAGE
        this.textfieldCustomCsrfInputToken.getDocument().addDocumentListener(new DocumentListenerEditing() {
118
            @Override
119
            public void process() {
120 1 1. process : removed call to java/awt/event/ActionListener::actionPerformed → NO_COVERAGE
                panelPreferences.getActionListenerSave().actionPerformed(null);
121
            }
122
        });
123 1 1. <init> : removed call to javax/swing/text/Document::addDocumentListener → NO_COVERAGE
        this.textfieldCustomCsrfOutputToken.getDocument().addDocumentListener(new DocumentListenerEditing() {
124
            @Override
125
            public void process() {
126 1 1. process : removed call to java/awt/event/ActionListener::actionPerformed → NO_COVERAGE
                panelPreferences.getActionListenerSave().actionPerformed(null);
127
            }
128
        });
129
        
130
        ActionListener actionListenerNotProcessingCookies = actionEvent -> {
131 2 1. lambda$new$2 : removed call to javax/swing/JCheckBox::setEnabled → NO_COVERAGE
2. lambda$new$2 : negated conditional → NO_COVERAGE
            this.checkboxIsProcessingCsrf.setEnabled(!this.checkboxIsNotProcessingCookies.isSelected());
132 2 1. lambda$new$2 : removed call to javax/swing/JTextField::setEnabled → NO_COVERAGE
2. lambda$new$2 : negated conditional → NO_COVERAGE
            this.textfieldCustomCsrfInputToken.setEnabled(!this.checkboxIsNotProcessingCookies.isSelected());
133 2 1. lambda$new$2 : removed call to javax/swing/JTextField::setEnabled → NO_COVERAGE
2. lambda$new$2 : negated conditional → NO_COVERAGE
            this.textfieldCustomCsrfOutputToken.setEnabled(!this.checkboxIsNotProcessingCookies.isSelected());
134 2 1. lambda$new$2 : negated conditional → NO_COVERAGE
2. lambda$new$2 : removed call to javax/swing/JCheckBox::setEnabled → NO_COVERAGE
            this.checkboxIsCsrfUserTag.setEnabled(!this.checkboxIsNotProcessingCookies.isSelected());
135 1 1. lambda$new$2 : removed call to java/awt/event/ActionListener::actionPerformed → NO_COVERAGE
            panelPreferences.getActionListenerSave().actionPerformed(null);
136
        };
137 1 1. <init> : removed call to javax/swing/JCheckBox::addActionListener → NO_COVERAGE
        this.checkboxIsNotProcessingCookies.addActionListener(actionListenerNotProcessingCookies);
138
        
139 2 1. <init> : removed call to javax/swing/JTextField::setEnabled → NO_COVERAGE
2. <init> : negated conditional → NO_COVERAGE
        this.textfieldCustomCsrfInputToken.setEnabled(!this.checkboxIsNotProcessingCookies.isSelected());
140 2 1. <init> : removed call to javax/swing/JTextField::setEnabled → NO_COVERAGE
2. <init> : negated conditional → NO_COVERAGE
        this.textfieldCustomCsrfOutputToken.setEnabled(!this.checkboxIsNotProcessingCookies.isSelected());
141 2 1. <init> : removed call to javax/swing/JCheckBox::setEnabled → NO_COVERAGE
2. <init> : negated conditional → NO_COVERAGE
        this.checkboxIsProcessingCsrf.setEnabled(!this.checkboxIsNotProcessingCookies.isSelected());
142 2 1. <init> : negated conditional → NO_COVERAGE
2. <init> : removed call to javax/swing/JCheckBox::setEnabled → NO_COVERAGE
        this.checkboxIsCsrfUserTag.setEnabled(!this.checkboxIsNotProcessingCookies.isSelected());
143
144
        Stream.of(
145
            this.checkboxIsFollowingRedirection,
146
            this.checkboxIsHttp2Disabled,
147
            this.checkboxIsUnicodeDecodeDisabled,
148
            this.checkboxIsUrlDecodeDisabled,
149
            this.checkboxIsNotTestingConnection,
150
            this.checkboxIsProcessingCsrf,
151
            this.checkboxIsCsrfUserTag,
152
            this.checkboxIsNotProcessingCookies,
153
            this.checkboxIsLimitingThreads,
154
            this.checkboxIsConnectionTimeout
155
        )
156 2 1. <init> : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
2. lambda$new$3 : removed call to javax/swing/JCheckBox::addActionListener → NO_COVERAGE
        .forEach(button -> button.addActionListener(panelPreferences.getActionListenerSave()));
157
        
158 1 1. <init> : removed call to javax/swing/JCheckBox::setName → NO_COVERAGE
        this.checkboxIsFollowingRedirection.setName("checkboxIsFollowingRedirection");
159 1 1. <init> : removed call to javax/swing/JCheckBox::setName → NO_COVERAGE
        this.checkboxIsHttp2Disabled.setName("checkboxIsHttp2Disabled");
160 1 1. <init> : removed call to javax/swing/JCheckBox::setName → NO_COVERAGE
        this.checkboxIsUnicodeDecodeDisabled.setName("checkboxIsUnicodeDecodeDisabled");
161 1 1. <init> : removed call to javax/swing/JCheckBox::setName → NO_COVERAGE
        this.checkboxIsUrlDecodeDisabled.setName("checkboxIsUrlDecodeDisabled");
162 1 1. <init> : removed call to javax/swing/JCheckBox::setName → NO_COVERAGE
        this.checkboxIsNotTestingConnection.setName("checkboxIsNotTestingConnection");
163 1 1. <init> : removed call to javax/swing/JCheckBox::setName → NO_COVERAGE
        this.checkboxIsProcessingCsrf.setName("checkboxIsProcessingCsrf");
164 1 1. <init> : removed call to javax/swing/JCheckBox::setName → NO_COVERAGE
        this.checkboxIsCsrfUserTag.setName("checkboxIsCsrfUserTag");
165 1 1. <init> : removed call to javax/swing/JCheckBox::setName → NO_COVERAGE
        this.checkboxIsNotProcessingCookies.setName("checkboxIsNotProcessingCookies");
166 1 1. <init> : removed call to javax/swing/JCheckBox::setName → NO_COVERAGE
        this.checkboxIsLimitingThreads.setName("checkboxIsLimitingThreads");
167 1 1. <init> : removed call to javax/swing/JCheckBox::setName → NO_COVERAGE
        this.checkboxIsConnectionTimeout.setName("checkboxIsConnectionTimeout");
168
169
        var labelOrigin = new JLabel("<html><b>Network settings</b></html>");
170
        var labelSessionManagement = new JLabel("<html><br /><b>Session and Cookie management</b></html>");
171
        Arrays.asList(labelOrigin, labelSessionManagement)
172 2 1. lambda$new$4 : removed call to javax/swing/JLabel::setBorder → NO_COVERAGE
2. <init> : removed call to java/util/List::forEach → NO_COVERAGE
        .forEach(label -> label.setBorder(PanelGeneral.MARGIN));
173
174
        var groupLayout = new GroupLayout(this);
175 1 1. <init> : removed call to com/jsql/view/swing/panel/preferences/PanelConnection::setLayout → NO_COVERAGE
        this.setLayout(groupLayout);
176
177 1 1. <init> : removed call to javax/swing/GroupLayout::setHorizontalGroup → NO_COVERAGE
        groupLayout.setHorizontalGroup(
178
            groupLayout
179
            .createSequentialGroup()
180
            .addGroup(
181
                groupLayout
182
                .createParallelGroup(GroupLayout.Alignment.LEADING, false)
183
                .addComponent(labelOrigin)
184
                .addComponent(this.checkboxIsFollowingRedirection)
185
                .addComponent(this.checkboxIsHttp2Disabled)
186
                .addComponent(this.checkboxIsUnicodeDecodeDisabled)
187
                .addComponent(this.checkboxIsUrlDecodeDisabled)
188
                .addComponent(this.checkboxIsNotTestingConnection)
189
                .addComponent(this.checkboxIsLimitingThreads)
190
                .addComponent(panelThreadCount)
191
                .addComponent(this.checkboxIsConnectionTimeout)
192
                .addComponent(panelConnectionTimeout)
193
                .addComponent(labelSessionManagement)
194
                .addComponent(this.checkboxIsNotProcessingCookies)
195
                .addComponent(this.checkboxIsProcessingCsrf)
196
                .addComponent(this.checkboxIsCsrfUserTag)
197
                .addComponent(panelCsrfUserTagInput)
198
                .addComponent(panelCsrfUserTagOutput)
199
            )
200
        );
201
202 1 1. <init> : removed call to javax/swing/GroupLayout::setVerticalGroup → NO_COVERAGE
        groupLayout.setVerticalGroup(
203
            groupLayout
204
            .createSequentialGroup()
205
            .addGroup(
206
                groupLayout
207
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
208
                .addComponent(labelOrigin)
209
            )
210
            .addGroup(
211
                groupLayout
212
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
213
                .addComponent(this.checkboxIsFollowingRedirection)
214
            )
215
            .addGroup(
216
                groupLayout
217
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
218
                .addComponent(this.checkboxIsHttp2Disabled)
219
            )
220
            .addGroup(
221
                groupLayout
222
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
223
                .addComponent(this.checkboxIsUnicodeDecodeDisabled)
224
            )
225
            .addGroup(
226
                groupLayout
227
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
228
                .addComponent(this.checkboxIsUrlDecodeDisabled)
229
            )
230
            .addGroup(
231
                groupLayout
232
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
233
                .addComponent(this.checkboxIsNotTestingConnection)
234
            )
235
            .addGroup(
236
                groupLayout
237
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
238
                .addComponent(this.checkboxIsLimitingThreads)
239
            )
240
            .addGroup(
241
                groupLayout
242
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
243
                .addComponent(panelThreadCount)
244
            )
245
            .addGroup(
246
                groupLayout
247
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
248
                .addComponent(this.checkboxIsConnectionTimeout)
249
            )
250
            .addGroup(
251
                groupLayout
252
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
253
                .addComponent(panelConnectionTimeout)
254
            )
255
256
            .addGroup(
257
                groupLayout
258
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
259
                .addComponent(labelSessionManagement)
260
            )
261
            .addGroup(
262
                groupLayout
263
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
264
                .addComponent(this.checkboxIsNotProcessingCookies)
265
            )
266
            .addGroup(
267
                groupLayout
268
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
269
                .addComponent(this.checkboxIsProcessingCsrf)
270
            )
271
            .addGroup(
272
                groupLayout
273
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
274
                .addComponent(this.checkboxIsCsrfUserTag)
275
            )
276
            .addGroup(
277
                groupLayout
278
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
279
                .addComponent(panelCsrfUserTagInput)
280
            )
281
            .addGroup(
282
                groupLayout
283
                .createParallelGroup(GroupLayout.Alignment.BASELINE)
284
                .addComponent(panelCsrfUserTagOutput)
285
            )
286
        );
287
    }
288
289
    
290
    // Getter and setter
291
    
292
    public JCheckBox getCheckboxIsFollowingRedirection() {
293 1 1. getCheckboxIsFollowingRedirection : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsFollowingRedirection → NO_COVERAGE
        return this.checkboxIsFollowingRedirection;
294
    }
295
    
296
    public JCheckBox getCheckboxIsHttp2Disabled() {
297 1 1. getCheckboxIsHttp2Disabled : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsHttp2Disabled → NO_COVERAGE
        return this.checkboxIsHttp2Disabled;
298
    }
299
    
300
    public JCheckBox getCheckboxIsUnicodeDecodeDisabled() {
301 1 1. getCheckboxIsUnicodeDecodeDisabled : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsUnicodeDecodeDisabled → NO_COVERAGE
        return this.checkboxIsUnicodeDecodeDisabled;
302
    }
303
    
304
    public JCheckBox getCheckboxIsUrlDecodeDisabled() {
305 1 1. getCheckboxIsUrlDecodeDisabled : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsUrlDecodeDisabled → NO_COVERAGE
        return this.checkboxIsUrlDecodeDisabled;
306
    }
307
    
308
    public JCheckBox getCheckboxIsNotTestingConnection() {
309 1 1. getCheckboxIsNotTestingConnection : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsNotTestingConnection → NO_COVERAGE
        return this.checkboxIsNotTestingConnection;
310
    }
311
    
312
    public JCheckBox getCheckboxIsNotProcessingCookies() {
313 1 1. getCheckboxIsNotProcessingCookies : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsNotProcessingCookies → NO_COVERAGE
        return this.checkboxIsNotProcessingCookies;
314
    }
315
    
316
    public JCheckBox getCheckboxIsProcessingCsrf() {
317 1 1. getCheckboxIsProcessingCsrf : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsProcessingCsrf → NO_COVERAGE
        return this.checkboxIsProcessingCsrf;
318
    }
319
    
320
    public JCheckBox getCheckboxIsLimitingThreads() {
321 1 1. getCheckboxIsLimitingThreads : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsLimitingThreads → NO_COVERAGE
        return this.checkboxIsLimitingThreads;
322
    }
323
    
324
    public JSpinner getSpinnerLimitingThreads() {
325 1 1. getSpinnerLimitingThreads : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getSpinnerLimitingThreads → NO_COVERAGE
        return this.spinnerLimitingThreads;
326
    }
327
    
328
    public JCheckBox getCheckboxIsConnectionTimeout() {
329 1 1. getCheckboxIsConnectionTimeout : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsConnectionTimeout → NO_COVERAGE
        return this.checkboxIsConnectionTimeout;
330
    }
331
    
332
    public JSpinner getSpinnerConnectionTimeout() {
333 1 1. getSpinnerConnectionTimeout : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getSpinnerConnectionTimeout → NO_COVERAGE
        return this.spinnerConnectionTimeout;
334
    }
335
    
336
    public JCheckBox getCheckboxIsCsrfUserTag() {
337 1 1. getCheckboxIsCsrfUserTag : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsCsrfUserTag → NO_COVERAGE
        return this.checkboxIsCsrfUserTag;
338
    }
339
    
340
    public JTextField getTextfieldCsrfUserTag() {
341 1 1. getTextfieldCsrfUserTag : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getTextfieldCsrfUserTag → NO_COVERAGE
        return this.textfieldCustomCsrfInputToken;
342
    }
343
    
344
    public JTextField getTextfieldCsrfUserTagOutput() {
345 1 1. getTextfieldCsrfUserTagOutput : replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getTextfieldCsrfUserTagOutput → NO_COVERAGE
        return this.textfieldCustomCsrfOutputToken;
346
    }
347
}

Mutations

34

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE

38

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE

39

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE

43

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE

47

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE

51

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE

55

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE

60

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE

61

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE

67

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JPanel::setLayout → NO_COVERAGE

71

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JPanel::setMaximumSize → NO_COVERAGE

74

1.1
Location : <init>
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : <init>
Killed by : none
changed conditional boundary → NO_COVERAGE

79

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JSpinner::setModel → NO_COVERAGE

80

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JSpinner::addMouseWheelListener → NO_COVERAGE

81

1.1
Location : lambda$new$0
Killed by : none
removed call to java/awt/event/ActionListener::actionPerformed → NO_COVERAGE

2.2
Location : <init>
Killed by : none
removed call to javax/swing/JSpinner::addChangeListener → NO_COVERAGE

84

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JPanel::setLayout → NO_COVERAGE

88

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JPanel::setMaximumSize → NO_COVERAGE

91

1.1
Location : <init>
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : <init>
Killed by : none
negated conditional → NO_COVERAGE

96

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JSpinner::setModel → NO_COVERAGE

97

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JSpinner::addMouseWheelListener → NO_COVERAGE

98

1.1
Location : lambda$new$1
Killed by : none
removed call to java/awt/event/ActionListener::actionPerformed → NO_COVERAGE

2.2
Location : <init>
Killed by : none
removed call to javax/swing/JSpinner::addChangeListener → NO_COVERAGE

100

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE

106

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JPanel::setLayout → NO_COVERAGE

109

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JPanel::setMaximumSize → NO_COVERAGE

112

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JPanel::setLayout → NO_COVERAGE

115

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JPanel::setMaximumSize → NO_COVERAGE

117

1.1
Location : <init>
Killed by : none
removed call to javax/swing/text/Document::addDocumentListener → NO_COVERAGE

120

1.1
Location : process
Killed by : none
removed call to java/awt/event/ActionListener::actionPerformed → NO_COVERAGE

123

1.1
Location : <init>
Killed by : none
removed call to javax/swing/text/Document::addDocumentListener → NO_COVERAGE

126

1.1
Location : process
Killed by : none
removed call to java/awt/event/ActionListener::actionPerformed → NO_COVERAGE

131

1.1
Location : lambda$new$2
Killed by : none
removed call to javax/swing/JCheckBox::setEnabled → NO_COVERAGE

2.2
Location : lambda$new$2
Killed by : none
negated conditional → NO_COVERAGE

132

1.1
Location : lambda$new$2
Killed by : none
removed call to javax/swing/JTextField::setEnabled → NO_COVERAGE

2.2
Location : lambda$new$2
Killed by : none
negated conditional → NO_COVERAGE

133

1.1
Location : lambda$new$2
Killed by : none
removed call to javax/swing/JTextField::setEnabled → NO_COVERAGE

2.2
Location : lambda$new$2
Killed by : none
negated conditional → NO_COVERAGE

134

1.1
Location : lambda$new$2
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : lambda$new$2
Killed by : none
removed call to javax/swing/JCheckBox::setEnabled → NO_COVERAGE

135

1.1
Location : lambda$new$2
Killed by : none
removed call to java/awt/event/ActionListener::actionPerformed → NO_COVERAGE

137

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::addActionListener → NO_COVERAGE

139

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JTextField::setEnabled → NO_COVERAGE

2.2
Location : <init>
Killed by : none
negated conditional → NO_COVERAGE

140

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JTextField::setEnabled → NO_COVERAGE

2.2
Location : <init>
Killed by : none
negated conditional → NO_COVERAGE

141

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setEnabled → NO_COVERAGE

2.2
Location : <init>
Killed by : none
negated conditional → NO_COVERAGE

142

1.1
Location : <init>
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setEnabled → NO_COVERAGE

156

1.1
Location : <init>
Killed by : none
removed call to java/util/stream/Stream::forEach → NO_COVERAGE

2.2
Location : lambda$new$3
Killed by : none
removed call to javax/swing/JCheckBox::addActionListener → NO_COVERAGE

158

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setName → NO_COVERAGE

159

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setName → NO_COVERAGE

160

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setName → NO_COVERAGE

161

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setName → NO_COVERAGE

162

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setName → NO_COVERAGE

163

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setName → NO_COVERAGE

164

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setName → NO_COVERAGE

165

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setName → NO_COVERAGE

166

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setName → NO_COVERAGE

167

1.1
Location : <init>
Killed by : none
removed call to javax/swing/JCheckBox::setName → NO_COVERAGE

172

1.1
Location : lambda$new$4
Killed by : none
removed call to javax/swing/JLabel::setBorder → NO_COVERAGE

2.2
Location : <init>
Killed by : none
removed call to java/util/List::forEach → NO_COVERAGE

175

1.1
Location : <init>
Killed by : none
removed call to com/jsql/view/swing/panel/preferences/PanelConnection::setLayout → NO_COVERAGE

177

1.1
Location : <init>
Killed by : none
removed call to javax/swing/GroupLayout::setHorizontalGroup → NO_COVERAGE

202

1.1
Location : <init>
Killed by : none
removed call to javax/swing/GroupLayout::setVerticalGroup → NO_COVERAGE

293

1.1
Location : getCheckboxIsFollowingRedirection
Killed by : none
replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsFollowingRedirection → NO_COVERAGE

297

1.1
Location : getCheckboxIsHttp2Disabled
Killed by : none
replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsHttp2Disabled → NO_COVERAGE

301

1.1
Location : getCheckboxIsUnicodeDecodeDisabled
Killed by : none
replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsUnicodeDecodeDisabled → NO_COVERAGE

305

1.1
Location : getCheckboxIsUrlDecodeDisabled
Killed by : none
replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsUrlDecodeDisabled → NO_COVERAGE

309

1.1
Location : getCheckboxIsNotTestingConnection
Killed by : none
replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsNotTestingConnection → NO_COVERAGE

313

1.1
Location : getCheckboxIsNotProcessingCookies
Killed by : none
replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsNotProcessingCookies → NO_COVERAGE

317

1.1
Location : getCheckboxIsProcessingCsrf
Killed by : none
replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsProcessingCsrf → NO_COVERAGE

321

1.1
Location : getCheckboxIsLimitingThreads
Killed by : none
replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsLimitingThreads → NO_COVERAGE

325

1.1
Location : getSpinnerLimitingThreads
Killed by : none
replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getSpinnerLimitingThreads → NO_COVERAGE

329

1.1
Location : getCheckboxIsConnectionTimeout
Killed by : none
replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsConnectionTimeout → NO_COVERAGE

333

1.1
Location : getSpinnerConnectionTimeout
Killed by : none
replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getSpinnerConnectionTimeout → NO_COVERAGE

337

1.1
Location : getCheckboxIsCsrfUserTag
Killed by : none
replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getCheckboxIsCsrfUserTag → NO_COVERAGE

341

1.1
Location : getTextfieldCsrfUserTag
Killed by : none
replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getTextfieldCsrfUserTag → NO_COVERAGE

345

1.1
Location : getTextfieldCsrfUserTagOutput
Killed by : none
replaced return value with null for com/jsql/view/swing/panel/preferences/PanelConnection::getTextfieldCsrfUserTagOutput → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.19.1