SqlEngine.java

1
package com.jsql.view.swing.sql;
2
3
import com.jsql.model.injection.engine.model.Engine;
4
import com.jsql.model.injection.engine.model.yaml.Method;
5
import com.jsql.model.injection.engine.model.yaml.ModelYaml;
6
import com.jsql.util.I18nUtil;
7
import com.jsql.view.swing.tab.TabbedPaneWheeled;
8
import com.jsql.view.swing.text.listener.DocumentListenerEditing;
9
import com.jsql.view.swing.util.I18nViewUtil;
10
import com.jsql.view.swing.util.MediatorHelper;
11
import com.jsql.view.swing.util.UiUtil;
12
import org.apache.commons.lang3.StringUtils;
13
import org.fife.ui.rsyntaxtextarea.RSyntaxDocument;
14
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
15
import org.fife.ui.rtextarea.RTextScrollPane;
16
17
import javax.swing.*;
18
import java.awt.*;
19
import java.awt.event.MouseAdapter;
20
import java.awt.event.MouseEvent;
21
import java.util.AbstractMap.SimpleEntry;
22
import java.util.ArrayList;
23
import java.util.Arrays;
24
import java.util.LinkedList;
25
import java.util.List;
26
import java.util.stream.Stream;
27
28
public class SqlEngine extends JPanel {
29
30
    private static ModelYaml modelYaml = MediatorHelper.model().getMediatorEngine().getEngine().instance().getModelYaml();
31
    private static final JTabbedPane TABS_ERROR = new TabbedPaneWheeled(SwingConstants.RIGHT);
32
    private static final List<JSyntaxTextArea> LIST_TEXTAREAS_ERROR = new ArrayList<>();
33
    
34
    enum TextareaWithColor {
35
        
36
        // Default
37
        DATABASE_DEFAULT(new JSyntaxTextArea(
38 1 1. lambda$static$0 : removed call to com/jsql/model/injection/engine/model/yaml/Schema::setDatabase → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getSchema().setDatabase(v),
39 1 1. lambda$static$1 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$1 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getSchema().getDatabase()
40
        )),
41
        TABLE_DEFAULT(new JSyntaxTextArea(
42 1 1. lambda$static$2 : removed call to com/jsql/model/injection/engine/model/yaml/Schema::setTable → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getSchema().setTable(v),
43 1 1. lambda$static$3 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$3 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getSchema().getTable()
44
        )),
45
        COLUMN_DEFAULT(new JSyntaxTextArea(
46 1 1. lambda$static$4 : removed call to com/jsql/model/injection/engine/model/yaml/Schema::setColumn → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getSchema().setColumn(v),
47 1 1. lambda$static$5 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$5 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getSchema().getColumn()
48
        )),
49
        QUERY_DEFAULT(new JSyntaxTextArea(
50 1 1. lambda$static$6 : removed call to com/jsql/model/injection/engine/model/yaml/Row::setQuery → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getSchema().getRow().setQuery(v),
51 1 1. lambda$static$7 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$7 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getSchema().getRow().getQuery()
52
        )),
53
        FIELD_DEFAULT(new JSyntaxTextArea(
54 1 1. lambda$static$8 : removed call to com/jsql/model/injection/engine/model/yaml/Fields::setField → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getSchema().getRow().getFields().setField(v),
55 1 1. lambda$static$9 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$9 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getSchema().getRow().getFields().getField()
56
        )),
57
        CONCAT_DEFAULT(new JSyntaxTextArea(
58 1 1. lambda$static$10 : removed call to com/jsql/model/injection/engine/model/yaml/Fields::setConcat → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getSchema().getRow().getFields().setConcat(v),
59 1 1. lambda$static$11 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$11 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getSchema().getRow().getFields().getConcat()
60
        )),
61
        
62
        // Zip
63
        DATABASE_ZIP(new JSyntaxTextArea(
64 1 1. lambda$static$12 : removed call to com/jsql/model/injection/engine/model/yaml/Schema::setDatabase → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getZip().setDatabase(v),
65 1 1. lambda$static$13 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$13 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getZip().getDatabase()
66
        )),
67
        TABLE_ZIP(new JSyntaxTextArea(
68 1 1. lambda$static$14 : removed call to com/jsql/model/injection/engine/model/yaml/Schema::setTable → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getZip().setTable(v),
69 1 1. lambda$static$15 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$15 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getZip().getTable()
70
        )),
71
        COLUMN_ZIP(new JSyntaxTextArea(
72 1 1. lambda$static$16 : removed call to com/jsql/model/injection/engine/model/yaml/Schema::setColumn → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getZip().setColumn(v),
73 1 1. lambda$static$17 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$17 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getZip().getColumn()
74
        )),
75
        QUERY_ZIP(new JSyntaxTextArea(
76 1 1. lambda$static$18 : removed call to com/jsql/model/injection/engine/model/yaml/Row::setQuery → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getZip().getRow().setQuery(v),
77 1 1. lambda$static$19 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$19 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getZip().getRow().getQuery()
78
        )),
79
        FIELD_ZIP(new JSyntaxTextArea(
80 1 1. lambda$static$20 : removed call to com/jsql/model/injection/engine/model/yaml/Fields::setField → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getZip().getRow().getFields().setField(v),
81 1 1. lambda$static$21 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$21 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getZip().getRow().getFields().getField()
82
        )),
83
        CONCAT_ZIP(new JSyntaxTextArea(
84 1 1. lambda$static$22 : removed call to com/jsql/model/injection/engine/model/yaml/Fields::setConcat → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getZip().getRow().getFields().setConcat(v),
85 1 1. lambda$static$23 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$23 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getZip().getRow().getFields().getConcat()
86
        )),
87
        
88
        // Dios
89
        DATABASE_DIOS(new JSyntaxTextArea(
90 1 1. lambda$static$24 : removed call to com/jsql/model/injection/engine/model/yaml/Schema::setDatabase → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getDios().setDatabase(v),
91 1 1. lambda$static$25 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$25 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getDios().getDatabase()
92
        )),
93
        TABLE_DIOS(new JSyntaxTextArea(
94 1 1. lambda$static$26 : removed call to com/jsql/model/injection/engine/model/yaml/Schema::setTable → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getDios().setTable(v),
95 1 1. lambda$static$27 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$27 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getDios().getTable()
96
        )),
97
        COLUMN_DIOS(new JSyntaxTextArea(
98 1 1. lambda$static$28 : removed call to com/jsql/model/injection/engine/model/yaml/Schema::setColumn → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getDios().setColumn(v),
99 1 1. lambda$static$29 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$29 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getDios().getColumn()
100
        )),
101
        QUERY_DIOS(new JSyntaxTextArea(
102 1 1. lambda$static$30 : removed call to com/jsql/model/injection/engine/model/yaml/Row::setQuery → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getDios().getRow().setQuery(v),
103 1 1. lambda$static$31 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$31 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getDios().getRow().getQuery()
104
        )),
105
        FIELD_DIOS(new JSyntaxTextArea(
106 1 1. lambda$static$32 : removed call to com/jsql/model/injection/engine/model/yaml/Fields::setField → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getDios().getRow().getFields().setField(v),
107 1 1. lambda$static$33 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$33 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getDios().getRow().getFields().getField()
108
        )),
109
        CONCAT_DIOS(new JSyntaxTextArea(
110 1 1. lambda$static$34 : removed call to com/jsql/model/injection/engine/model/yaml/Fields::setConcat → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().getDios().getRow().getFields().setConcat(v),
111 1 1. lambda$static$35 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$35 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getDios().getRow().getFields().getConcat()
112
        )),
113
        
114
        INFO(new JSyntaxTextArea(
115 1 1. lambda$static$36 : removed call to com/jsql/model/injection/engine/model/yaml/Resource::setInfo → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().setInfo(v),
116 1 1. lambda$static$37 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$37 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getInfo()
117
        )),
118
119
        // Configuration
120
        SLIDING_WINDOW(new JSyntaxTextArea(
121 1 1. lambda$static$38 : removed call to com/jsql/model/injection/engine/model/yaml/Configuration::setSlidingWindow → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getConfiguration().setSlidingWindow(v),
122 1 1. lambda$static$39 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$39 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getConfiguration().getSlidingWindow()
123
        )),
124
        LIMIT(new JSyntaxTextArea(
125 1 1. lambda$static$40 : removed call to com/jsql/model/injection/engine/model/yaml/Configuration::setLimit → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getConfiguration().setLimit(v),
126 1 1. lambda$static$41 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$41 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getConfiguration().getLimit()
127
        )),
128
        FAILSAFE(new JSyntaxTextArea(
129 1 1. lambda$static$42 : removed call to com/jsql/model/injection/engine/model/yaml/Configuration::setFailsafe → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getConfiguration().setFailsafe(v),
130 1 1. lambda$static$43 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$43 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getConfiguration().getFailsafe()
131
        )),
132
        CALIBRATOR(new JSyntaxTextArea(
133 1 1. lambda$static$44 : removed call to com/jsql/model/injection/engine/model/yaml/Configuration::setCalibrator → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getConfiguration().setCalibrator(v),
134 1 1. lambda$static$45 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$45 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getConfiguration().getCalibrator()
135
        )),
136
        ENDING_COMMENT(new JSyntaxTextArea(
137 1 1. lambda$static$46 : removed call to com/jsql/model/injection/engine/model/yaml/Configuration::setEndingComment → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getConfiguration().setEndingComment(v),
138 1 1. lambda$static$47 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$47 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getConfiguration().getEndingComment()
139
        )),
140
        LIMIT_BOUNDARY(new JSyntaxTextArea(
141 1 1. lambda$static$48 : removed call to com/jsql/model/injection/engine/model/yaml/Configuration::setLimitBoundary → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getConfiguration().setLimitBoundary(v),
142 1 1. lambda$static$49 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$49 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getConfiguration().getLimitBoundary()
143
        )),
144
        
145
        // Union
146
        INDICES(new JSyntaxTextArea(
147 1 1. lambda$static$50 : removed call to com/jsql/model/injection/engine/model/yaml/Union::setIndices → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getUnion().setIndices(v),
148 1 1. lambda$static$51 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$51 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getUnion().getIndices()
149
        )),
150
        CAPACITY(new JSyntaxTextArea(
151 1 1. lambda$static$52 : removed call to com/jsql/model/injection/engine/model/yaml/Union::setCapacity → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getUnion().setCapacity(v),
152 1 1. lambda$static$53 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$53 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getUnion().getCapacity()
153
        )),
154
155
        STACK(new JSyntaxTextArea(
156 1 1. lambda$static$54 : removed call to com/jsql/model/injection/engine/model/yaml/Strategy::setStack → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().setStack(v),
157 1 1. lambda$static$55 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$55 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getStack()
158
        )),
159
        DNS(new JSyntaxTextArea(
160 1 1. lambda$static$56 : removed call to com/jsql/model/injection/engine/model/yaml/Strategy::setDns → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().setDns(v),
161 1 1. lambda$static$57 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$57 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getDns()
162
        )),
163
164
        // Boolean
165
        MODE_AND(new JSyntaxTextArea(
166 1 1. lambda$static$58 : removed call to com/jsql/model/injection/engine/model/yaml/Binary::setModeAnd → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getBinary().setModeAnd(v),
167 1 1. lambda$static$59 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$59 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getBinary().getModeAnd()
168
        )),
169
        MODE_OR(new JSyntaxTextArea(
170 1 1. lambda$static$60 : removed call to com/jsql/model/injection/engine/model/yaml/Binary::setModeOr → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getBinary().setModeOr(v),
171 1 1. lambda$static$61 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$61 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getBinary().getModeOr()
172
        )),
173
        MODE_STACK(new JSyntaxTextArea(
174 1 1. lambda$static$62 : removed call to com/jsql/model/injection/engine/model/yaml/Binary::setModeStack → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getBinary().setModeStack(v),
175 1 1. lambda$static$63 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$63 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getBinary().getModeStack()
176
        )),
177
        BLIND(new JSyntaxTextArea(
178 1 1. lambda$static$64 : removed call to com/jsql/model/injection/engine/model/yaml/Binary::setBlind → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getBinary().setBlind(v),
179 1 1. lambda$static$65 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$65 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getBinary().getBlind()
180
        )),
181
        TIME(new JSyntaxTextArea(
182 1 1. lambda$static$66 : removed call to com/jsql/model/injection/engine/model/yaml/Binary::setTime → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getBinary().setTime(v),
183 1 1. lambda$static$67 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$67 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getBinary().getTime()
184
        )),
185
        MULTIBIT(new JSyntaxTextArea(
186 1 1. lambda$static$68 : removed call to com/jsql/model/injection/engine/model/yaml/Binary::setMultibit → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getBinary().setMultibit(v),
187 1 1. lambda$static$69 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$69 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getBinary().getMultibit()
188
        )),
189
        TEST_BIT(new JSyntaxTextArea(
190 1 1. lambda$static$70 : removed call to com/jsql/model/injection/engine/model/yaml/Test::setBit → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getBinary().getTest().setBit(v),
191 1 1. lambda$static$71 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$71 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getBinary().getTest().getBit()
192
        )),
193
        TEST_BIN(new JSyntaxTextArea(
194 1 1. lambda$static$72 : removed call to com/jsql/model/injection/engine/model/yaml/Test::setBin → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getBinary().getTest().setBin(v),
195 1 1. lambda$static$73 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$73 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getBinary().getTest().getBin()
196
        )),
197
        TRUTHY_BIN(new JSyntaxTextArea(
198 1 1. lambda$static$74 : removed call to com/jsql/model/injection/engine/model/yaml/Test::setTruthyBin → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getBinary().getTest().setTruthyBin(v),
199 1 1. lambda$static$75 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$75 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getBinary().getTest().getTruthyBinAsString()
200
        )),
201
        FALSY_BIN(new JSyntaxTextArea(
202 1 1. lambda$static$76 : removed call to com/jsql/model/injection/engine/model/yaml/Test::setFalsyBin → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getBinary().getTest().setFalsyBin(v),
203 1 1. lambda$static$77 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$77 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getBinary().getTest().getFalsyBinAsString()
204
        )),
205
206
207
        // Exploit
208
        EXPLOIT(new JSyntaxTextArea(
209 1 1. lambda$static$78 : removed call to com/jsql/model/injection/engine/model/yaml/Resource::setExploit → NO_COVERAGE
            v -> SqlEngine.modelYaml.getResource().setExploit(v),
210 1 1. lambda$static$79 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$79 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getResource().getExploit()
211
        )),
212
213
        // Fingerprint
214
        TRUTHY(new JSyntaxTextArea(
215 1 1. lambda$static$80 : removed call to com/jsql/model/injection/engine/model/yaml/Test::setTruthyBit → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getBinary().getTest().setTruthyBit(v),
216 1 1. lambda$static$81 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$81 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getBinary().getTest().getTruthyBitAsString()
217
        )),
218
        FALSY(new JSyntaxTextArea(
219 1 1. lambda$static$82 : removed call to com/jsql/model/injection/engine/model/yaml/Test::setFalsyBit → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getBinary().getTest().setFalsyBit(v),
220 1 1. lambda$static$83 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$83 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getBinary().getTest().getFalsyBitAsString()
221
        )),
222
        INCORRECT_STRING_ERROR_MESSAGE(new JSyntaxTextArea(
223 1 1. lambda$static$84 : removed call to com/jsql/model/injection/engine/model/yaml/Fingerprint::setErrorMessageAsString → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getConfiguration().getFingerprint().setErrorMessageAsString(v),
224 1 1. lambda$static$85 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$85 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getConfiguration().getFingerprint().getErrorMessageAsString()
225
        )),
226
        ORDER_BY_ERROR_MESSAGE(new JSyntaxTextArea(
227 1 1. lambda$static$86 : removed call to com/jsql/model/injection/engine/model/yaml/Fingerprint::setOrderByErrorMessage → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getConfiguration().getFingerprint().setOrderByErrorMessage(v),
228 1 1. lambda$static$87 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$87 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getConfiguration().getFingerprint().getOrderByErrorMessage()
229
        )),
230
        ORDER_BY(new JSyntaxTextArea(
231 1 1. lambda$static$88 : removed call to com/jsql/model/injection/engine/model/yaml/Union::setOrderBy → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getUnion().setOrderBy(v),
232 1 1. lambda$static$89 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$89 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getUnion().getOrderBy()
233
        )),
234
        ENGINE_SPECIFIC(new JSyntaxTextArea(
235 1 1. lambda$static$90 : removed call to com/jsql/model/injection/engine/model/yaml/Fingerprint::setEngineSpecific → NO_COVERAGE
            v -> SqlEngine.modelYaml.getStrategy().getConfiguration().getFingerprint().setEngineSpecific(v),
236 1 1. lambda$static$91 : replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$91 → NO_COVERAGE
            () -> SqlEngine.modelYaml.getStrategy().getConfiguration().getFingerprint().getEngineSpecific()
237
        )),
238
        ;
239
        
240
        final JSyntaxTextArea textarea;
241
242
        public JSyntaxTextArea getTextArea() {
243 1 1. getTextArea : replaced return value with null for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::getTextArea → NO_COVERAGE
            return this.textarea;
244
        }
245
246
        TextareaWithColor(JSyntaxTextArea textarea) {
247
            this.textarea = textarea;
248
        }
249
    }
250
    
251
    public SqlEngine() {
252
        // user can switch to another engine then close, so restore current engine
253
        SqlEngine.modelYaml = MediatorHelper.model().getMediatorEngine().getEngine().instance().getModelYaml();
254
255 1 1. <init> : removed call to com/jsql/view/swing/sql/SqlEngine::initTextComponents → NO_COVERAGE
        SqlEngine.initTextComponents();
256
257
        JTabbedPane panelStructure = this.getPanelStructure();
258
        RTextScrollPane panelFile = new RTextScrollPane(TextareaWithColor.EXPLOIT.getTextArea(), false);
259
        JTabbedPane panelStrategy = this.getPanelStrategy();
260
        JTabbedPane panelConfiguration = this.getPanelConfiguration();
261
        JTabbedPane panelFingerprinting = this.getPanelFingerprinting();
262
263
        JTabbedPane tabsBottom = new TabbedPaneWheeled(SwingConstants.BOTTOM);
264
        
265
        Stream.of(
266
            new SimpleEntry<>("SQLENGINE_STRUCTURE", panelStructure),
267
            new SimpleEntry<>("SQLENGINE_STRATEGY", panelStrategy),
268
            new SimpleEntry<>("SQLENGINE_CONFIGURATION", panelConfiguration),
269
            new SimpleEntry<>("SQLENGINE_FINGERPRINTING", panelFingerprinting),
270
            new SimpleEntry<>("SQLENGINE_EXPLOIT", panelFile)
271
        )
272 1 1. <init> : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
        .forEach(entry -> {
273 1 1. lambda$new$0 : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
            tabsBottom.addTab(I18nUtil.valueByKey(entry.getKey()), entry.getValue());
274
            var label = new JLabel(I18nUtil.valueByKey(entry.getKey()));
275 1 1. lambda$new$0 : removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE
            tabsBottom.setTabComponentAt(
276
                tabsBottom.indexOfTab(I18nUtil.valueByKey(entry.getKey())),
277
                label
278
            );
279 1 1. lambda$new$0 : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
            I18nViewUtil.addComponentForKey(entry.getKey(), label);
280
        });
281
282 1 1. <init> : removed call to com/jsql/view/swing/sql/SqlEngine::setLayout → NO_COVERAGE
        this.setLayout(new BorderLayout());
283
284
        JPanel panelCombo = SqlEngine.initMenuEngine();
285 1 1. <init> : removed call to javax/swing/JTabbedPane::putClientProperty → NO_COVERAGE
        tabsBottom.putClientProperty("JTabbedPane.trailingComponent", panelCombo);
286
        this.add(tabsBottom);
287
288 1 1. <init> : removed call to javax/swing/SwingUtilities::invokeLater → NO_COVERAGE
        SwingUtilities.invokeLater(() -> {
289 1 1. lambda$new$1 : removed call to com/jsql/view/swing/menubar/AppMenubar::switchLocale → NO_COVERAGE
            MediatorHelper.menubar().switchLocale(I18nUtil.getCurrentLocale());  // required for arabic
290 1 1. lambda$new$1 : removed call to javax/swing/JTabbedPane::updateUI → NO_COVERAGE
            SqlEngine.TABS_ERROR.updateUI();  // required for theme switch when tabs closed
291
        });
292
    }
293
294
    private JTabbedPane getPanelStructure() {
295
        final var keyDatabases = "SQLENGINE_DATABASES";
296
        final var keyTables = "SQLENGINE_TABLES";
297
        final var keyColumns = "SQLENGINE_COLUMNS";
298
        final var keyRows = "SQLENGINE_ROWS";
299
        final var keyField = "SQLENGINE_FIELD";
300
        final var keyFieldSeparator = "SQLENGINE_FIELDS_SEPARATOR";
301
302
        JTabbedPane tabsDefault = new TabbedPaneWheeled();
303
        Stream.of(
304
            new SimpleEntry<>(keyDatabases, TextareaWithColor.DATABASE_DEFAULT.getTextArea()),
305
            new SimpleEntry<>(keyTables, TextareaWithColor.TABLE_DEFAULT.getTextArea()),
306
            new SimpleEntry<>(keyColumns, TextareaWithColor.COLUMN_DEFAULT.getTextArea()),
307
            new SimpleEntry<>(keyRows, TextareaWithColor.QUERY_DEFAULT.getTextArea()),
308
            new SimpleEntry<>(keyField, TextareaWithColor.FIELD_DEFAULT.getTextArea()),
309
            new SimpleEntry<>(keyFieldSeparator, TextareaWithColor.CONCAT_DEFAULT.getTextArea()),
310
            new SimpleEntry<>("SQLENGINE_METADATA", TextareaWithColor.INFO.getTextArea())
311
        )
312 1 1. getPanelStructure : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
        .forEach(entry -> {
313 1 1. lambda$getPanelStructure$2 : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
            tabsDefault.addTab(I18nUtil.valueByKey(entry.getKey()), new RTextScrollPane(entry.getValue(), false));
314
            var label = new JLabel(I18nUtil.valueByKey(entry.getKey()));
315 1 1. lambda$getPanelStructure$2 : removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE
            tabsDefault.setTabComponentAt(tabsDefault.indexOfTab(I18nUtil.valueByKey(entry.getKey())), label);
316 1 1. lambda$getPanelStructure$2 : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
            I18nViewUtil.addComponentForKey(entry.getKey(), label);
317
        });
318
        
319
        JTabbedPane tabsZip = new TabbedPaneWheeled();
320
        Stream.of(
321
            new SimpleEntry<>(keyDatabases, TextareaWithColor.DATABASE_ZIP.getTextArea()),
322
            new SimpleEntry<>(keyTables, TextareaWithColor.TABLE_ZIP.getTextArea()),
323
            new SimpleEntry<>(keyColumns, TextareaWithColor.COLUMN_ZIP.getTextArea()),
324
            new SimpleEntry<>(keyRows, TextareaWithColor.QUERY_ZIP.getTextArea()),
325
            new SimpleEntry<>(keyField, TextareaWithColor.FIELD_ZIP.getTextArea()),
326
            new SimpleEntry<>(keyFieldSeparator, TextareaWithColor.CONCAT_ZIP.getTextArea())
327
        )
328 1 1. getPanelStructure : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
        .forEach(entry -> {
329 1 1. lambda$getPanelStructure$3 : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
            tabsZip.addTab(I18nUtil.valueByKey(entry.getKey()), new RTextScrollPane(entry.getValue(), false));
330
            var label = new JLabel(I18nUtil.valueByKey(entry.getKey()));
331 1 1. lambda$getPanelStructure$3 : removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE
            tabsZip.setTabComponentAt(tabsZip.indexOfTab(I18nUtil.valueByKey(entry.getKey())), label);
332 1 1. lambda$getPanelStructure$3 : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
            I18nViewUtil.addComponentForKey(entry.getKey(), label);
333
        });
334
        
335
        JTabbedPane tabsDios = new TabbedPaneWheeled();
336
        Stream.of(
337
            new SimpleEntry<>(keyDatabases, TextareaWithColor.DATABASE_DIOS.getTextArea()),
338
            new SimpleEntry<>(keyTables, TextareaWithColor.TABLE_DIOS.getTextArea()),
339
            new SimpleEntry<>(keyColumns, TextareaWithColor.COLUMN_DIOS.getTextArea()),
340
            new SimpleEntry<>(keyRows, TextareaWithColor.QUERY_DIOS.getTextArea()),
341
            new SimpleEntry<>(keyField, TextareaWithColor.FIELD_DIOS.getTextArea()),
342
            new SimpleEntry<>(keyFieldSeparator, TextareaWithColor.CONCAT_DIOS.getTextArea())
343
        )
344 1 1. getPanelStructure : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
        .forEach(entry -> {
345 1 1. lambda$getPanelStructure$4 : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
            tabsDios.addTab(I18nUtil.valueByKey(entry.getKey()), new RTextScrollPane(entry.getValue(), false));
346
            var label = new JLabel(I18nUtil.valueByKey(entry.getKey()));
347 1 1. lambda$getPanelStructure$4 : removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE
            tabsDios.setTabComponentAt(tabsDios.indexOfTab(I18nUtil.valueByKey(entry.getKey())), label);
348 1 1. lambda$getPanelStructure$4 : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
            I18nViewUtil.addComponentForKey(entry.getKey(), label);
349
        });
350
351
        JTabbedPane tabs = new TabbedPaneWheeled(SwingConstants.RIGHT);
352
        Stream.of(
353
            new SimpleEntry<>("SQLENGINE_STANDARD", tabsDefault),
354
            new SimpleEntry<>("SQLENGINE_ZIP", tabsZip),
355
            new SimpleEntry<>("SQLENGINE_DIOS", tabsDios)
356
        )
357 1 1. getPanelStructure : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
        .forEach(entry -> {
358 1 1. lambda$getPanelStructure$5 : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
            tabs.addTab(I18nUtil.valueByKey(entry.getKey()), entry.getValue());
359
            var label = new JLabel(I18nUtil.valueByKey(entry.getKey()));
360 1 1. lambda$getPanelStructure$5 : removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE
            tabs.setTabComponentAt(tabs.indexOfTab(I18nUtil.valueByKey(entry.getKey())), label);
361 1 1. lambda$getPanelStructure$5 : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
            I18nViewUtil.addComponentForKey(entry.getKey(), label);
362
        });
363 1 1. getPanelStructure : replaced return value with null for com/jsql/view/swing/sql/SqlEngine::getPanelStructure → NO_COVERAGE
        return tabs;
364
    }
365
366
    private JTabbedPane getPanelStrategy() {
367
        JTabbedPane tabs = new TabbedPaneWheeled();
368 1 1. getPanelStrategy : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
        tabs.addTab(I18nUtil.valueByKey("SQLENGINE_UNION"), new RTextScrollPane(TextareaWithColor.INDICES.getTextArea(), false));
369 1 1. getPanelStrategy : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
        tabs.addTab(I18nUtil.valueByKey("SQLENGINE_STACK"), new RTextScrollPane(TextareaWithColor.STACK.getTextArea(), false));
370 1 1. getPanelStrategy : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
        tabs.addTab(I18nUtil.valueByKey("SQLENGINE_ERROR"), SqlEngine.TABS_ERROR);
371 1 1. getPanelStrategy : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
        tabs.addTab(I18nUtil.valueByKey("SQLENGINE_DNS"), new RTextScrollPane(TextareaWithColor.DNS.getTextArea(), false));
372
373
        JTabbedPane tabsBoolean = new TabbedPaneWheeled(SwingConstants.RIGHT);
374
        Stream.of(
375
            new SimpleEntry<>("AND mode", TextareaWithColor.MODE_AND.getTextArea()),
376
            new SimpleEntry<>("OR mode", TextareaWithColor.MODE_OR.getTextArea()),
377
            new SimpleEntry<>("Stack mode", TextareaWithColor.MODE_STACK.getTextArea()),
378
            new SimpleEntry<>("Time", TextareaWithColor.TIME.getTextArea()),
379
            new SimpleEntry<>("Blind", TextareaWithColor.BLIND.getTextArea()),
380
            new SimpleEntry<>("Bin test", TextareaWithColor.TEST_BIN.getTextArea()),
381
            new SimpleEntry<>("Bin truthy", TextareaWithColor.TRUTHY_BIN.getTextArea()),
382
            new SimpleEntry<>("Bin falsy", TextareaWithColor.FALSY_BIN.getTextArea()),
383
            new SimpleEntry<>("Bit test", TextareaWithColor.TEST_BIT.getTextArea()),
384
            new SimpleEntry<>("Multibit", TextareaWithColor.MULTIBIT.getTextArea())
385
        )
386 1 1. getPanelStrategy : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
        .forEach(entry -> {
387 1 1. lambda$getPanelStrategy$6 : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
            tabsBoolean.addTab(entry.getKey(), new RTextScrollPane(entry.getValue(), false));
388 1 1. lambda$getPanelStrategy$6 : removed call to javax/swing/JTabbedPane::setTitleAt → NO_COVERAGE
            tabsBoolean.setTitleAt(
389 1 1. lambda$getPanelStrategy$6 : Replaced integer subtraction with addition → NO_COVERAGE
                tabsBoolean.getTabCount() - 1,
390
                String.format(
391
                    "<html><div style=\"text-align:left;width:60px;\">%s</div></html>",
392
                    entry.getKey()
393
                )
394
            );
395
        });
396 1 1. getPanelStrategy : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
        tabs.addTab(I18nUtil.valueByKey("SQLENGINE_BOOLEAN"), tabsBoolean);
397
398
        Stream.of(
399
            "SQLENGINE_UNION",
400
            "SQLENGINE_STACK",
401
            "SQLENGINE_ERROR",
402
            "SQLENGINE_BOOLEAN"
403
        )
404 1 1. getPanelStrategy : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
        .forEach(keyI18n -> {
405
            var label = new JLabel(I18nUtil.valueByKey(keyI18n));
406 1 1. lambda$getPanelStrategy$7 : removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE
            tabs.setTabComponentAt(tabs.indexOfTab(I18nUtil.valueByKey(keyI18n)), label);
407 1 1. lambda$getPanelStrategy$7 : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
            I18nViewUtil.addComponentForKey(keyI18n, label);
408
        });
409 1 1. getPanelStrategy : replaced return value with null for com/jsql/view/swing/sql/SqlEngine::getPanelStrategy → NO_COVERAGE
        return tabs;
410
    }
411
412
    private JTabbedPane getPanelConfiguration() {
413
        JTabbedPane tabs = new TabbedPaneWheeled();
414
        Stream.of(
415
            new SimpleEntry<>("SQLENGINE_CHARACTERS_SLIDINGWINDOW", new RTextScrollPane(TextareaWithColor.SLIDING_WINDOW.getTextArea(), false)),
416
            new SimpleEntry<>("SQLENGINE_ROWS_SLIDINGWINDOW", new RTextScrollPane(TextareaWithColor.LIMIT.getTextArea(), false)),
417
            new SimpleEntry<>("SQLENGINE_LIMIT_START_INDEX", new RTextScrollPane(TextareaWithColor.LIMIT_BOUNDARY.getTextArea(), false)),
418
            new SimpleEntry<>("SQLENGINE_CAPACITY", new RTextScrollPane(TextareaWithColor.CAPACITY.getTextArea(), false)),
419
            new SimpleEntry<>("SQLENGINE_CALIBRATOR", new RTextScrollPane(TextareaWithColor.CALIBRATOR.getTextArea(), false)),
420
            new SimpleEntry<>("SQLENGINE_FAILSAFE", new RTextScrollPane(TextareaWithColor.FAILSAFE.getTextArea(), false)),
421
            new SimpleEntry<>("SQLENGINE_END_COMMENT", new RTextScrollPane(TextareaWithColor.ENDING_COMMENT.getTextArea(), false))
422
        )
423 1 1. getPanelConfiguration : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
        .forEach(keyI18n -> {
424 1 1. lambda$getPanelConfiguration$8 : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
            tabs.addTab(I18nUtil.valueByKey(keyI18n.getKey()), keyI18n.getValue());
425
            var label = new JLabel(I18nUtil.valueByKey(keyI18n.getKey()));
426 1 1. lambda$getPanelConfiguration$8 : removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE
            tabs.setTabComponentAt(tabs.indexOfTab(I18nUtil.valueByKey(keyI18n.getKey())), label);
427 1 1. lambda$getPanelConfiguration$8 : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
            I18nViewUtil.addComponentForKey(keyI18n.getKey(), label);
428
        });
429 1 1. getPanelConfiguration : replaced return value with null for com/jsql/view/swing/sql/SqlEngine::getPanelConfiguration → NO_COVERAGE
        return tabs;
430
    }
431
    
432
    private JTabbedPane getPanelFingerprinting() {
433
        JTabbedPane tabs = new TabbedPaneWheeled();
434 1 1. getPanelFingerprinting : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
        tabs.addTab(I18nUtil.valueByKey("SQLENGINE_ORDER_BY"), new RTextScrollPane(TextareaWithColor.ORDER_BY.getTextArea(), false));
435 1 1. getPanelFingerprinting : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
        tabs.addTab("Order by error", new RTextScrollPane(TextareaWithColor.ORDER_BY_ERROR_MESSAGE.getTextArea(), false));
436 1 1. getPanelFingerprinting : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
        tabs.addTab("String error", new RTextScrollPane(TextareaWithColor.INCORRECT_STRING_ERROR_MESSAGE.getTextArea(), false));
437 1 1. getPanelFingerprinting : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
        tabs.addTab("Engine specific", new RTextScrollPane(TextareaWithColor.ENGINE_SPECIFIC.getTextArea(), false));
438 1 1. getPanelFingerprinting : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
        tabs.addTab("Truthy", new RTextScrollPane(TextareaWithColor.TRUTHY.getTextArea(), false));
439 1 1. getPanelFingerprinting : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
        tabs.addTab("Falsy", new RTextScrollPane(TextareaWithColor.FALSY.getTextArea(), false));
440
        
441 1 1. getPanelFingerprinting : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
        Stream.of("SQLENGINE_ORDER_BY").forEach(keyI18n -> {
442
            var label = new JLabel(I18nUtil.valueByKey(keyI18n));
443 1 1. lambda$getPanelFingerprinting$9 : removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE
            tabs.setTabComponentAt(tabs.indexOfTab(I18nUtil.valueByKey(keyI18n)), label);
444 1 1. lambda$getPanelFingerprinting$9 : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
            I18nViewUtil.addComponentForKey(keyI18n, label);
445
        });
446 1 1. getPanelFingerprinting : replaced return value with null for com/jsql/view/swing/sql/SqlEngine::getPanelFingerprinting → NO_COVERAGE
        return tabs;
447
    }
448
449
    private static JPanel initMenuEngine() {
450
        var panelMenuEngine = new JPanel();  // required for label on right
451 1 1. initMenuEngine : removed call to javax/swing/JPanel::setLayout → NO_COVERAGE
        panelMenuEngine.setLayout(new BorderLayout());
452
453
        JPopupMenu popupMenuEngines = new JPopupMenu();
454 1 1. initMenuEngine : removed call to javax/swing/JPopupMenu::setLayout → NO_COVERAGE
        popupMenuEngines.setLayout(UiUtil.getColumnLayout(MediatorHelper.model().getMediatorEngine().getEngines().size()));
455
456
        JLabel labelEngine = new JLabel(MediatorHelper.model().getMediatorEngine().getEngine().toString(), UiUtil.ARROW_DOWN.getIcon(), SwingConstants.LEFT);
457 1 1. initMenuEngine : removed call to javax/swing/JLabel::setBorder → NO_COVERAGE
        labelEngine.setBorder(UiUtil.BORDER_5PX);  // required for padding
458 1 1. initMenuEngine : removed call to javax/swing/JLabel::addMouseListener → NO_COVERAGE
        labelEngine.addMouseListener(new MouseAdapter() {
459
            @Override
460
            public void mousePressed(MouseEvent e) {
461 2 1. lambda$mousePressed$0 : replaced return value with null for com/jsql/view/swing/sql/SqlEngine$1::lambda$mousePressed$0 → NO_COVERAGE
2. mousePressed : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
                Arrays.stream(popupMenuEngines.getComponents()).map(a -> (JComponent) a).forEach(JComponent::updateUI);  // required: incorrect when dark/light mode switch
462 1 1. mousePressed : removed call to javax/swing/JPopupMenu::updateUI → NO_COVERAGE
                popupMenuEngines.updateUI();  // required: incorrect when dark/light mode switch
463 2 1. mousePressed : Replaced integer addition with subtraction → NO_COVERAGE
2. mousePressed : removed call to javax/swing/JPopupMenu::show → NO_COVERAGE
                popupMenuEngines.show(e.getComponent(), e.getComponent().getX(),e.getComponent().getY() + e.getComponent().getHeight());
464 2 1. mousePressed : Replaced integer addition with subtraction → NO_COVERAGE
2. mousePressed : removed call to javax/swing/JPopupMenu::setLocation → NO_COVERAGE
                popupMenuEngines.setLocation(e.getComponent().getLocationOnScreen().x,e.getComponent().getLocationOnScreen().y + e.getComponent().getHeight());
465
            }
466
        });
467
468
        List<Engine> listEngines = new LinkedList<>(MediatorHelper.model().getMediatorEngine().getEngines());
469 2 1. lambda$initMenuEngine$10 : negated conditional → NO_COVERAGE
2. lambda$initMenuEngine$10 : replaced boolean return with true for com/jsql/view/swing/sql/SqlEngine::lambda$initMenuEngine$10 → NO_COVERAGE
        listEngines.removeIf(engine -> engine == MediatorHelper.model().getMediatorEngine().getAuto());
470
471
        var groupEngine = new ButtonGroup();
472
        for (final Engine engine : listEngines) {
473
            JMenuItem itemRadioEngine = new JRadioButtonMenuItem(
474
                engine.toString(),
475 1 1. initMenuEngine : negated conditional → NO_COVERAGE
                engine == MediatorHelper.model().getMediatorEngine().getEngine()
476
            );
477
            
478 1 1. initMenuEngine : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
            itemRadioEngine.addActionListener(actionEvent -> {
479
                SqlEngine.modelYaml = engine.instance().getModelYaml();
480 1 1. lambda$initMenuEngine$11 : removed call to com/jsql/view/swing/sql/SqlEngine::initTextComponents → NO_COVERAGE
                SqlEngine.initTextComponents();
481 1 1. lambda$initMenuEngine$11 : removed call to javax/swing/JLabel::setText → NO_COVERAGE
                labelEngine.setText(engine.toString());
482
            });
483
            
484 1 1. initMenuEngine : removed call to javax/swing/ButtonGroup::add → NO_COVERAGE
            groupEngine.add(itemRadioEngine);
485
            popupMenuEngines.add(itemRadioEngine);
486
        }
487
        
488 1 1. initMenuEngine : removed call to javax/swing/JPanel::add → NO_COVERAGE
        panelMenuEngine.add(labelEngine, BorderLayout.LINE_END);  // required to set on right
489 1 1. initMenuEngine : replaced return value with null for com/jsql/view/swing/sql/SqlEngine::initMenuEngine → NO_COVERAGE
        return panelMenuEngine;
490
    }
491
    
492
    /**
493
     * Configure all text components with new coloring and new modelYaml setter.
494
     */
495
    private static void initTextComponents() {
496 1 1. initTextComponents : removed call to java/util/List::forEach → NO_COVERAGE
        SqlEngine.getTextareas().forEach(SqlEngine::reset);
497 2 1. initTextComponents : removed call to java/util/List::forEach → NO_COVERAGE
2. lambda$initTextComponents$12 : removed call to com/jsql/view/swing/sql/JSyntaxTextArea::setText → NO_COVERAGE
        SqlEngine.getTextareas().forEach(textPaneLexer -> textPaneLexer.setText(StringUtils.EMPTY));
498
499
        Stream.of(TextareaWithColor.values())
500 1 1. lambda$initTextComponents$13 : replaced return value with null for com/jsql/view/swing/sql/SqlEngine::lambda$initTextComponents$13 → NO_COVERAGE
        .map(textareaWithColor -> textareaWithColor.textarea)
501 1 1. initTextComponents : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
        .forEach(textArea -> {
502 1 1. lambda$initTextComponents$14 : removed call to com/jsql/view/swing/sql/JSyntaxTextArea::setText → NO_COVERAGE
            textArea.setText(textArea.getSupplierGetter().get().trim());
503 1 1. lambda$initTextComponents$14 : removed call to com/jsql/view/swing/sql/JSyntaxTextArea::setCaretPosition → NO_COVERAGE
            textArea.setCaretPosition(0);
504
        });
505
506 1 1. initTextComponents : removed call to com/jsql/view/swing/sql/SqlEngine::populateTabError → NO_COVERAGE
        SqlEngine.populateTabError();
507 1 1. initTextComponents : removed call to com/jsql/view/swing/sql/SqlEngine::applyTheme → NO_COVERAGE
        SqlEngine.applyTheme();
508
    }
509
510
    public static void applyTheme() {
511 1 1. applyTheme : removed call to java/util/List::forEach → NO_COVERAGE
        SqlEngine.getTextareas().forEach(UiUtil::applySyntaxTheme);
512
    }
513
514
    /**
515
     * Dynamically add textPanes to Error tab for current engine.
516
     */
517
    private static void populateTabError() {
518 1 1. populateTabError : removed call to javax/swing/JTabbedPane::removeAll → NO_COVERAGE
        SqlEngine.TABS_ERROR.removeAll();
519
520 1 1. populateTabError : negated conditional → NO_COVERAGE
        if (SqlEngine.modelYaml.getStrategy().getError() == null) {
521
            return;
522
        }
523
            
524
        for (Method methodError: SqlEngine.modelYaml.getStrategy().getError().getMethod()) {
525
            var panelError = new JPanel(new BorderLayout());
526
527
            var textareaError = new JSyntaxTextArea(methodError::setQuery, methodError::getQuery);
528 1 1. populateTabError : removed call to com/jsql/view/swing/sql/SqlEngine::reset → NO_COVERAGE
            SqlEngine.reset(textareaError);
529 1 1. populateTabError : removed call to com/jsql/view/swing/sql/JSyntaxTextArea::setText → NO_COVERAGE
            textareaError.setText(methodError.getQuery().trim());
530 1 1. populateTabError : removed call to com/jsql/view/swing/sql/JSyntaxTextArea::setCaretPosition → NO_COVERAGE
            textareaError.setCaretPosition(0);
531 1 1. populateTabError : removed call to javax/swing/JPanel::add → NO_COVERAGE
            panelError.add(new RTextScrollPane(textareaError, false), BorderLayout.CENTER);
532
            
533
            var panelLimit = new JPanel();  // TODO add Error capacity
534 1 1. populateTabError : removed call to javax/swing/JPanel::setLayout → NO_COVERAGE
            panelLimit.setLayout(new BoxLayout(panelLimit, BoxLayout.LINE_AXIS));
535
            panelLimit.add(new JLabel(" Overflow limit: "));
536
            panelLimit.add(new JTextField(Integer.toString(methodError.getCapacity())));
537 1 1. populateTabError : removed call to javax/swing/JPanel::add → NO_COVERAGE
            panelError.add(panelLimit, BorderLayout.SOUTH);
538
539 1 1. populateTabError : removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE
            SqlEngine.TABS_ERROR.addTab(methodError.getName(), panelError);
540 1 1. populateTabError : removed call to javax/swing/JTabbedPane::setTitleAt → NO_COVERAGE
            SqlEngine.TABS_ERROR.setTitleAt(
541 1 1. populateTabError : Replaced integer subtraction with addition → NO_COVERAGE
                SqlEngine.TABS_ERROR.getTabCount() - 1,
542
                String.format(
543
                    "<html><div style=\"text-align:left;width:100px;\">%s</div></html>",
544
                    methodError.getName()
545
                )
546
            );
547
            SqlEngine.LIST_TEXTAREAS_ERROR.add(textareaError);
548
        }
549
    }
550
    
551
    /**
552
     * Reset the textarea colorer.
553
     * @param textarea which colorer will be reset.
554
     */
555
    private static void reset(JSyntaxTextArea textarea) {
556 1 1. reset : removed call to com/jsql/view/swing/sql/JSyntaxTextArea::setDocument → NO_COVERAGE
        textarea.setDocument(new RSyntaxDocument(SyntaxConstants.SYNTAX_STYLE_SQL));  // required else empty on reopen
557 1 1. reset : removed call to javax/swing/text/Document::addDocumentListener → NO_COVERAGE
        textarea.getDocument().addDocumentListener(new DocumentListenerEditing() {
558
            @Override
559
            public void process() {
560 1 1. process : removed call to com/jsql/view/swing/sql/JSyntaxTextArea::setAttribute → NO_COVERAGE
                textarea.setAttribute();
561
            }
562
        });
563
    }
564
    
565
    /**
566
     * Merge list of Error textPanes and list of other textAreas.
567
     * @return the merged list
568
     */
569
    private static List<JSyntaxTextArea> getTextareas() {
570 1 1. getTextareas : replaced return value with Collections.emptyList for com/jsql/view/swing/sql/SqlEngine::getTextareas → NO_COVERAGE
        return Stream.concat(
571
            SqlEngine.LIST_TEXTAREAS_ERROR.stream(),
572
            Stream.of(TextareaWithColor.values()).map(TextareaWithColor::getTextArea)
573
        )
574
        .toList();
575
    }
576
}

