ManagerBruteForce.java

1
/*******************************************************************************
2
 * Copyhacked (H) 2012-2025.
3
 * This program and the accompanying materials
4
 * are made available under no term at all, use it like
5
 * you want, but share and discuss it
6
 * every time possible with every body.
7
 *
8
 * Contributors:
9
 *      ron190 at ymail dot com - initial implementation
10
 ******************************************************************************/
11
package com.jsql.view.swing.manager;
12
13
import com.jsql.util.I18nUtil;
14
import com.jsql.util.LogLevelUtil;
15
import com.jsql.util.bruter.ActionCoder;
16
import com.jsql.view.swing.manager.util.ActionBruteForce;
17
import com.jsql.view.swing.manager.util.JButtonStateful;
18
import com.jsql.view.swing.manager.util.ModelBrute;
19
import com.jsql.view.swing.manager.util.ModelSpinner;
20
import com.jsql.view.swing.panel.preferences.listener.SpinnerMouseWheelListener;
21
import com.jsql.view.swing.text.*;
22
import com.jsql.view.swing.util.I18nViewUtil;
23
import org.apache.commons.lang3.StringUtils;
24
import org.apache.logging.log4j.LogManager;
25
import org.apache.logging.log4j.Logger;
26
27
import javax.swing.*;
28
import java.awt.*;
29
import java.util.Arrays;
30
import java.util.concurrent.atomic.AtomicReference;
31
32
/**
33
 * Manager to brute force a hash of various types.
34
 */
35
public class ManagerBruteForce extends JPanel {
36
37
    private static final Logger LOGGER = LogManager.getRootLogger();
38
39
    public static final String BRUTEFORCE_RUN_BUTTON_TOOLTIP = "BRUTEFORCE_RUN_BUTTON_TOOLTIP";
40
    public static final String BRUTEFORCE_HASH_TOOLTIP = "BRUTEFORCE_HASH_TOOLTIP";
41
    public static final String BRUTEFORCE_EXCLUDE_TOOLTIP = "BRUTEFORCE_EXCLUDE_TOOLTIP";
42
43
    private JButtonStateful run;
44
    private JTextField hash;
45
    private JComboBox<String> hashTypes;
46
    private final AtomicReference<JCheckBox> lowerCaseCharacters = new AtomicReference<>();
47
    private final AtomicReference<JCheckBox> upperCaseCharacters = new AtomicReference<>();
48
    private final AtomicReference<JCheckBox> numericCharacters = new AtomicReference<>();
49
    private final AtomicReference<JCheckBox> specialCharacters = new AtomicReference<>();
50
    private JTextField exclude;
51
    private final AtomicReference<JSpinner> minimumLength = new AtomicReference<>();
52
    private final AtomicReference<JSpinner> maximumLength = new AtomicReference<>();
53
    private final JTextPane result;
54
    
55
    /**
56
     * Animated GIF displayed during attack.
57
     */
58
    private JProgressBar progressBar;
59
    private final Component horizontalGlue = Box.createHorizontalGlue();
60
61
    /**
62
     * Create a panel to run brute force attack.
63
     */
64
    public ManagerBruteForce() {
65
        super(new BorderLayout());
66
67
        JPanel panelOptions = this.initOptionsPanel();
68 1 1. <init> : removed call to com/jsql/view/swing/manager/ManagerBruteForce::add → NO_COVERAGE
        this.add(panelOptions, BorderLayout.NORTH);
69
70
        var placeholder = new JTextPanePlaceholder(I18nUtil.valueByKey("BRUTEFORCE_RESULT"));
71
        this.result = new JPopupTextPane(placeholder).getProxy();
72 1 1. <init> : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("BRUTEFORCE_RESULT", placeholder);
73 1 1. <init> : removed call to javax/swing/JTextPane::setName → NO_COVERAGE
        this.result.setName("managerBruterResult");
74 1 1. <init> : removed call to javax/swing/JTextPane::setEditable → NO_COVERAGE
        this.result.setEditable(false);
75 1 1. <init> : removed call to com/jsql/view/swing/manager/ManagerBruteForce::add → NO_COVERAGE
        this.add(new JScrollPane(this.result), BorderLayout.CENTER);
76
77
        JPanel panelButton = this.initPanelButton();
78 1 1. <init> : removed call to com/jsql/view/swing/manager/ManagerBruteForce::add → NO_COVERAGE
        this.add(panelButton, BorderLayout.SOUTH);
79
    }
80
81
    private JPanel initPanelButton() {
82
        var lastLine = new JPanel();
83 1 1. initPanelButton : removed call to javax/swing/JPanel::setLayout → NO_COVERAGE
        lastLine.setLayout(new BoxLayout(lastLine, BoxLayout.X_AXIS));
84
85
        var tooltip = new AtomicReference<>(new JToolTipI18n(I18nUtil.valueByKey(ManagerBruteForce.BRUTEFORCE_RUN_BUTTON_TOOLTIP)));
86
        this.run = new JButtonStateful("BRUTEFORCE_RUN_BUTTON_LABEL") {
87
            @Override
88
            public JToolTip createToolTip() {
89 1 1. createToolTip : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce$1::createToolTip → NO_COVERAGE
                return tooltip.get();
90
            }
91
        };
92 1 1. initPanelButton : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("BRUTEFORCE_RUN_BUTTON_LABEL", this.run);
93 1 1. initPanelButton : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey(ManagerBruteForce.BRUTEFORCE_RUN_BUTTON_TOOLTIP, tooltip.get());
94 1 1. initPanelButton : removed call to com/jsql/view/swing/manager/util/JButtonStateful::setToolTipText → NO_COVERAGE
        this.run.setToolTipText(I18nUtil.valueByKey(ManagerBruteForce.BRUTEFORCE_RUN_BUTTON_TOOLTIP));
95
96 1 1. initPanelButton : removed call to com/jsql/view/swing/manager/util/JButtonStateful::setName → NO_COVERAGE
        this.run.setName("managerBruterRun");
97 1 1. initPanelButton : removed call to com/jsql/view/swing/manager/util/JButtonStateful::addActionListener → NO_COVERAGE
        this.run.addActionListener(new ActionBruteForce(this));
98
99
        this.progressBar = new JProgressBar();
100 1 1. initPanelButton : removed call to javax/swing/JProgressBar::setIndeterminate → NO_COVERAGE
        this.progressBar.setIndeterminate(true);
101 1 1. initPanelButton : removed call to javax/swing/JProgressBar::setVisible → NO_COVERAGE
        this.progressBar.setVisible(false);
102 1 1. initPanelButton : removed call to javax/swing/JProgressBar::setBorder → NO_COVERAGE
        this.progressBar.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5));
103
104
        lastLine.add(this.horizontalGlue);
105
        lastLine.add(this.progressBar);
106
        lastLine.add(this.run);
107 1 1. initPanelButton : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::initPanelButton → NO_COVERAGE
        return lastLine;
108
    }
109
110
    public void showLoader(boolean isVisible) {
111 1 1. showLoader : removed call to javax/swing/JProgressBar::setVisible → NO_COVERAGE
        this.progressBar.setVisible(isVisible);
112 2 1. showLoader : removed call to java/awt/Component::setVisible → NO_COVERAGE
2. showLoader : negated conditional → NO_COVERAGE
        this.horizontalGlue.setVisible(!isVisible);
113
    }
114
115
    private JPanel initOptionsPanel() {
116
        var options = new JPanel(new BorderLayout());
117
        JPanel firstLine = this.initFirstLine();
118
        final JPanel secondLine = this.initSecondLine();
119
        JPanel thirdLine = this.initThirdLine();
120
        
121
        final var secondAndThirdLine = new JPanel(new BorderLayout());
122 1 1. initOptionsPanel : removed call to javax/swing/JPanel::add → NO_COVERAGE
        secondAndThirdLine.add(secondLine, BorderLayout.NORTH);
123 1 1. initOptionsPanel : removed call to javax/swing/JPanel::add → NO_COVERAGE
        secondAndThirdLine.add(thirdLine, BorderLayout.SOUTH);
124
125 1 1. initOptionsPanel : removed call to javax/swing/JPanel::add → NO_COVERAGE
        options.add(firstLine, BorderLayout.NORTH);
126 1 1. initOptionsPanel : removed call to javax/swing/JPanel::add → NO_COVERAGE
        options.add(secondAndThirdLine, BorderLayout.SOUTH);
127 1 1. initOptionsPanel : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::initOptionsPanel → NO_COVERAGE
        return options;
128
    }