Mutations

38

1.1
Location : lambda$static$0
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Schema::setDatabase → NO_COVERAGE

39

1.1
Location : lambda$static$1
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$1 → NO_COVERAGE

42

1.1
Location : lambda$static$2
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Schema::setTable → NO_COVERAGE

43

1.1
Location : lambda$static$3
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$3 → NO_COVERAGE

46

1.1
Location : lambda$static$4
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Schema::setColumn → NO_COVERAGE

47

1.1
Location : lambda$static$5
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$5 → NO_COVERAGE

50

1.1
Location : lambda$static$6
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Row::setQuery → NO_COVERAGE

51

1.1
Location : lambda$static$7
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$7 → NO_COVERAGE

54

1.1
Location : lambda$static$8
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Fields::setField → NO_COVERAGE

55

1.1
Location : lambda$static$9
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$9 → NO_COVERAGE

58

1.1
Location : lambda$static$10
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Fields::setConcat → NO_COVERAGE

59

1.1
Location : lambda$static$11
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$11 → NO_COVERAGE

64

1.1
Location : lambda$static$12
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Schema::setDatabase → NO_COVERAGE

65

1.1
Location : lambda$static$13
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$13 → NO_COVERAGE

68

1.1
Location : lambda$static$14
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Schema::setTable → NO_COVERAGE