129
130
    private JPanel initFirstLine() {
131
        var tooltip = new AtomicReference<>(new JToolTipI18n(I18nUtil.valueByKey(ManagerBruteForce.BRUTEFORCE_HASH_TOOLTIP)));
132
        var placeholder = new JTextFieldPlaceholder(I18nUtil.valueByKey("BRUTEFORCE_HASH_LABEL")) {
133
            @Override
134
            public JToolTip createToolTip() {
135 1 1. createToolTip : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce$2::createToolTip → NO_COVERAGE
                return tooltip.get();
136
            }
137
        };
138
        this.hash = new JPopupTextField(placeholder).getProxy();
139 1 1. initFirstLine : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey(ManagerBruteForce.BRUTEFORCE_HASH_TOOLTIP, tooltip.get());
140 1 1. initFirstLine : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("BRUTEFORCE_HASH_LABEL", this.hash);
141 1 1. initFirstLine : removed call to javax/swing/JTextField::setName → NO_COVERAGE
        this.hash.setName("managerBruterHash");
142 1 1. initFirstLine : removed call to javax/swing/JTextField::setToolTipText → NO_COVERAGE
        this.hash.setToolTipText(I18nUtil.valueByKey(ManagerBruteForce.BRUTEFORCE_HASH_TOOLTIP));
143
144
        var firstLine = new JPanel(new BorderLayout());
145 1 1. initFirstLine : removed call to javax/swing/JPanel::add → NO_COVERAGE
        firstLine.add(this.hash, BorderLayout.CENTER);
146 1 1. initFirstLine : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::initFirstLine → NO_COVERAGE
        return firstLine;
147
    }
148
149
    private JPanel initSecondLine() {
150
        final var secondLine = new JPanel();
151 1 1. initSecondLine : removed call to javax/swing/JPanel::setLayout → NO_COVERAGE
        secondLine.setLayout(new BoxLayout(secondLine, BoxLayout.X_AXIS));
152
153 1 1. lambda$initSecondLine$0 : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::lambda$initSecondLine$0 → NO_COVERAGE
        this.hashTypes = new JComboBox<>(ActionCoder.getHashes().toArray(String[]::new));
154 1 1. initSecondLine : removed call to javax/swing/JComboBox::setSelectedIndex → NO_COVERAGE
        this.hashTypes.setSelectedIndex(6);
155 1 1. initSecondLine : removed call to javax/swing/JComboBox::setToolTipText → NO_COVERAGE
        this.hashTypes.setToolTipText(I18nUtil.valueByKey("BRUTEFORCE_HASH_TYPE_TOOLTIP"));
156 1 1. initSecondLine : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("BRUTEFORCE_HASH_TYPE_TOOLTIP", this.hashTypes);
157
        secondLine.add(this.hashTypes);
158
159
        Arrays.asList(
160
            new ModelBrute(this.lowerCaseCharacters, "a-z", "BRUTEFORCE_LCASE_TOOLTIP"),
161
            new ModelBrute(this.upperCaseCharacters, "A-Z", "BRUTEFORCE_UCASE_TOOLTIP"),
162
            new ModelBrute(this.numericCharacters, "0-9", "BRUTEFORCE_NUM_TOOLTIP"),
163
            new ModelBrute(this.specialCharacters, "Special", "BRUTEFORCE_SPEC_TOOLTIP")
164 1 1. initSecondLine : removed call to java/util/List::forEach → NO_COVERAGE
        ).forEach(modelBrute -> {
165
            var tooltip = new AtomicReference<>(new JToolTipI18n(I18nUtil.valueByKey(modelBrute.i18nTooltip)));
166 1 1. lambda$initSecondLine$1 : removed call to java/util/concurrent/atomic/AtomicReference::set → NO_COVERAGE
            modelBrute.checkbox.set(new JCheckBox(modelBrute.text, true) {
167
                @Override
168
                public JToolTip createToolTip() {
169 1 1. createToolTip : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce$3::createToolTip → NO_COVERAGE
                    return tooltip.get();
170
                }
171
            });
172 1 1. lambda$initSecondLine$1 : removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE
            modelBrute.checkbox.get().setToolTipText(I18nUtil.valueByKey(modelBrute.i18nTooltip));
173 1 1. lambda$initSecondLine$1 : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
            I18nViewUtil.addComponentForKey(modelBrute.i18nTooltip, tooltip.get());
174
            secondLine.add(Box.createHorizontalStrut(5));
175
            secondLine.add(modelBrute.checkbox.get());
176
        });
177
178 1 1. initSecondLine : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::initSecondLine → NO_COVERAGE
        return secondLine;
179
    }