69

1.1
Location : lambda$static$15
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$15 → NO_COVERAGE

72

1.1
Location : lambda$static$16
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Schema::setColumn → NO_COVERAGE

73

1.1
Location : lambda$static$17
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$17 → NO_COVERAGE

76

1.1
Location : lambda$static$18
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Row::setQuery → NO_COVERAGE

77

1.1
Location : lambda$static$19
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$19 → NO_COVERAGE

80

1.1
Location : lambda$static$20
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Fields::setField → NO_COVERAGE

81

1.1
Location : lambda$static$21
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$21 → NO_COVERAGE

84

1.1
Location : lambda$static$22
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Fields::setConcat → NO_COVERAGE

85

1.1
Location : lambda$static$23
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$23 → NO_COVERAGE

90

1.1
Location : lambda$static$24
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Schema::setDatabase → NO_COVERAGE

91

1.1
Location : lambda$static$25
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$25 → NO_COVERAGE

94

1.1
Location : lambda$static$26
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Schema::setTable → NO_COVERAGE

95

1.1
Location : lambda$static$27
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$27 → NO_COVERAGE

98

1.1
Location : lambda$static$28
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Schema::setColumn → NO_COVERAGE

99

1.1
Location : lambda$static$29
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$29 → NO_COVERAGE