180
181
    private JPanel initThirdLine() {
182
        var thirdLine = new JPanel();
183 1 1. initThirdLine : removed call to javax/swing/JPanel::setLayout → NO_COVERAGE
        thirdLine.setLayout(new BoxLayout(thirdLine, BoxLayout.X_AXIS));
184
185
        final var tooltip = new AtomicReference<>(new JToolTipI18n(I18nUtil.valueByKey(ManagerBruteForce.BRUTEFORCE_EXCLUDE_TOOLTIP)));
186
        var placeholderTooltip = new JTextFieldPlaceholder(I18nUtil.valueByKey("BRUTEFORCE_EXCLUDE_LABEL")) {
187
            @Override
188
            public JToolTip createToolTip() {
189 1 1. createToolTip : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce$4::createToolTip → NO_COVERAGE
                return tooltip.get();
190
            }
191
        };
192
        this.exclude = new JPopupTextField(placeholderTooltip).getProxy();
193 1 1. initThirdLine : removed call to javax/swing/JTextField::setToolTipText → NO_COVERAGE
        this.exclude.setToolTipText(I18nUtil.valueByKey(ManagerBruteForce.BRUTEFORCE_EXCLUDE_TOOLTIP));
194 1 1. initThirdLine : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("BRUTEFORCE_EXCLUDE_LABEL", this.exclude);
195 1 1. initThirdLine : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey(ManagerBruteForce.BRUTEFORCE_EXCLUDE_TOOLTIP, tooltip.get());
196
        thirdLine.add(this.exclude);
197
198
        Arrays.asList(
199
            new ModelSpinner(1, this.minimumLength, "BRUTEFORCE_MIN_TOOLTIP"),
200
            new ModelSpinner(5, this.maximumLength, "BRUTEFORCE_MAX_TOOLTIP")
201 1 1. initThirdLine : removed call to java/util/List::forEach → NO_COVERAGE
        ).forEach(model -> {
202
            final var tooltipMax = new AtomicReference<>(new JToolTipI18n(I18nUtil.valueByKey(model.i18n)));
203
            try {  // Fixes #96099: NullPointerException on new JSpinner
204 1 1. lambda$initThirdLine$2 : removed call to java/util/concurrent/atomic/AtomicReference::set → NO_COVERAGE
                model.spinner.set(new JSpinner() {
205
                    @Override
206
                    public JToolTip createToolTip() {
207 1 1. createToolTip : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce$5::createToolTip → NO_COVERAGE
                        return tooltipMax.get();
208
                    }
209
                });
210
            } catch (NullPointerException e) {
211
                LOGGER.log(LogLevelUtil.CONSOLE_JAVA, "Spinner creation failed, restart or check your jre", e);
212
            }
213 1 1. lambda$initThirdLine$2 : removed call to javax/swing/JSpinner::setModel → NO_COVERAGE
            model.spinner.get().setModel(new SpinnerNumberModel(model.value, 1, 10000, 1));
214 1 1. lambda$initThirdLine$2 : removed call to javax/swing/JSpinner::addMouseWheelListener → NO_COVERAGE
            model.spinner.get().addMouseWheelListener(new SpinnerMouseWheelListener());
215 1 1. lambda$initThirdLine$2 : removed call to javax/swing/JSpinner::setToolTipText → NO_COVERAGE
            model.spinner.get().setToolTipText(I18nUtil.valueByKey(model.i18n));
216 1 1. lambda$initThirdLine$2 : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
            I18nViewUtil.addComponentForKey(model.i18n, tooltipMax.get());
217 1 1. lambda$initThirdLine$2 : removed call to javax/swing/JSpinner::setPreferredSize → NO_COVERAGE
            model.spinner.get().setPreferredSize(new Dimension(
218 1 1. lambda$initThirdLine$2 : Replaced double division with multiplication → NO_COVERAGE
                (int) (model.spinner.get().getPreferredSize().width/1.8),
219
                model.spinner.get().getPreferredSize().height
220
            ));
221
        });
222
223
        var labelMin = new JLabel(StringUtils.SPACE + I18nUtil.valueByKey("BRUTEFORCE_MIN_LABEL"), SwingConstants.RIGHT);
224 1 1. initThirdLine : removed call to javax/swing/JLabel::setMaximumSize → NO_COVERAGE
        labelMin.setMaximumSize(new Dimension(labelMin.getPreferredSize().width, labelMin.getPreferredSize().height));
225
        thirdLine.add(Box.createHorizontalStrut(5));
226
        thirdLine.add(labelMin);
227 1 1. initThirdLine : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("BRUTEFORCE_MIN_LABEL", labelMin);
228
        thirdLine.add(this.minimumLength.get());
229
230
        var labelMax = new JLabel(StringUtils.SPACE + I18nUtil.valueByKey("BRUTEFORCE_MAX_LABEL"), SwingConstants.RIGHT);
231 1 1. initThirdLine : removed call to javax/swing/JLabel::setMaximumSize → NO_COVERAGE
        labelMax.setMaximumSize(new Dimension(labelMax.getPreferredSize().width, labelMax.getPreferredSize().height));
232
        thirdLine.add(Box.createHorizontalStrut(5));
233
        thirdLine.add(labelMax);
234 1 1. initThirdLine : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("BRUTEFORCE_MAX_LABEL", labelMax);
235
        thirdLine.add(this.maximumLength.get());
236 1 1. initThirdLine : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::initThirdLine → NO_COVERAGE
        return thirdLine;
237
    }
238
239
    
240
    // Getter and setter
241
242
    public JButtonStateful getRun() {
243 1 1. getRun : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getRun → NO_COVERAGE
        return this.run;
244
    }
245
246
    public JTextField getHash() {
247 1 1. getHash : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getHash → NO_COVERAGE
        return this.hash;
248
    }
249
250
    public JComboBox<String> getHashTypes() {
251 1 1. getHashTypes : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getHashTypes → NO_COVERAGE
        return this.hashTypes;
252
    }
253
254
    public JCheckBox getLowerCaseCharacters() {
255 1 1. getLowerCaseCharacters : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getLowerCaseCharacters → NO_COVERAGE
        return this.lowerCaseCharacters.get();
256
    }
257
258
    public JCheckBox getUpperCaseCharacters() {
259 1 1. getUpperCaseCharacters : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getUpperCaseCharacters → NO_COVERAGE
        return this.upperCaseCharacters.get();
260
    }
261
262
    public JCheckBox getNumericCharacters() {
263 1 1. getNumericCharacters : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getNumericCharacters → NO_COVERAGE
        return this.numericCharacters.get();
264
    }
265
266
    public JCheckBox getSpecialCharacters() {
267 1 1. getSpecialCharacters : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getSpecialCharacters → NO_COVERAGE
        return this.specialCharacters.get();
268
    }
269
270
    public JTextField getExclude() {
271 1 1. getExclude : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getExclude → NO_COVERAGE
        return this.exclude;
272
    }
273
274
    public JSpinner getMinimumLength() {
275 1 1. getMinimumLength : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getMinimumLength → NO_COVERAGE
        return this.minimumLength.get();
276
    }