102

1.1
Location : lambda$static$30
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Row::setQuery → NO_COVERAGE

103

1.1
Location : lambda$static$31
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$31 → NO_COVERAGE

106

1.1
Location : lambda$static$32
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Fields::setField → NO_COVERAGE

107

1.1
Location : lambda$static$33
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$33 → NO_COVERAGE

110

1.1
Location : lambda$static$34
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Fields::setConcat → NO_COVERAGE

111

1.1
Location : lambda$static$35
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$35 → NO_COVERAGE

115

1.1
Location : lambda$static$36
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Resource::setInfo → NO_COVERAGE

116

1.1
Location : lambda$static$37
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$37 → NO_COVERAGE

121

1.1
Location : lambda$static$38
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Configuration::setSlidingWindow → NO_COVERAGE

122

1.1
Location : lambda$static$39
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$39 → NO_COVERAGE

125

1.1
Location : lambda$static$40
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Configuration::setLimit → NO_COVERAGE

126

1.1
Location : lambda$static$41
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$41 → NO_COVERAGE

129

1.1
Location : lambda$static$42
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Configuration::setFailsafe → NO_COVERAGE

130

1.1
Location : lambda$static$43
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$43 → NO_COVERAGE

133

1.1
Location : lambda$static$44
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Configuration::setCalibrator → NO_COVERAGE

134

1.1
Location : lambda$static$45
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$45 → NO_COVERAGE

137

1.1
Location : lambda$static$46
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Configuration::setEndingComment → NO_COVERAGE

138

1.1
Location : lambda$static$47
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$47 → NO_COVERAGE

141

1.1
Location : lambda$static$48
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Configuration::setLimitBoundary → NO_COVERAGE

142

1.1
Location : lambda$static$49
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$49 → NO_COVERAGE

147

1.1
Location : lambda$static$50
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Union::setIndices → NO_COVERAGE

148

1.1
Location : lambda$static$51
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$51 → NO_COVERAGE

151

1.1
Location : lambda$static$52
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Union::setCapacity → NO_COVERAGE

152

1.1
Location : lambda$static$53
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$53 → NO_COVERAGE

156

1.1
Location : lambda$static$54
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Strategy::setStack → NO_COVERAGE

157

1.1
Location : lambda$static$55
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$55 → NO_COVERAGE

160

1.1
Location : lambda$static$56
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Strategy::setDns → NO_COVERAGE

161

1.1
Location : lambda$static$57
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$57 → NO_COVERAGE

166

1.1
Location : lambda$static$58
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Binary::setModeAnd → NO_COVERAGE

167

1.1
Location : lambda$static$59
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$59 → NO_COVERAGE