277
278
    public JSpinner getMaximumLength() {
279 1 1. getMaximumLength : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getMaximumLength → NO_COVERAGE
        return this.maximumLength.get();
280
    }
281
282
    public JTextPane getResult() {
283 1 1. getResult : replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getResult → NO_COVERAGE
        return this.result;
284
    }
285
}

Mutations

68

1.1
Location : <init>
Killed by : none
removed call to com/jsql/view/swing/manager/ManagerBruteForce::add → NO_COVERAGE

72

1.1
Location : <init>
Killed by : none
removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE

73

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

74

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

75

1.1
Location : <init>
Killed by : none
removed call to com/jsql/view/swing/manager/ManagerBruteForce::add → NO_COVERAGE

78

1.1
Location : <init>
Killed by : none
removed call to com/jsql/view/swing/manager/ManagerBruteForce::add → NO_COVERAGE

83

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

89

1.1
Location : createToolTip
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce$1::createToolTip → NO_COVERAGE

92

1.1
Location : initPanelButton
Killed by : none
removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE

93

1.1
Location : initPanelButton
Killed by : none
removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE

94

1.1
Location : initPanelButton
Killed by : none
removed call to com/jsql/view/swing/manager/util/JButtonStateful::setToolTipText → NO_COVERAGE

96

1.1
Location : initPanelButton
Killed by : none
removed call to com/jsql/view/swing/manager/util/JButtonStateful::setName → NO_COVERAGE

97

1.1
Location : initPanelButton
Killed by : none
removed call to com/jsql/view/swing/manager/util/JButtonStateful::addActionListener → NO_COVERAGE

100

1.1
Location : initPanelButton
Killed by : none
removed call to javax/swing/JProgressBar::setIndeterminate → NO_COVERAGE

101

1.1
Location : initPanelButton
Killed by : none
removed call to javax/swing/JProgressBar::setVisible → NO_COVERAGE

102

1.1
Location : initPanelButton
Killed by : none
removed call to javax/swing/JProgressBar::setBorder → NO_COVERAGE

107

1.1
Location : initPanelButton
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::initPanelButton → NO_COVERAGE

111

1.1
Location : showLoader
Killed by : none
removed call to javax/swing/JProgressBar::setVisible → NO_COVERAGE

112

1.1
Location : showLoader
Killed by : none
removed call to java/awt/Component::setVisible → NO_COVERAGE

2.2
Location : showLoader
Killed by : none
negated conditional → NO_COVERAGE

122

1.1
Location : initOptionsPanel
Killed by : none
removed call to javax/swing/JPanel::add → NO_COVERAGE

123

1.1
Location : initOptionsPanel
Killed by : none
removed call to javax/swing/JPanel::add → NO_COVERAGE

125

1.1
Location : initOptionsPanel
Killed by : none
removed call to javax/swing/JPanel::add → NO_COVERAGE

126

1.1
Location : initOptionsPanel
Killed by : none
removed call to javax/swing/JPanel::add → NO_COVERAGE

127

1.1
Location : initOptionsPanel
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::initOptionsPanel → NO_COVERAGE

135

1.1
Location : createToolTip
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce$2::createToolTip → NO_COVERAGE

139

1.1
Location : initFirstLine
Killed by : none
removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE

140

1.1
Location : initFirstLine
Killed by : none
removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE

141

1.1
Location : initFirstLine
Killed by : none
removed call to javax/swing/JTextField::setName → NO_COVERAGE

142

1.1
Location : initFirstLine
Killed by : none
removed call to javax/swing/JTextField::setToolTipText → NO_COVERAGE

145

1.1
Location : initFirstLine
Killed by : none
removed call to javax/swing/JPanel::add → NO_COVERAGE

146

1.1
Location : initFirstLine
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::initFirstLine → NO_COVERAGE

151

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

153

1.1
Location : lambda$initSecondLine$0
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::lambda$initSecondLine$0 → NO_COVERAGE

154

1.1
Location : initSecondLine
Killed by : none
removed call to javax/swing/JComboBox::setSelectedIndex → NO_COVERAGE