170

1.1
Location : lambda$static$60
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Binary::setModeOr → NO_COVERAGE

171

1.1
Location : lambda$static$61
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$61 → NO_COVERAGE

174

1.1
Location : lambda$static$62
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Binary::setModeStack → NO_COVERAGE

175

1.1
Location : lambda$static$63
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$63 → NO_COVERAGE

178

1.1
Location : lambda$static$64
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Binary::setBlind → NO_COVERAGE

179

1.1
Location : lambda$static$65
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$65 → NO_COVERAGE

182

1.1
Location : lambda$static$66
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Binary::setTime → NO_COVERAGE

183

1.1
Location : lambda$static$67
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$67 → NO_COVERAGE

186

1.1
Location : lambda$static$68
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Binary::setMultibit → NO_COVERAGE

187

1.1
Location : lambda$static$69
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$69 → NO_COVERAGE

190

1.1
Location : lambda$static$70
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Test::setBit → NO_COVERAGE

191

1.1
Location : lambda$static$71
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$71 → NO_COVERAGE

194

1.1
Location : lambda$static$72
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Test::setBin → NO_COVERAGE

195

1.1
Location : lambda$static$73
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$73 → NO_COVERAGE

198

1.1
Location : lambda$static$74
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Test::setTruthyBin → NO_COVERAGE

199

1.1
Location : lambda$static$75
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$75 → NO_COVERAGE

202

1.1
Location : lambda$static$76
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Test::setFalsyBin → NO_COVERAGE

203

1.1
Location : lambda$static$77
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$77 → NO_COVERAGE

209

1.1
Location : lambda$static$78
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Resource::setExploit → NO_COVERAGE

210

1.1
Location : lambda$static$79
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$79 → NO_COVERAGE

215

1.1
Location : lambda$static$80
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Test::setTruthyBit → NO_COVERAGE

216

1.1
Location : lambda$static$81
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$81 → NO_COVERAGE

219

1.1
Location : lambda$static$82
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Test::setFalsyBit → NO_COVERAGE

220

1.1
Location : lambda$static$83
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$83 → NO_COVERAGE

223

1.1
Location : lambda$static$84
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Fingerprint::setErrorMessageAsString → NO_COVERAGE

224

1.1
Location : lambda$static$85
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$85 → NO_COVERAGE

227

1.1
Location : lambda$static$86
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Fingerprint::setOrderByErrorMessage → NO_COVERAGE

228

1.1
Location : lambda$static$87
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$87 → NO_COVERAGE

231

1.1
Location : lambda$static$88
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Union::setOrderBy → NO_COVERAGE

232

1.1
Location : lambda$static$89
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$89 → NO_COVERAGE

235

1.1
Location : lambda$static$90
Killed by : none
removed call to com/jsql/model/injection/engine/model/yaml/Fingerprint::setEngineSpecific → NO_COVERAGE

236

1.1
Location : lambda$static$91
Killed by : none
replaced return value with "" for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::lambda$static$91 → NO_COVERAGE

243

1.1
Location : getTextArea
Killed by : none
replaced return value with null for com/jsql/view/swing/sql/SqlEngine$TextareaWithColor::getTextArea → NO_COVERAGE

255

1.1
Location : <init>
Killed by : none
removed call to com/jsql/view/swing/sql/SqlEngine::initTextComponents → NO_COVERAGE

272

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

273

1.1
Location : lambda$new$0
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

275

1.1
Location : lambda$new$0
Killed by : none
removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE

279

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

282

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

285

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

288

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

289

1.1
Location : lambda$new$1
Killed by : none
removed call to com/jsql/view/swing/menubar/AppMenubar::switchLocale → NO_COVERAGE

290

1.1
Location : lambda$new$1
Killed by : none
removed call to javax/swing/JTabbedPane::updateUI → NO_COVERAGE