155

1.1
Location : initSecondLine
Killed by : none
removed call to javax/swing/JComboBox::setToolTipText → NO_COVERAGE

156

1.1
Location : initSecondLine
Killed by : none
removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE

164

1.1
Location : initSecondLine
Killed by : none
removed call to java/util/List::forEach → NO_COVERAGE

166

1.1
Location : lambda$initSecondLine$1
Killed by : none
removed call to java/util/concurrent/atomic/AtomicReference::set → NO_COVERAGE

169

1.1
Location : createToolTip
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce$3::createToolTip → NO_COVERAGE

172

1.1
Location : lambda$initSecondLine$1
Killed by : none
removed call to javax/swing/JCheckBox::setToolTipText → NO_COVERAGE

173

1.1
Location : lambda$initSecondLine$1
Killed by : none
removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE

178

1.1
Location : initSecondLine
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::initSecondLine → NO_COVERAGE

183

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

189

1.1
Location : createToolTip
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce$4::createToolTip → NO_COVERAGE

193

1.1
Location : initThirdLine
Killed by : none
removed call to javax/swing/JTextField::setToolTipText → NO_COVERAGE

194

1.1
Location : initThirdLine
Killed by : none
removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE

195

1.1
Location : initThirdLine
Killed by : none
removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE

201

1.1
Location : initThirdLine
Killed by : none
removed call to java/util/List::forEach → NO_COVERAGE

204

1.1
Location : lambda$initThirdLine$2
Killed by : none
removed call to java/util/concurrent/atomic/AtomicReference::set → NO_COVERAGE

207

1.1
Location : createToolTip
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce$5::createToolTip → NO_COVERAGE

213

1.1
Location : lambda$initThirdLine$2
Killed by : none
removed call to javax/swing/JSpinner::setModel → NO_COVERAGE

214

1.1
Location : lambda$initThirdLine$2
Killed by : none
removed call to javax/swing/JSpinner::addMouseWheelListener → NO_COVERAGE

215

1.1
Location : lambda$initThirdLine$2
Killed by : none
removed call to javax/swing/JSpinner::setToolTipText → NO_COVERAGE

216

1.1
Location : lambda$initThirdLine$2
Killed by : none
removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE

217

1.1
Location : lambda$initThirdLine$2
Killed by : none
removed call to javax/swing/JSpinner::setPreferredSize → NO_COVERAGE

218

1.1
Location : lambda$initThirdLine$2
Killed by : none
Replaced double division with multiplication → NO_COVERAGE

224

1.1
Location : initThirdLine
Killed by : none
removed call to javax/swing/JLabel::setMaximumSize → NO_COVERAGE

227

1.1
Location : initThirdLine
Killed by : none
removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE

231

1.1
Location : initThirdLine
Killed by : none
removed call to javax/swing/JLabel::setMaximumSize → NO_COVERAGE

234

1.1
Location : initThirdLine
Killed by : none
removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE

236

1.1
Location : initThirdLine
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::initThirdLine → NO_COVERAGE

243

1.1
Location : getRun
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getRun → NO_COVERAGE

247

1.1
Location : getHash
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getHash → NO_COVERAGE

251

1.1
Location : getHashTypes
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getHashTypes → NO_COVERAGE

255

1.1
Location : getLowerCaseCharacters
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getLowerCaseCharacters → NO_COVERAGE

259

1.1
Location : getUpperCaseCharacters
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getUpperCaseCharacters → NO_COVERAGE

263

1.1
Location : getNumericCharacters
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getNumericCharacters → NO_COVERAGE

267

1.1
Location : getSpecialCharacters
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getSpecialCharacters → NO_COVERAGE

271

1.1
Location : getExclude
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getExclude → NO_COVERAGE

275

1.1
Location : getMinimumLength
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getMinimumLength → NO_COVERAGE

279

1.1
Location : getMaximumLength
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getMaximumLength → NO_COVERAGE

283

1.1
Location : getResult
Killed by : none
replaced return value with null for com/jsql/view/swing/manager/ManagerBruteForce::getResult → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.19.1