312

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

313

1.1
Location : lambda$getPanelStructure$2
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

315

1.1
Location : lambda$getPanelStructure$2
Killed by : none
removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE

316

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

328

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

329

1.1
Location : lambda$getPanelStructure$3
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

331

1.1
Location : lambda$getPanelStructure$3
Killed by : none
removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE

332

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

344

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

345

1.1
Location : lambda$getPanelStructure$4
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

347

1.1
Location : lambda$getPanelStructure$4
Killed by : none
removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE

348

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

357

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

358

1.1
Location : lambda$getPanelStructure$5
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

360

1.1
Location : lambda$getPanelStructure$5
Killed by : none
removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE

361

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

363

1.1
Location : getPanelStructure
Killed by : none
replaced return value with null for com/jsql/view/swing/sql/SqlEngine::getPanelStructure → NO_COVERAGE

368

1.1
Location : getPanelStrategy
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

369

1.1
Location : getPanelStrategy
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

370

1.1
Location : getPanelStrategy
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

371

1.1
Location : getPanelStrategy
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

386

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

387

1.1
Location : lambda$getPanelStrategy$6
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

388

1.1
Location : lambda$getPanelStrategy$6
Killed by : none
removed call to javax/swing/JTabbedPane::setTitleAt → NO_COVERAGE

389

1.1
Location : lambda$getPanelStrategy$6
Killed by : none
Replaced integer subtraction with addition → NO_COVERAGE

396

1.1
Location : getPanelStrategy
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

404

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

406

1.1
Location : lambda$getPanelStrategy$7
Killed by : none
removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE

407

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

409

1.1
Location : getPanelStrategy
Killed by : none
replaced return value with null for com/jsql/view/swing/sql/SqlEngine::getPanelStrategy → NO_COVERAGE

423

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

424

1.1
Location : lambda$getPanelConfiguration$8
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

426

1.1
Location : lambda$getPanelConfiguration$8
Killed by : none
removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE

427

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

429

1.1
Location : getPanelConfiguration
Killed by : none
replaced return value with null for com/jsql/view/swing/sql/SqlEngine::getPanelConfiguration → NO_COVERAGE

434

1.1
Location : getPanelFingerprinting
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

435

1.1
Location : getPanelFingerprinting
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

436

1.1
Location : getPanelFingerprinting
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

437

1.1
Location : getPanelFingerprinting
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

438

1.1
Location : getPanelFingerprinting
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

439

1.1
Location : getPanelFingerprinting
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

441

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

443

1.1
Location : lambda$getPanelFingerprinting$9
Killed by : none
removed call to javax/swing/JTabbedPane::setTabComponentAt → NO_COVERAGE

444

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

446

1.1
Location : getPanelFingerprinting
Killed by : none
replaced return value with null for com/jsql/view/swing/sql/SqlEngine::getPanelFingerprinting → NO_COVERAGE

451

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

454

1.1
Location : initMenuEngine
Killed by : none
removed call to javax/swing/JPopupMenu::setLayout → NO_COVERAGE

457

1.1
Location : initMenuEngine
Killed by : none
removed call to javax/swing/JLabel::setBorder → NO_COVERAGE

458

1.1
Location : initMenuEngine
Killed by : none
removed call to javax/swing/JLabel::addMouseListener → NO_COVERAGE

461

1.1
Location : lambda$mousePressed$0
Killed by : none
replaced return value with null for com/jsql/view/swing/sql/SqlEngine$1::lambda$mousePressed$0 → NO_COVERAGE

2.2
Location : mousePressed
Killed by : none
removed call to java/util/stream/Stream::forEach → NO_COVERAGE

462

1.1
Location : mousePressed
Killed by : none
removed call to javax/swing/JPopupMenu::updateUI → NO_COVERAGE

463

1.1
Location : mousePressed
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

2.2
Location : mousePressed
Killed by : none
removed call to javax/swing/JPopupMenu::show → NO_COVERAGE

464

1.1
Location : mousePressed
Killed by : none
Replaced integer addition with subtraction → NO_COVERAGE

2.2
Location : mousePressed
Killed by : none
removed call to javax/swing/JPopupMenu::setLocation → NO_COVERAGE

469

1.1
Location : lambda$initMenuEngine$10
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : lambda$initMenuEngine$10
Killed by : none
replaced boolean return with true for com/jsql/view/swing/sql/SqlEngine::lambda$initMenuEngine$10 → NO_COVERAGE

475

1.1
Location : initMenuEngine
Killed by : none
negated conditional → NO_COVERAGE

478

1.1
Location : initMenuEngine
Killed by : none
removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE

480

1.1
Location : lambda$initMenuEngine$11
Killed by : none
removed call to com/jsql/view/swing/sql/SqlEngine::initTextComponents → NO_COVERAGE

481

1.1
Location : lambda$initMenuEngine$11
Killed by : none
removed call to javax/swing/JLabel::setText → NO_COVERAGE

484

1.1
Location : initMenuEngine
Killed by : none
removed call to javax/swing/ButtonGroup::add → NO_COVERAGE

488

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

489

1.1
Location : initMenuEngine
Killed by : none
replaced return value with null for com/jsql/view/swing/sql/SqlEngine::initMenuEngine → NO_COVERAGE

496

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

497

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

2.2
Location : lambda$initTextComponents$12
Killed by : none
removed call to com/jsql/view/swing/sql/JSyntaxTextArea::setText → NO_COVERAGE

500

1.1
Location : lambda$initTextComponents$13
Killed by : none
replaced return value with null for com/jsql/view/swing/sql/SqlEngine::lambda$initTextComponents$13 → NO_COVERAGE

501

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

502

1.1
Location : lambda$initTextComponents$14
Killed by : none
removed call to com/jsql/view/swing/sql/JSyntaxTextArea::setText → NO_COVERAGE

503

1.1
Location : lambda$initTextComponents$14
Killed by : none
removed call to com/jsql/view/swing/sql/JSyntaxTextArea::setCaretPosition → NO_COVERAGE

506

1.1
Location : initTextComponents
Killed by : none
removed call to com/jsql/view/swing/sql/SqlEngine::populateTabError → NO_COVERAGE

507

1.1
Location : initTextComponents
Killed by : none
removed call to com/jsql/view/swing/sql/SqlEngine::applyTheme → NO_COVERAGE

511

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

518

1.1
Location : populateTabError
Killed by : none
removed call to javax/swing/JTabbedPane::removeAll → NO_COVERAGE

520

1.1
Location : populateTabError
Killed by : none
negated conditional → NO_COVERAGE

528

1.1
Location : populateTabError
Killed by : none
removed call to com/jsql/view/swing/sql/SqlEngine::reset → NO_COVERAGE

529

1.1
Location : populateTabError
Killed by : none
removed call to com/jsql/view/swing/sql/JSyntaxTextArea::setText → NO_COVERAGE

530

1.1
Location : populateTabError
Killed by : none
removed call to com/jsql/view/swing/sql/JSyntaxTextArea::setCaretPosition → NO_COVERAGE

531

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

534

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

537

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

539

1.1
Location : populateTabError
Killed by : none
removed call to javax/swing/JTabbedPane::addTab → NO_COVERAGE

540

1.1
Location : populateTabError
Killed by : none
removed call to javax/swing/JTabbedPane::setTitleAt → NO_COVERAGE

541

1.1
Location : populateTabError
Killed by : none
Replaced integer subtraction with addition → NO_COVERAGE

556

1.1
Location : reset
Killed by : none
removed call to com/jsql/view/swing/sql/JSyntaxTextArea::setDocument → NO_COVERAGE

557

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

560

1.1
Location : process
Killed by : none
removed call to com/jsql/view/swing/sql/JSyntaxTextArea::setAttribute → NO_COVERAGE

570

1.1
Location : getTextareas
Killed by : none
replaced return value with Collections.emptyList for com/jsql/view/swing/sql/SqlEngine::getTextareas → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.22.1