Menubar.java

1
/*******************************************************************************
2
 * Copyhacked (H) 2012-2020.
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 about 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.menubar;
12
13
import com.jsql.model.InjectionModel;
14
import com.jsql.util.GitUtil.ShowOnConsole;
15
import com.jsql.util.I18nUtil;
16
import com.jsql.util.LogLevelUtil;
17
import com.jsql.view.swing.action.ActionNewWindow;
18
import com.jsql.view.swing.action.ActionSaveTab;
19
import com.jsql.view.swing.action.HotkeyUtil;
20
import com.jsql.view.swing.console.JTextPaneAppender;
21
import com.jsql.view.swing.dialog.DialogAbout;
22
import com.jsql.view.swing.dialog.DialogTranslate;
23
import com.jsql.view.swing.dialog.translate.Language;
24
import com.jsql.view.swing.interaction.CreateTabHelper;
25
import com.jsql.view.swing.manager.util.JButtonStateful;
26
import com.jsql.view.swing.panel.PanelPreferences;
27
import com.jsql.view.swing.scrollpane.LightScrollPane;
28
import com.jsql.view.swing.sql.SqlEngine;
29
import com.jsql.view.swing.tab.TabHeader;
30
import com.jsql.view.swing.table.PanelTable;
31
import com.jsql.view.swing.text.JPopupTextArea;
32
import com.jsql.view.swing.text.JTextFieldPlaceholder;
33
import com.jsql.view.swing.text.JToolTipI18n;
34
import com.jsql.view.swing.tree.model.NodeModelEmpty;
35
import com.jsql.view.swing.util.I18nViewUtil;
36
import com.jsql.view.swing.util.MediatorHelper;
37
import com.jsql.view.swing.util.UiUtil;
38
import org.apache.commons.lang3.ArrayUtils;
39
import org.apache.commons.lang3.StringUtils;
40
import org.apache.logging.log4j.LogManager;
41
import org.apache.logging.log4j.Logger;
42
43
import javax.swing.*;
44
import javax.swing.plaf.basic.BasicCheckBoxMenuItemUI;
45
import javax.swing.table.JTableHeader;
46
import javax.swing.table.TableColumnModel;
47
import javax.swing.text.JTextComponent;
48
import javax.swing.text.StyleConstants;
49
import java.awt.*;
50
import java.awt.event.*;
51
import java.util.AbstractMap.SimpleEntry;
52
import java.util.Locale;
53
import java.util.ResourceBundle;
54
import java.util.prefs.Preferences;
55
import java.util.stream.Stream;
56
57
/**
58
 * Application main menubar.
59
 */
60
public class Menubar extends JMenuBar {
61
    
62
    /**
63
     * Log4j logger sent to view.
64
     */
65
    private static final Logger LOGGER = LogManager.getRootLogger();
66
    
67
    // Checkbox item to show/hide chunk console.
68
    private JCheckBoxMenuItem chunkMenu;
69
70
    // Checkbox item to show/hide java console.
71
    private JCheckBoxMenuItem javaDebugMenu;
72
    
73
    private JMenu menuView;
74
    
75
    private JMenuItem itemArabic;
76
    private JMenuItem itemEnglish;
77
    private JMenuItem itemChinese;
78
    private JMenuItem itemRussian;
79
    private JMenuItem itemFrench;
80
    private JMenuItem itemCzech;
81
    private JMenuItem itemTurkish;
82
    private JMenuItem itemGerman;
83
    private JMenuItem itemDutch;
84
    private JMenuItem itemIndonesian;
85
    private JMenuItem itemItalian;
86
    private JMenuItem itemSpanish;
87
    private JMenuItem itemPortuguese;
88
    private JMenuItem itemPolish;
89
    private JMenuItem itemRomanian;
90
    private JMenuItem itemKorean;
91
    private JMenuItem itemSwedish;
92
    private JMenuItem itemFinnish;
93
    
94
    private JMenuItem itemIntoHindi;
95
    private JMenuItem itemIntoArabic;
96
    private JMenuItem itemIntoRussia;
97
    private JMenuItem itemIntoChina;
98
    private JMenuItem itemIntoFrench;
99
    private JMenuItem itemIntoTurkish;
100
    private JMenuItem itemIntoCzech;
101
    private JMenuItem itemIntoGerman;
102
    private JMenuItem itemIntoDutch;
103
    private JMenuItem itemIntoIndonesian;
104
    private JMenuItem itemIntoItalian;
105
    private JMenuItem itemIntoSpanish;
106
    private JMenuItem itemIntoSwedish;
107
    private JMenuItem itemIntoPortuguese;
108
    private JMenuItem itemIntoPolish;
109
    private JMenuItem itemIntoKorean;
110
    private JMenuItem itemIntoJapanese;
111
    private JMenuItem itemIntoRomanian;
112
    private JMenuItem itemIntoTamil;
113
    private JMenuItem itemIntoFinnish;
114
    
115
    private static final String KEY_MENU_SQL_ENGINE = "MENUBAR_SQL_ENGINE";
116
    private static final String KEY_MENU_PREFERENCES = "MENUBAR_PREFERENCES";
117
    private static final String LANGUAGE_IN_ID = "in-ID";
118
119
    /**
120
     * Create a menubar on main frame.
121
     */
122
    public Menubar() {
123
124
        JMenu menuFile = this.initializeMenuFile();
125
        JMenu menuEdit = this.initializeMenuEdit();
126
        JMenu menuCommunity = this.initializeMenuCommunity();
127
        JMenu menuWindows = this.initializeMenuWindows();
128
        JMenu menuHelp = this.initializeMenuHelp();
129
130
        this.add(menuFile);
131
        this.add(menuEdit);
132
        this.add(menuCommunity);
133
        this.add(menuWindows);
134
        this.add(menuHelp);
135
    }
136
137
    private JMenu initializeMenuWindows() {
138
        
139
        // Window Menu > Preferences
140
        var menuWindows = new JMenu(I18nUtil.valueByKey("MENUBAR_WINDOWS"));
141 1 1. initializeMenuWindows : removed call to javax/swing/JMenu::setName → NO_COVERAGE
        menuWindows.setName("menuWindows");
142 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_WINDOWS", menuWindows);
143 1 1. initializeMenuWindows : removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE
        menuWindows.setMnemonic('W');
144
145
        JMenuItem itemNewWindows = new JMenuItemWithMargin(new ActionNewWindow());
146 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("NEW_WINDOW_MENU", itemNewWindows);
147
        
148
        menuWindows.add(itemNewWindows);
149
        var menuAppearance = new JMenu("Appearance");
150
        JMenuItem itemNewWindows4k = new JMenuItemWithMargin(
151
            new ActionNewWindow("New 4K Window", "-Dsun.java2d.uiScale=2.5")
152
        );
153
        menuAppearance.add(itemNewWindows4k);
154
        menuWindows.add(itemNewWindows);
155
        menuWindows.add(menuAppearance);
156
        menuWindows.add(new JSeparator());
157
158
        JMenu menuTranslation = this.initializeMenuTranslation();
159
        
160
        menuWindows.add(menuTranslation);
161
        menuWindows.add(new JSeparator());
162
        
163
        this.menuView = new JMenu(I18nUtil.valueByKey("MENUBAR_VIEW"));
164 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_VIEW", this.menuView);
165 1 1. initializeMenuWindows : removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE
        this.menuView.setMnemonic('V');
166
        
167
        var database = new JMenuItem(I18nUtil.valueByKey("DATABASE_TAB"), UiUtil.ICON_DATABASE_SERVER);
168 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("DATABASE_TAB", database);
169
        this.menuView.add(database);
170
        
171
        var adminPage = new JMenuItem(I18nUtil.valueByKey("ADMINPAGE_TAB"), UiUtil.ICON_ADMIN_SERVER);
172 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("ADMINPAGE_TAB", adminPage);
173
        this.menuView.add(adminPage);
174
        
175
        var file = new JMenuItem(I18nUtil.valueByKey("FILE_TAB"), UiUtil.ICON_FILE_SERVER);
176 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("FILE_TAB", file);
177
        this.menuView.add(file);
178
        
179
        var webshell = new JMenuItem(I18nUtil.valueByKey("WEBSHELL_TAB"), UiUtil.ICON_SHELL_SERVER);
180 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("WEBSHELL_TAB", webshell);
181
        this.menuView.add(webshell);
182
        
183
        var sqlshell = new JMenuItem(I18nUtil.valueByKey("SQLSHELL_TAB"), UiUtil.ICON_SHELL_SERVER);
184 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("SQLSHELL_TAB", sqlshell);
185
        this.menuView.add(sqlshell);
186
        
187
        var upload = new JMenuItem(I18nUtil.valueByKey("UPLOAD_TAB"), UiUtil.ICON_UPLOAD);
188 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("UPLOAD_TAB", upload);
189
        this.menuView.add(upload);
190
        
191
        var bruteforce = new JMenuItem(I18nUtil.valueByKey("BRUTEFORCE_TAB"), UiUtil.ICON_BRUTER);
192 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("BRUTEFORCE_TAB", bruteforce);
193
        this.menuView.add(bruteforce);
194
        
195
        var coder = new JMenuItem(I18nUtil.valueByKey("CODER_TAB"), UiUtil.ICON_CODER);
196 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("CODER_TAB", coder);
197
        this.menuView.add(coder);
198
        
199
        var scanList = new JMenuItem(I18nUtil.valueByKey("SCANLIST_TAB"), UiUtil.ICON_SCANLIST);
200 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("SCANLIST_TAB", scanList);
201
        this.menuView.add(scanList);
202
        menuWindows.add(this.menuView);
203
204
        Preferences prefs = Preferences.userRoot().node(InjectionModel.class.getName());
205
206
        var menuPanel = new JMenu(I18nUtil.valueByKey("MENUBAR_PANEL"));
207 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_PANEL", menuPanel);
208 1 1. initializeMenuWindows : removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE
        this.menuView.setMnemonic('V');
209
        
210
        this.chunkMenu = new JCheckBoxMenuItem(
211
            I18nUtil.valueByKey("CONSOLE_CHUNK_LABEL"),
212
            UiUtil.ICON_CHUNK,
213
            prefs.getBoolean(UiUtil.CHUNK_VISIBLE, true)
214
        );
215 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("CONSOLE_CHUNK_LABEL", this.chunkMenu);
216
        menuPanel.add(this.chunkMenu);
217
        
218
        var binaryMenu = new JCheckBoxMenuItem(
219
            I18nUtil.valueByKey("CONSOLE_BINARY_LABEL"),
220
            UiUtil.ICON_BINARY,
221
            prefs.getBoolean(UiUtil.BINARY_VISIBLE, true)
222
        );
223 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("CONSOLE_BINARY_LABEL", binaryMenu);
224
        menuPanel.add(binaryMenu);
225
        
226
        var networkMenu = new JCheckBoxMenuItem(
227
            I18nUtil.valueByKey("CONSOLE_NETWORK_LABEL"),
228
            UiUtil.ICON_HEADER,
229
            prefs.getBoolean(UiUtil.NETWORK_VISIBLE, true)
230
        );
231 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("CONSOLE_NETWORK_LABEL", networkMenu);
232
        menuPanel.add(networkMenu);
233
        
234
        this.javaDebugMenu = new JCheckBoxMenuItem(
235
            I18nUtil.valueByKey("CONSOLE_JAVA_LABEL"),
236
            UiUtil.ICON_CUP,
237
            prefs.getBoolean(UiUtil.JAVA_VISIBLE, false)
238
        );
239 1 1. initializeMenuWindows : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("CONSOLE_JAVA_LABEL", this.javaDebugMenu);
240
241
        for (var menuItem: new JCheckBoxMenuItem[]{ this.chunkMenu, binaryMenu, networkMenu, this.javaDebugMenu }) {
242 1 1. initializeMenuWindows : removed call to javax/swing/JCheckBoxMenuItem::setUI → NO_COVERAGE
            menuItem.setUI(
243
                new BasicCheckBoxMenuItemUI() {
244
                    @Override
245
                    protected void doClick(MenuSelectionManager msm) {
246 1 1. doClick : removed call to javax/swing/JMenuItem::doClick → NO_COVERAGE
                        this.menuItem.doClick(0);
247
                    }
248
                }
249
            );
250
        }
251
252 1 1. initializeMenuWindows : removed call to javax/swing/JCheckBoxMenuItem::addActionListener → NO_COVERAGE
        this.chunkMenu.addActionListener(actionEvent -> {
253 1 1. lambda$initializeMenuWindows$0 : negated conditional → NO_COVERAGE
            if (this.chunkMenu.isSelected()) {
254 1 1. lambda$initializeMenuWindows$0 : removed call to com/jsql/view/swing/panel/PanelConsoles::insertChunkTab → NO_COVERAGE
                MediatorHelper.panelConsoles().insertChunkTab();
255
            } else {
256 1 1. lambda$initializeMenuWindows$0 : removed call to com/jsql/view/swing/tab/TabConsoles::remove → NO_COVERAGE
                MediatorHelper.tabConsoles().remove(MediatorHelper.tabConsoles().indexOfTab(UiUtil.ICON_CHUNK));
257
            }
258
        });
259
        
260 1 1. initializeMenuWindows : removed call to javax/swing/JCheckBoxMenuItem::addActionListener → NO_COVERAGE
        binaryMenu.addActionListener(actionEvent -> {
261 1 1. lambda$initializeMenuWindows$1 : negated conditional → NO_COVERAGE
            if (binaryMenu.isSelected()) {
262 1 1. lambda$initializeMenuWindows$1 : removed call to com/jsql/view/swing/panel/PanelConsoles::insertBooleanTab → NO_COVERAGE
                MediatorHelper.panelConsoles().insertBooleanTab();
263
            } else {
264 1 1. lambda$initializeMenuWindows$1 : removed call to com/jsql/view/swing/tab/TabConsoles::remove → NO_COVERAGE
                MediatorHelper.tabConsoles().remove(MediatorHelper.tabConsoles().indexOfTab(UiUtil.ICON_BINARY));
265
            }
266
        });
267
        
268 1 1. initializeMenuWindows : removed call to javax/swing/JCheckBoxMenuItem::addActionListener → NO_COVERAGE
        networkMenu.addActionListener(actionEvent -> {
269 1 1. lambda$initializeMenuWindows$2 : negated conditional → NO_COVERAGE
            if (networkMenu.isSelected()) {
270 1 1. lambda$initializeMenuWindows$2 : removed call to com/jsql/view/swing/panel/PanelConsoles::insertNetworkTab → NO_COVERAGE
                MediatorHelper.panelConsoles().insertNetworkTab();
271
            } else {
272 1 1. lambda$initializeMenuWindows$2 : removed call to com/jsql/view/swing/tab/TabConsoles::remove → NO_COVERAGE
                MediatorHelper.tabConsoles().remove(MediatorHelper.tabConsoles().indexOfTab(UiUtil.ICON_HEADER));
273
            }
274
        });
275
        
276 1 1. initializeMenuWindows : removed call to javax/swing/JCheckBoxMenuItem::addActionListener → NO_COVERAGE
        this.javaDebugMenu.addActionListener(actionEvent -> {
277 1 1. lambda$initializeMenuWindows$3 : negated conditional → NO_COVERAGE
            if (this.javaDebugMenu.isSelected()) {
278 1 1. lambda$initializeMenuWindows$3 : removed call to com/jsql/view/swing/panel/PanelConsoles::insertJavaTab → NO_COVERAGE
                MediatorHelper.panelConsoles().insertJavaTab();
279
            } else {
280 1 1. lambda$initializeMenuWindows$3 : removed call to com/jsql/view/swing/tab/TabConsoles::remove → NO_COVERAGE
                MediatorHelper.tabConsoles().remove(MediatorHelper.tabConsoles().indexOfTab(UiUtil.ICON_CUP));
281
            }
282
        });
283
284
        menuPanel.add(this.javaDebugMenu);
285
        
286
        menuWindows.add(menuPanel);
287
        menuWindows.add(new JSeparator());
288
289 1 1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE
        database.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_1, InputEvent.CTRL_DOWN_MASK));
290 1 1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE
        adminPage.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, InputEvent.CTRL_DOWN_MASK));
291 1 1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE
        file.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_3, InputEvent.CTRL_DOWN_MASK));
292 1 1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE
        webshell.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_4, InputEvent.CTRL_DOWN_MASK));
293 1 1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE
        sqlshell.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_5, InputEvent.CTRL_DOWN_MASK));
294 1 1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE
        upload.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_6, InputEvent.CTRL_DOWN_MASK));
295 1 1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE
        bruteforce.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_7, InputEvent.CTRL_DOWN_MASK));
296 1 1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE
        coder.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_8, InputEvent.CTRL_DOWN_MASK));
297 1 1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE
        scanList.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_9, InputEvent.CTRL_DOWN_MASK));
298
299 2 1. initializeMenuWindows : changed conditional boundary → NO_COVERAGE
2. initializeMenuWindows : negated conditional → NO_COVERAGE
        for (var position = 0 ; position < this.menuView.getItemCount() ; position++) {
300
            
301
            final JMenuItem itemMenu = this.menuView.getItem(position);
302
            final int positionFinal = position;
303 2 1. lambda$initializeMenuWindows$4 : removed call to com/jsql/view/swing/tab/TabManagersProxy::setSelectedIndex → NO_COVERAGE
2. initializeMenuWindows : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
            itemMenu.addActionListener(actionEvent -> MediatorHelper.tabManagers().setSelectedIndex(positionFinal));
304
        }
305
306
        JMenuItem itemPreferences = this.initializeItemPreferences();
307 1 1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setName → NO_COVERAGE
        itemPreferences.setName("itemPreferences");
308
        JMenuItem itemSqlEngine = this.initializeItemSqlEngine();
309 1 1. initializeMenuWindows : removed call to javax/swing/JMenuItem::setName → NO_COVERAGE
        itemSqlEngine.setName("itemSqlEngine");
310
        
311
        menuWindows.add(itemSqlEngine);
312
        menuWindows.add(itemPreferences);
313
        
314 1 1. initializeMenuWindows : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuWindows → NO_COVERAGE
        return menuWindows;
315
    }
316
317
    private JMenu initializeMenuHelp() {
318
        
319
        // Help Menu > about
320
        var menuHelp = new JMenu(I18nUtil.valueByKey("MENUBAR_HELP"));
321 1 1. initializeMenuHelp : removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE
        menuHelp.setMnemonic('H');
322 1 1. initializeMenuHelp : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_HELP", menuHelp);
323 1 1. initializeMenuHelp : removed call to javax/swing/JMenu::setName → NO_COVERAGE
        menuHelp.setName("menuHelp");
324
        
325
        JMenuItem itemHelp = new JMenuItemWithMargin(I18nUtil.valueByKey("MENUBAR_HELP_ABOUT"), 'A');
326 1 1. initializeMenuHelp : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_HELP_ABOUT", itemHelp);
327 1 1. initializeMenuHelp : removed call to javax/swing/JMenuItem::setName → NO_COVERAGE
        itemHelp.setName("itemHelp");
328
        
329
        JMenuItem itemUpdate = new JMenuItemWithMargin(I18nUtil.valueByKey("MENUBAR_HELP_UPDATE"), 'U');
330 1 1. initializeMenuHelp : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_HELP_UPDATE", itemUpdate);
331
332
        // Render the About dialog behind scene
333
        final var aboutDiag = new DialogAbout();
334 1 1. initializeMenuHelp : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        itemHelp.addActionListener(actionEvent -> {
335
            
336
            // Center the dialog
337 1 1. lambda$initializeMenuHelp$5 : negated conditional → NO_COVERAGE
            if (!aboutDiag.isVisible()) {
338
                
339 1 1. lambda$initializeMenuHelp$5 : removed call to com/jsql/view/swing/dialog/DialogAbout::initializeDialog → NO_COVERAGE
                aboutDiag.initializeDialog();
340
                // needed here for button focus
341 1 1. lambda$initializeMenuHelp$5 : removed call to com/jsql/view/swing/dialog/DialogAbout::setVisible → NO_COVERAGE
                aboutDiag.setVisible(true);
342 1 1. lambda$initializeMenuHelp$5 : removed call to com/jsql/view/swing/dialog/DialogAbout::requestButtonFocus → NO_COVERAGE
                aboutDiag.requestButtonFocus();
343
            }
344
            
345 1 1. lambda$initializeMenuHelp$5 : removed call to com/jsql/view/swing/dialog/DialogAbout::setVisible → NO_COVERAGE
            aboutDiag.setVisible(true);
346
        });
347 1 1. initializeMenuHelp : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        itemUpdate.addActionListener(new ActionCheckUpdate());
348
        
349
        menuHelp.add(itemUpdate);
350
        menuHelp.add(new JSeparator());
351
        menuHelp.add(itemHelp);
352
        
353 1 1. initializeMenuHelp : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuHelp → NO_COVERAGE
        return menuHelp;
354
    }
355
356
    private JMenuItem initializeItemSqlEngine() {
357
        
358
        var itemSqlEngine = new JMenuItem(I18nUtil.valueByKey(KEY_MENU_SQL_ENGINE));
359 1 1. initializeItemSqlEngine : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey(KEY_MENU_SQL_ENGINE, itemSqlEngine);
360
        
361
        // Render the SQL Engine dialog behind scene
362
        var titleTabSqlEngine = "SQL Engine";
363
        
364 1 1. initializeItemSqlEngine : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        itemSqlEngine.addActionListener(actionEvent -> {
365
            
366 2 1. lambda$initializeItemSqlEngine$6 : changed conditional boundary → NO_COVERAGE
2. lambda$initializeItemSqlEngine$6 : negated conditional → NO_COVERAGE
            for (var i = 0; i < MediatorHelper.tabResults().getTabCount() ; i++) {
367 1 1. lambda$initializeItemSqlEngine$6 : negated conditional → NO_COVERAGE
                if (titleTabSqlEngine.equals(MediatorHelper.tabResults().getTitleAt(i))) {
368
                    
369 1 1. lambda$initializeItemSqlEngine$6 : removed call to com/jsql/view/swing/tab/TabResults::setSelectedIndex → NO_COVERAGE
                    MediatorHelper.tabResults().setSelectedIndex(i);
370
                    return;
371
                }
372
            }
373
            
374 1 1. lambda$initializeItemSqlEngine$6 : removed call to com/jsql/view/swing/interaction/CreateTabHelper::initializeSplitOrientation → NO_COVERAGE
            CreateTabHelper.initializeSplitOrientation();
375
376
            var panelSqlEngine = new SqlEngine();
377
            
378 1 1. lambda$initializeItemSqlEngine$6 : removed call to com/jsql/view/swing/tab/TabResults::addTab → NO_COVERAGE
            MediatorHelper.tabResults().addTab(titleTabSqlEngine, panelSqlEngine);
379
380
            // Focus on the new tab
381 1 1. lambda$initializeItemSqlEngine$6 : removed call to com/jsql/view/swing/tab/TabResults::setSelectedComponent → NO_COVERAGE
            MediatorHelper.tabResults().setSelectedComponent(panelSqlEngine);
382
383
            // Create a custom tab header with close button
384
            var header = new TabHeader(I18nViewUtil.valueByKey(KEY_MENU_SQL_ENGINE), UiUtil.ICON_COG, panelSqlEngine);
385 1 1. lambda$initializeItemSqlEngine$6 : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
            I18nViewUtil.addComponentForKey(KEY_MENU_SQL_ENGINE, header.getTabTitleLabel());
386
387
            // Apply the custom header to the tab
388 1 1. lambda$initializeItemSqlEngine$6 : removed call to com/jsql/view/swing/tab/TabResults::setTabComponentAt → NO_COVERAGE
            MediatorHelper.tabResults().setTabComponentAt(MediatorHelper.tabResults().indexOfComponent(panelSqlEngine), header);
389
        });
390
        
391 1 1. initializeItemSqlEngine : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeItemSqlEngine → NO_COVERAGE
        return itemSqlEngine;
392
    }
393
394
    private JMenuItem initializeItemPreferences() {
395
        
396
        JMenuItem itemPreferences = new JMenuItemWithMargin(I18nUtil.valueByKey(KEY_MENU_PREFERENCES), 'P');
397 1 1. initializeItemPreferences : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey(KEY_MENU_PREFERENCES, itemPreferences);
398
        
399
        // Render the Preferences dialog behind scene
400
        var titleTabPreferences = "Preferences";
401
        
402
        // Single rendering
403
        var panelPreferences = new PanelPreferences();
404
        
405 1 1. initializeItemPreferences : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        itemPreferences.addActionListener(actionEvent -> {
406
            
407 2 1. lambda$initializeItemPreferences$8 : changed conditional boundary → NO_COVERAGE
2. lambda$initializeItemPreferences$8 : negated conditional → NO_COVERAGE
            for (var i = 0; i < MediatorHelper.tabResults().getTabCount() ; i++) {
408 1 1. lambda$initializeItemPreferences$8 : negated conditional → NO_COVERAGE
                if (titleTabPreferences.equals(MediatorHelper.tabResults().getTitleAt(i))) {
409
                    
410 1 1. lambda$initializeItemPreferences$8 : removed call to com/jsql/view/swing/tab/TabResults::setSelectedIndex → NO_COVERAGE
                    MediatorHelper.tabResults().setSelectedIndex(i);
411
                    return;
412
                }
413
            }
414
            
415 1 1. lambda$initializeItemPreferences$8 : removed call to com/jsql/view/swing/interaction/CreateTabHelper::initializeSplitOrientation → NO_COVERAGE
            CreateTabHelper.initializeSplitOrientation();
416
            
417
            AdjustmentListener singleItemScroll = adjustmentEvent -> {
418
                
419
                // The user scrolled the List (using the bar, mouse wheel or something else):
420 1 1. lambda$initializeItemPreferences$7 : negated conditional → NO_COVERAGE
                if (adjustmentEvent.getAdjustmentType() == AdjustmentEvent.TRACK) {
421
                    
422
                    // Jump to the next "block" (which is a row".
423 1 1. lambda$initializeItemPreferences$7 : removed call to java/awt/Adjustable::setBlockIncrement → NO_COVERAGE
                    adjustmentEvent.getAdjustable().setBlockIncrement(100);
424 1 1. lambda$initializeItemPreferences$7 : removed call to java/awt/Adjustable::setUnitIncrement → NO_COVERAGE
                    adjustmentEvent.getAdjustable().setUnitIncrement(100);
425
                }
426
            };
427
428
            var scroller = new LightScrollPane(1, 0, 0, 0, panelPreferences);
429 1 1. lambda$initializeItemPreferences$8 : removed call to javax/swing/JScrollBar::addAdjustmentListener → NO_COVERAGE
            scroller.scrollPane.getVerticalScrollBar().addAdjustmentListener(singleItemScroll);
430
            
431 1 1. lambda$initializeItemPreferences$8 : removed call to com/jsql/view/swing/tab/TabResults::addTab → NO_COVERAGE
            MediatorHelper.tabResults().addTab(titleTabPreferences, scroller);
432
433
            // Focus on the new tab
434 1 1. lambda$initializeItemPreferences$8 : removed call to com/jsql/view/swing/tab/TabResults::setSelectedComponent → NO_COVERAGE
            MediatorHelper.tabResults().setSelectedComponent(scroller);
435
436
            // Create a custom tab header with close button
437
            var header = new TabHeader(I18nViewUtil.valueByKey(KEY_MENU_PREFERENCES), UiUtil.ICON_COG, panelPreferences.getPanelTampering());
438 1 1. lambda$initializeItemPreferences$8 : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
            I18nViewUtil.addComponentForKey(KEY_MENU_PREFERENCES, header.getTabTitleLabel());
439
440
            // Apply the custom header to the tab
441 1 1. lambda$initializeItemPreferences$8 : removed call to com/jsql/view/swing/tab/TabResults::setTabComponentAt → NO_COVERAGE
            MediatorHelper.tabResults().setTabComponentAt(MediatorHelper.tabResults().indexOfComponent(scroller), header);
442
        });
443
        
444 1 1. initializeItemPreferences : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeItemPreferences → NO_COVERAGE
        return itemPreferences;
445
    }
446
447
    private JMenu initializeMenuCommunity() {
448
        
449
        // Help Menu > about
450
        var menuCommunity = new JMenu(I18nUtil.valueByKey("MENUBAR_COMMUNITY"));
451 1 1. initializeMenuCommunity : removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE
        menuCommunity.setMnemonic('C');
452 1 1. initializeMenuCommunity : removed call to javax/swing/JMenu::setName → NO_COVERAGE
        menuCommunity.setName("menuCommunity");
453 1 1. initializeMenuCommunity : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_COMMUNITY", menuCommunity);
454
        
455
        JMenu menuI18nContribution = this.initializeMenuI18nContribution();
456 1 1. initializeMenuCommunity : removed call to javax/swing/JMenu::setName → NO_COVERAGE
        menuI18nContribution.setName("menuI18nContribution");
457
        
458
        JMenuItem itemReportIssue = this.initializeItemReportIssue();
459 1 1. initializeMenuCommunity : removed call to javax/swing/JMenuItem::setName → NO_COVERAGE
        itemReportIssue.setName("itemReportIssue");
460
        
461
        menuCommunity.add(menuI18nContribution);
462
        menuCommunity.add(new JSeparator());
463
        menuCommunity.add(itemReportIssue);
464
        
465 1 1. initializeMenuCommunity : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuCommunity → NO_COVERAGE
        return menuCommunity;
466
    }
467
468
    private JMenu initializeMenuTranslation() {
469
        
470
        var patternAsianDisplay = "<html><span style=\"font-family:'%s'\">%s</span></html>";
471
        
472
        var menuTranslation = new JMenu(I18nUtil.valueByKey("MENUBAR_LANGUAGE"));
473 1 1. initializeMenuTranslation : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_LANGUAGE", menuTranslation);
474 1 1. initializeMenuTranslation : removed call to javax/swing/JMenu::setName → NO_COVERAGE
        menuTranslation.setName("menuTranslation");
475
        
476
        Object[] languages = Stream.of("ru zh es fr tr ko se ar cs it pt pl in nl ro de".split(StringUtils.SPACE))
477 1 1. lambda$initializeMenuTranslation$9 : replaced return value with "" for com/jsql/view/swing/menubar/Menubar::lambda$initializeMenuTranslation$9 → NO_COVERAGE
            .map(flag -> Locale.forLanguageTag(flag).getLanguage())
478
            .toArray();
479
        
480 1 1. initializeMenuTranslation : negated conditional → NO_COVERAGE
        boolean isEnglish = !ArrayUtils.contains(languages, Locale.getDefault().getLanguage());
481
    
482
        this.itemEnglish = new JRadioButtonMenuItem(
483
            Locale.forLanguageTag("en").getDisplayLanguage(Locale.forLanguageTag("en")),
484
            UiUtil.ICON_FLAG_EN,
485
            isEnglish
486
        );
487 2 1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
2. lambda$initializeMenuTranslation$10 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
        this.itemEnglish.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.ROOT));
488 1 1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::setName → NO_COVERAGE
        this.itemEnglish.setName("itemEnglish");
489
        
490
        // Unhandled ClassFormatError #73790 on constructor: Unknown constant tag 73 in class file java/awt/font/TextLine
491
        this.itemArabic = new JRadioButtonMenuItem(
492
            String.format(
493
                patternAsianDisplay,
494
                UiUtil.FONT_NAME_MONO_ASIAN,
495
                Locale.forLanguageTag("ar").getDisplayLanguage(Locale.forLanguageTag("ar"))
496
            ),
497
            UiUtil.ICON_FLAG_AR,
498
            Locale.forLanguageTag("ar").getLanguage().equals(Locale.getDefault().getLanguage())
499
        );
500 2 1. lambda$initializeMenuTranslation$11 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        this.itemArabic.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("ar")));
501 1 1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::setComponentOrientation → NO_COVERAGE
        this.itemArabic.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
502
        
503
        this.itemRussian = new JRadioButtonMenuItem(
504
            Locale.forLanguageTag("ru").getDisplayLanguage(Locale.forLanguageTag("ru")),
505
            UiUtil.ICON_FLAG_RU,
506
            Locale.forLanguageTag("ru").getLanguage().equals(Locale.getDefault().getLanguage())
507
        );
508 2 1. lambda$initializeMenuTranslation$12 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        this.itemRussian.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("ru")));
509 1 1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::setName → NO_COVERAGE
        this.itemRussian.setName("itemRussian");
510
        
511
        this.itemCzech = new JRadioButtonMenuItem(
512
            Locale.forLanguageTag("cs").getDisplayLanguage(Locale.forLanguageTag("cs")),
513
            UiUtil.ICON_FLAG_CS,
514
            Locale.forLanguageTag("cs").getLanguage().equals(Locale.getDefault().getLanguage())
515
        );
516 2 1. lambda$initializeMenuTranslation$13 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        this.itemCzech.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("cs")));
517
        
518
        this.itemItalian = new JRadioButtonMenuItem(
519
            Locale.forLanguageTag("it").getDisplayLanguage(Locale.forLanguageTag("it")),
520
            UiUtil.ICON_FLAG_IT,
521
            Locale.forLanguageTag("it").getLanguage().equals(Locale.getDefault().getLanguage())
522
        );
523 2 1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
2. lambda$initializeMenuTranslation$14 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
        this.itemItalian.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("it")));
524
        
525
        this.itemIndonesian = new JRadioButtonMenuItem(
526
            Locale.forLanguageTag(LANGUAGE_IN_ID).getDisplayLanguage(Locale.forLanguageTag(LANGUAGE_IN_ID)),
527
            UiUtil.ICON_FLAG_IN_ID,
528
            Locale.forLanguageTag(LANGUAGE_IN_ID).getLanguage().equals(Locale.getDefault().getLanguage())
529
        );
530 2 1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
2. lambda$initializeMenuTranslation$15 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
        this.itemIndonesian.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag(LANGUAGE_IN_ID)));
531
        
532
        this.itemDutch = new JRadioButtonMenuItem(
533
            Locale.forLanguageTag("nl").getDisplayLanguage(Locale.forLanguageTag("nl")),
534
            UiUtil.ICON_FLAG_NL,
535
            Locale.forLanguageTag("nl").getLanguage().equals(Locale.getDefault().getLanguage())
536
        );
537 2 1. lambda$initializeMenuTranslation$16 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        this.itemDutch.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("nl")));
538
        
539
        this.itemGerman = new JRadioButtonMenuItem(
540
            Locale.forLanguageTag("de").getDisplayLanguage(Locale.forLanguageTag("de")),
541
            UiUtil.ICON_FLAG_DE,
542
            Locale.forLanguageTag("de").getLanguage().equals(Locale.getDefault().getLanguage())
543
        );
544 2 1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
2. lambda$initializeMenuTranslation$17 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
        this.itemGerman.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("de")));
545
        
546
        this.itemTurkish = new JRadioButtonMenuItem(
547
            Locale.forLanguageTag("tr").getDisplayLanguage(Locale.forLanguageTag("tr")),
548
            UiUtil.ICON_FLAG_TR,
549
            Locale.forLanguageTag("tr").getLanguage().equals(Locale.getDefault().getLanguage())
550
        );
551 2 1. lambda$initializeMenuTranslation$18 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        this.itemTurkish.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("tr")));
552
        
553
        this.itemFrench = new JRadioButtonMenuItem(
554
            Locale.forLanguageTag("fr").getDisplayLanguage(Locale.forLanguageTag("fr")),
555
            UiUtil.ICON_FLAG_FR,
556
            Locale.forLanguageTag("fr").getLanguage().equals(Locale.getDefault().getLanguage())
557
        );
558 2 1. lambda$initializeMenuTranslation$19 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        this.itemFrench.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("fr")));
559
        
560
        this.itemSpanish = new JRadioButtonMenuItem(
561
            Locale.forLanguageTag("es").getDisplayLanguage(Locale.forLanguageTag("es")),
562
            UiUtil.ICON_FLAG_ES,
563
            Locale.forLanguageTag("es").getLanguage().equals(Locale.getDefault().getLanguage())
564
        );
565 2 1. lambda$initializeMenuTranslation$20 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        this.itemSpanish.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("es")));
566
        
567
        this.itemPortuguese = new JRadioButtonMenuItem(
568
            Locale.forLanguageTag("pt").getDisplayLanguage(Locale.forLanguageTag("pt")),
569
            UiUtil.ICON_FLAG_PT,
570
            Locale.forLanguageTag("pt").getLanguage().equals(Locale.getDefault().getLanguage())
571
        );
572 2 1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
2. lambda$initializeMenuTranslation$21 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
        this.itemPortuguese.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("pt")));
573
        
574
        this.itemChinese = new JRadioButtonMenuItem(
575
            String.format(
576
                patternAsianDisplay,
577
                UiUtil.FONT_NAME_MONO_ASIAN,
578
                Locale.forLanguageTag("zh").getDisplayLanguage(Locale.forLanguageTag("zh"))
579
            ),
580
            UiUtil.ICON_FLAG_ZH,
581
            Locale.forLanguageTag("zh").getLanguage().equals(Locale.getDefault().getLanguage())
582
        );
583 2 1. lambda$initializeMenuTranslation$22 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        this.itemChinese.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("zh")));
584
        
585
        this.itemPolish = new JRadioButtonMenuItem(
586
            Locale.forLanguageTag("pl").getDisplayLanguage(Locale.forLanguageTag("pl")),
587
            UiUtil.ICON_FLAG_PL,
588
            Locale.forLanguageTag("pl").getLanguage().equals(Locale.getDefault().getLanguage())
589
        );
590 2 1. lambda$initializeMenuTranslation$23 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        this.itemPolish.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("pl")));
591
        
592
        this.itemRomanian = new JRadioButtonMenuItem(
593
            Locale.forLanguageTag("ro").getDisplayLanguage(Locale.forLanguageTag("ro")),
594
            UiUtil.ICON_FLAG_RO,
595
            Locale.forLanguageTag("ro").getLanguage().equals(Locale.getDefault().getLanguage())
596
        );
597 2 1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
2. lambda$initializeMenuTranslation$24 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
        this.itemRomanian.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("ro")));
598
        
599
        this.itemSwedish = new JRadioButtonMenuItem(
600
            Locale.forLanguageTag("se").getDisplayLanguage(Locale.forLanguageTag("se")),
601
            UiUtil.ICON_FLAG_SE,
602
            Locale.forLanguageTag("se").getLanguage().equals(Locale.getDefault().getLanguage())
603
        );
604 2 1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
2. lambda$initializeMenuTranslation$25 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
        this.itemSwedish.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("se")));
605
        
606
        this.itemFinnish = new JRadioButtonMenuItem(
607
            Locale.forLanguageTag("fi").getDisplayLanguage(Locale.forLanguageTag("fi")),
608
            UiUtil.ICON_FLAG_FI,
609
            Locale.forLanguageTag("fi").getLanguage().equals(Locale.getDefault().getLanguage())
610
        );
611 2 1. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
2. lambda$initializeMenuTranslation$26 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
        this.itemFinnish.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("fi")));
612
        
613
        this.itemKorean = new JRadioButtonMenuItem(
614
            String.format(
615
                patternAsianDisplay,
616
                UiUtil.FONT_NAME_MONO_ASIAN,
617
                Locale.forLanguageTag("ko").getDisplayLanguage(Locale.forLanguageTag("ko"))
618
            ),
619
            UiUtil.ICON_FLAG_KO,
620
            Locale.forLanguageTag("ko").getLanguage().equals(Locale.getDefault().getLanguage())
621
        );
622 2 1. lambda$initializeMenuTranslation$27 : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
2. initializeMenuTranslation : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        this.itemKorean.addActionListener(actionEvent -> Menubar.this.switchLocale(Locale.forLanguageTag("ko")));
623
        
624
        var groupRadioLanguage = new ButtonGroup();
625
        
626
        Stream.of(
627
            this.itemEnglish,
628
            this.itemRussian,
629
            this.itemChinese,
630
            this.itemSpanish,
631
            this.itemFrench,
632
            this.itemTurkish,
633
            this.itemKorean,
634
            this.itemSwedish,
635
            this.itemFinnish,
636
            this.itemArabic,
637
            this.itemCzech,
638
            this.itemItalian,
639
            this.itemPortuguese,
640
            this.itemPolish,
641
            this.itemIndonesian,
642
            this.itemDutch,
643
            this.itemRomanian,
644
            this.itemGerman
645
        )
646 1 1. initializeMenuTranslation : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
        .forEach(menuItem -> {
647
            
648
            menuTranslation.add(menuItem);
649 1 1. lambda$initializeMenuTranslation$28 : removed call to javax/swing/ButtonGroup::add → NO_COVERAGE
            groupRadioLanguage.add(menuItem);
650
        });
651
        
652 1 1. initializeMenuTranslation : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuTranslation → NO_COVERAGE
        return menuTranslation;
653
    }
654
655
    private JMenu initializeMenuI18nContribution() {
656
        
657
        var menuI18nContribution = new JMenu(I18nUtil.valueByKey("MENUBAR_COMMUNITY_HELPTRANSLATE"));
658 1 1. initializeMenuI18nContribution : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_COMMUNITY_HELPTRANSLATE", menuI18nContribution);
659
        
660
        // Render the About dialog behind scene
661
        final var dialogTranslate = new DialogTranslate();
662
        
663
        class ActionTranslate implements ActionListener {
664
            
665
            private final Language language;
666
            
667
            ActionTranslate(Language language) {
668
                this.language = language;
669
            }
670
            
671
            @Override
672
            public void actionPerformed(ActionEvent arg0) {
673
                
674 1 1. actionPerformed : removed call to com/jsql/view/swing/dialog/DialogTranslate::initializeDialog → NO_COVERAGE
                dialogTranslate.initializeDialog(this.language);
675
                
676
                // Center the dialog
677 1 1. actionPerformed : negated conditional → NO_COVERAGE
                if (!dialogTranslate.isVisible()) {
678
                    
679 1 1. actionPerformed : removed call to com/jsql/view/swing/dialog/DialogTranslate::setSize → NO_COVERAGE
                    dialogTranslate.setSize(640, 460);
680 1 1. actionPerformed : removed call to com/jsql/view/swing/dialog/DialogTranslate::setLocationRelativeTo → NO_COVERAGE
                    dialogTranslate.setLocationRelativeTo(MediatorHelper.frame());
681 1 1. actionPerformed : removed call to javax/swing/JRootPane::setDefaultButton → NO_COVERAGE
                    dialogTranslate.getRootPane().setDefaultButton(dialogTranslate.getButtonSend());
682
                }
683
                
684 1 1. actionPerformed : removed call to com/jsql/view/swing/dialog/DialogTranslate::setVisible → NO_COVERAGE
                dialogTranslate.setVisible(true);
685
            }
686
        }
687
        
688
        var formatMenuItemUTF8 = "<html><span style=\"font-family:'%s'\">%s</span>...</html>";
689
        
690
        this.itemIntoHindi = new JMenuItem(
691
            String.format(
692
                formatMenuItemUTF8,
693
                UiUtil.FONT_NAME_MONO_ASIAN,
694
                Locale.forLanguageTag("hi").getDisplayLanguage(Locale.forLanguageTag("hi"))
695
            ),
696
            UiUtil.ICON_FLAG_HI
697
        );
698
        this.itemIntoArabic = new JMenuItem(
699
            String.format(
700
                formatMenuItemUTF8,
701
                UiUtil.FONT_NAME_MONO_ASIAN,
702
                Locale.forLanguageTag("ar").getDisplayLanguage(Locale.forLanguageTag("ar"))
703
            ),
704
            UiUtil.ICON_FLAG_AR
705
        );
706
        this.itemIntoRussia = new JMenuItem(Locale.forLanguageTag("ru").getDisplayLanguage(Locale.forLanguageTag("ru")) +"...", UiUtil.ICON_FLAG_RU);
707
        this.itemIntoChina = new JMenuItem(
708
            String.format(
709
                formatMenuItemUTF8,
710
                UiUtil.FONT_NAME_MONO_ASIAN,
711
                Locale.forLanguageTag("zh").getDisplayLanguage(Locale.forLanguageTag("zh"))
712
            ),
713
            UiUtil.ICON_FLAG_ZH
714
        );
715
        this.itemIntoFrench = new JMenuItem(Locale.forLanguageTag("fr").getDisplayLanguage(Locale.forLanguageTag("fr")) +"...", UiUtil.ICON_FLAG_FR);
716
        this.itemIntoTurkish = new JMenuItem(Locale.forLanguageTag("tr").getDisplayLanguage(Locale.forLanguageTag("tr")) +"...", UiUtil.ICON_FLAG_TR);
717
        this.itemIntoCzech = new JMenuItem(Locale.forLanguageTag("cs").getDisplayLanguage(Locale.forLanguageTag("cs")) +"...", UiUtil.ICON_FLAG_CS);
718
        this.itemIntoDutch = new JMenuItem(Locale.forLanguageTag("nl").getDisplayLanguage(Locale.forLanguageTag("nl")) +"...", UiUtil.ICON_FLAG_NL);
719
        this.itemIntoGerman = new JMenuItem(Locale.forLanguageTag("de").getDisplayLanguage(Locale.forLanguageTag("de")) +"...", UiUtil.ICON_FLAG_DE);
720
        this.itemIntoIndonesian = new JMenuItem(Locale.forLanguageTag(LANGUAGE_IN_ID).getDisplayLanguage(Locale.forLanguageTag(LANGUAGE_IN_ID)) +"...", UiUtil.ICON_FLAG_IN_ID);
721
        this.itemIntoItalian = new JMenuItem(Locale.forLanguageTag("it").getDisplayLanguage(Locale.forLanguageTag("it")) +"...", UiUtil.ICON_FLAG_IT);
722
        this.itemIntoSpanish = new JMenuItem(Locale.forLanguageTag("es").getDisplayLanguage(Locale.forLanguageTag("es")) +"...", UiUtil.ICON_FLAG_ES);
723
        this.itemIntoPortuguese = new JMenuItem(Locale.forLanguageTag("pt").getDisplayLanguage(Locale.forLanguageTag("pt")) +"...", UiUtil.ICON_FLAG_PT);
724
        this.itemIntoPolish = new JMenuItem(Locale.forLanguageTag("pl").getDisplayLanguage(Locale.forLanguageTag("pl")) +"...", UiUtil.ICON_FLAG_PL);
725
        this.itemIntoRomanian = new JMenuItem(Locale.forLanguageTag("ro").getDisplayLanguage(Locale.forLanguageTag("ro")) +"...", UiUtil.ICON_FLAG_RO);
726
        this.itemIntoTamil = new JMenuItem(Locale.forLanguageTag("ta").getDisplayLanguage(Locale.forLanguageTag("ta")) +"...", UiUtil.ICON_FLAG_LK);
727
        this.itemIntoJapanese = new JMenuItem(
728
            String.format(
729
                formatMenuItemUTF8,
730
                UiUtil.FONT_NAME_MONO_ASIAN,
731
                Locale.forLanguageTag("ja").getDisplayLanguage(Locale.forLanguageTag("ja"))
732
            ),
733
            UiUtil.ICON_FLAG_JA
734
        );
735
        this.itemIntoKorean = new JMenuItem(
736
            String.format(
737
                formatMenuItemUTF8,
738
                UiUtil.FONT_NAME_MONO_ASIAN,
739
                Locale.forLanguageTag("ko").getDisplayLanguage(Locale.forLanguageTag("ko"))
740
            ),
741
            UiUtil.ICON_FLAG_KO
742
        );
743
        this.itemIntoSwedish = new JMenuItem(Locale.forLanguageTag("se").getDisplayLanguage(Locale.forLanguageTag("se")) +"...", UiUtil.ICON_FLAG_SE);
744
        this.itemIntoFinnish = new JMenuItem(Locale.forLanguageTag("fi").getDisplayLanguage(Locale.forLanguageTag("fi")) +"...", UiUtil.ICON_FLAG_FI);
745
        var itemIntoOther = new JMenuItem(I18nUtil.valueByKey("MENUBAR_COMMUNITY_ANOTHERLANGUAGE"));
746 1 1. initializeMenuI18nContribution : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_COMMUNITY_ANOTHERLANGUAGE", itemIntoOther);
747
        
748 1 1. initializeMenuI18nContribution : removed call to javax/swing/JMenuItem::setComponentOrientation → NO_COVERAGE
        this.itemIntoArabic.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
749
        
750 1 1. initializeMenuI18nContribution : removed call to javax/swing/JMenuItem::setName → NO_COVERAGE
        this.itemIntoFrench.setName("itemIntoFrench");
751
        
752
        Stream.of(
753
            this.itemIntoFrench,
754
            this.itemIntoSpanish,
755
            this.itemIntoSwedish,
756
            this.itemIntoFinnish,
757
            this.itemIntoTurkish,
758
            this.itemIntoCzech,
759
            this.itemIntoRomanian,
760
            this.itemIntoItalian,
761
            this.itemIntoPortuguese,
762
            this.itemIntoArabic,
763
            this.itemIntoPolish,
764
            this.itemIntoRussia,
765
            this.itemIntoChina,
766
            this.itemIntoGerman,
767
            this.itemIntoIndonesian,
768
            this.itemIntoJapanese,
769
            this.itemIntoKorean,
770
            this.itemIntoHindi,
771
            this.itemIntoDutch,
772
            this.itemIntoTamil,
773
            new JSeparator(),
774
            itemIntoOther
775
        )
776 1 1. initializeMenuI18nContribution : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
        .forEach(menuI18nContribution::add);
777
        
778
        Stream.of(
779
            new SimpleEntry<>(this.itemIntoHindi, Language.HI),
780
            new SimpleEntry<>(this.itemIntoArabic, Language.AR),
781
            new SimpleEntry<>(this.itemIntoRussia, Language.RU),
782
            new SimpleEntry<>(this.itemIntoChina, Language.ZH),
783
            new SimpleEntry<>(this.itemIntoFrench, Language.FR),
784
            new SimpleEntry<>(this.itemIntoTurkish, Language.TR),
785
            new SimpleEntry<>(this.itemIntoCzech, Language.CS),
786
            new SimpleEntry<>(this.itemIntoGerman, Language.DE),
787
            new SimpleEntry<>(this.itemIntoRomanian, Language.RO),
788
            new SimpleEntry<>(this.itemIntoTamil, Language.TA),
789
            new SimpleEntry<>(this.itemIntoDutch, Language.NL),
790
            new SimpleEntry<>(this.itemIntoIndonesian, Language.IN_ID),
791
            new SimpleEntry<>(this.itemIntoItalian, Language.IT),
792
            new SimpleEntry<>(this.itemIntoSpanish, Language.ES),
793
            new SimpleEntry<>(this.itemIntoPortuguese, Language.PT),
794
            new SimpleEntry<>(this.itemIntoPolish, Language.PL),
795
            new SimpleEntry<>(this.itemIntoKorean, Language.KO),
796
            new SimpleEntry<>(this.itemIntoJapanese, Language.JA),
797
            new SimpleEntry<>(this.itemIntoSwedish, Language.SE),
798
            new SimpleEntry<>(this.itemIntoFinnish, Language.FI),
799
            new SimpleEntry<>(itemIntoOther, Language.OT)
800
        )
801 2 1. lambda$initializeMenuI18nContribution$30 : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
2. initializeMenuI18nContribution : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
        .forEach(entry -> entry.getKey().addActionListener(
802
            new ActionTranslate(entry.getValue())
803
        ));
804
        
805 1 1. initializeMenuI18nContribution : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuI18nContribution → NO_COVERAGE
        return menuI18nContribution;
806
    }
807
808
    private JMenuItem initializeItemReportIssue() {
809
        
810
        JMenuItem itemReportIssue = new JMenuItemWithMargin(I18nUtil.valueByKey("MENUBAR_COMMUNITY_REPORTISSUE"), 'R');
811 1 1. initializeItemReportIssue : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_COMMUNITY_REPORTISSUE", itemReportIssue);
812
        
813 1 1. initializeItemReportIssue : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        itemReportIssue.addActionListener(actionEvent -> {
814
            
815
            var panel = new JPanel(new BorderLayout());
816
            final JTextArea textarea = new JPopupTextArea(new JTextArea()).getProxy();
817 1 1. lambda$initializeItemReportIssue$31 : removed call to javax/swing/JTextArea::setFont → NO_COVERAGE
            textarea.setFont(new Font(
818
                UiUtil.FONT_NAME_MONOSPACED,
819
                Font.PLAIN,
820
                UIManager.getDefaults().getFont("TextField.font").getSize()
821
            ));
822 1 1. lambda$initializeItemReportIssue$31 : removed call to javax/swing/JTextArea::setText → NO_COVERAGE
            textarea.setText(
823
                "## What's the expected behavior?\n\n"
824
                + "## What's the actual behavior?\n\n"
825
                + "## Any other detailed information on the Issue?\n\n"
826
                + "## Steps to reproduce the problem\n\n"
827
                + "  1. ...\n"
828
                + "  2. ...\n\n"
829
                + "## [Community] Request for new feature\n\n"
830
            );
831 1 1. lambda$initializeItemReportIssue$31 : removed call to javax/swing/JPanel::add → NO_COVERAGE
            panel.add(new JLabel("Describe your bug or issue :"), BorderLayout.NORTH);
832
            panel.add(new LightScrollPane(1, 1, 1, 1, textarea));
833
            
834 1 1. lambda$initializeItemReportIssue$31 : removed call to javax/swing/JPanel::setPreferredSize → NO_COVERAGE
            panel.setPreferredSize(new Dimension(400, 250));
835 1 1. lambda$initializeItemReportIssue$31 : removed call to javax/swing/JPanel::setMinimumSize → NO_COVERAGE
            panel.setMinimumSize(new Dimension(400, 250));
836
            
837 1 1. lambda$initializeItemReportIssue$31 : removed call to javax/swing/JTextArea::addMouseListener → NO_COVERAGE
            textarea.addMouseListener(new MouseAdapter() {
838
                
839
                @Override
840
                public void mousePressed(MouseEvent e) {
841
                    
842 1 1. mousePressed : removed call to java/awt/event/MouseAdapter::mousePressed → NO_COVERAGE
                    super.mousePressed(e);
843
                    textarea.requestFocusInWindow();
844
                }
845
            });
846
847
            int result = JOptionPane.showOptionDialog(
848
                MediatorHelper.frame(),
849
                panel,
850
                "Report an issue or a bug",
851
                JOptionPane.OK_CANCEL_OPTION,
852
                JOptionPane.QUESTION_MESSAGE,
853
                null,
854
                new String[] {
855
                    "Report",
856
                    I18nUtil.valueByKey("LIST_ADD_VALUE_CANCEL")
857
                },
858
                I18nUtil.valueByKey("LIST_ADD_VALUE_CANCEL")
859
            );
860
861 2 1. lambda$initializeItemReportIssue$31 : negated conditional → NO_COVERAGE
2. lambda$initializeItemReportIssue$31 : negated conditional → NO_COVERAGE
            if (StringUtils.isNotEmpty(textarea.getText()) && result == JOptionPane.YES_OPTION) {
862 1 1. lambda$initializeItemReportIssue$31 : removed call to com/jsql/util/GitUtil::sendReport → NO_COVERAGE
                MediatorHelper.model().getMediatorUtils().getGitUtil().sendReport(textarea.getText(), ShowOnConsole.YES, "Report");
863
            }
864
        });
865
        
866 1 1. initializeItemReportIssue : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeItemReportIssue → NO_COVERAGE
        return itemReportIssue;
867
    }
868
869
    private JMenu initializeMenuEdit() {
870
        
871
        // Edit Menu > copy | select all
872
        var menuEdit = new JMenu(I18nUtil.valueByKey("MENUBAR_EDIT"));
873 1 1. initializeMenuEdit : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_EDIT", menuEdit);
874 1 1. initializeMenuEdit : removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE
        menuEdit.setMnemonic('E');
875
876
        JMenuItem itemCopy = new JMenuItemWithMargin(I18nUtil.valueByKey("CONTEXT_MENU_COPY"), 'C');
877 1 1. initializeMenuEdit : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("CONTEXT_MENU_COPY", itemCopy);
878 1 1. initializeMenuEdit : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE
        itemCopy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_DOWN_MASK));
879 1 1. initializeMenuEdit : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        itemCopy.addActionListener(actionEvent -> {
880 1 1. lambda$initializeMenuEdit$32 : negated conditional → NO_COVERAGE
            if (MediatorHelper.tabResults().getSelectedComponent() instanceof PanelTable) {
881 1 1. lambda$initializeMenuEdit$32 : removed call to com/jsql/view/swing/table/PanelTable::copyTable → NO_COVERAGE
                ((PanelTable) MediatorHelper.tabResults().getSelectedComponent()).copyTable();
882 1 1. lambda$initializeMenuEdit$32 : negated conditional → NO_COVERAGE
            } else if (MediatorHelper.tabResults().getSelectedComponent() instanceof JScrollPane) {
883 1 1. lambda$initializeMenuEdit$32 : removed call to javax/swing/JTextArea::copy → NO_COVERAGE
                ((JTextArea) ((JScrollPane) MediatorHelper.tabResults().getSelectedComponent()).getViewport().getView()).copy();
884
            }
885
        });
886
887
        JMenuItem itemSelectAll = new JMenuItemWithMargin(I18nUtil.valueByKey("CONTEXT_MENU_SELECT_ALL"), 'A');
888 1 1. initializeMenuEdit : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("CONTEXT_MENU_SELECT_ALL", itemSelectAll);
889 1 1. initializeMenuEdit : removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE
        itemSelectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_DOWN_MASK));
890 1 1. initializeMenuEdit : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        itemSelectAll.addActionListener(actionEvent -> {
891
            
892 1 1. lambda$initializeMenuEdit$33 : negated conditional → NO_COVERAGE
            if (MediatorHelper.tabResults().getSelectedComponent() instanceof PanelTable) {
893 1 1. lambda$initializeMenuEdit$33 : removed call to com/jsql/view/swing/table/PanelTable::selectTable → NO_COVERAGE
                ((PanelTable) MediatorHelper.tabResults().getSelectedComponent()).selectTable();
894 1 1. lambda$initializeMenuEdit$33 : negated conditional → NO_COVERAGE
            } else if (MediatorHelper.tabResults().getSelectedComponent() instanceof JScrollPane) {
895
                
896
                // Textarea need focus to select all
897
                ((JScrollPane) MediatorHelper.tabResults().getSelectedComponent()).getViewport().getView().requestFocusInWindow();
898 1 1. lambda$initializeMenuEdit$33 : removed call to javax/swing/JTextArea::selectAll → NO_COVERAGE
                ((JTextArea) ((JScrollPane) MediatorHelper.tabResults().getSelectedComponent()).getViewport().getView()).selectAll();
899
            }
900
        });
901
902
        menuEdit.add(itemCopy);
903
        menuEdit.add(new JSeparator());
904
        menuEdit.add(itemSelectAll);
905
        
906 1 1. initializeMenuEdit : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuEdit → NO_COVERAGE
        return menuEdit;
907
    }
908
909
    private JMenu initializeMenuFile() {
910
        
911
        // File Menu > save tab | exit
912
        var menuFile = new JMenu(I18nUtil.valueByKey("MENUBAR_FILE"));
913 1 1. initializeMenuFile : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_FILE", menuFile);
914 1 1. initializeMenuFile : removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE
        menuFile.setMnemonic('F');
915
916
        JMenuItem itemSave = new JMenuItemWithMargin(new ActionSaveTab());
917 1 1. initializeMenuFile : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_FILE_SAVETABAS", itemSave);
918
919
        JMenuItem itemExit = new JMenuItemWithMargin(I18nUtil.valueByKey("MENUBAR_FILE_EXIT"), 'x');
920 1 1. initializeMenuFile : removed call to com/jsql/view/swing/util/I18nViewUtil::addComponentForKey → NO_COVERAGE
        I18nViewUtil.addComponentForKey("MENUBAR_FILE_EXIT", itemExit);
921 2 1. lambda$initializeMenuFile$34 : removed call to com/jsql/view/swing/JFrameView::dispose → NO_COVERAGE
2. initializeMenuFile : removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE
        itemExit.addActionListener(actionEvent -> MediatorHelper.frame().dispose());
922
923 1 1. initializeMenuFile : removed call to com/jsql/view/swing/action/HotkeyUtil::addShortcut → NO_COVERAGE
        HotkeyUtil.addShortcut(Menubar.this);
924
925
        menuFile.add(itemSave);
926
        menuFile.add(new JSeparator());
927
        menuFile.add(itemExit);
928
        
929 1 1. initializeMenuFile : replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuFile → NO_COVERAGE
        return menuFile;
930
    }
931
    
932
    public void switchLocale(Locale newLocale) {
933
        
934 1 1. switchLocale : removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE
        this.switchLocale(I18nUtil.getLocaleDefault(), newLocale, false);
935
    }
936
    
937
    public void switchLocale(Locale oldLocale, Locale newLocale, boolean isStartup) {
938
        
939 1 1. switchLocale : removed call to com/jsql/util/I18nUtil::setLocaleDefault → NO_COVERAGE
        I18nUtil.setLocaleDefault(ResourceBundle.getBundle("i18n.jsql", newLocale));
940 1 1. switchLocale : removed call to com/jsql/view/swing/menubar/Menubar::switchNetworkTable → NO_COVERAGE
        this.switchNetworkTable(newLocale);
941 1 1. switchLocale : removed call to com/jsql/view/swing/menubar/Menubar::switchI18nComponents → NO_COVERAGE
        this.switchI18nComponents(newLocale);
942 1 1. switchLocale : removed call to com/jsql/view/swing/menubar/Menubar::switchOrientation → NO_COVERAGE
        this.switchOrientation(oldLocale, newLocale, isStartup);
943 1 1. switchLocale : removed call to com/jsql/view/swing/menubar/Menubar::switchMenuItems → NO_COVERAGE
        this.switchMenuItems();
944
        
945 1 1. switchLocale : removed call to com/jsql/view/swing/tree/TreeDatabase::reloadNodes → NO_COVERAGE
        MediatorHelper.treeDatabase().reloadNodes();
946
947
        // IllegalArgumentException #92981 on revalidate()
948
        try {
949 1 1. switchLocale : removed call to com/jsql/view/swing/JFrameView::revalidate → NO_COVERAGE
            MediatorHelper.frame().revalidate();  // Fix glitches on Linux
950
        } catch (IllegalArgumentException e) {
951
            LOGGER.log(LogLevelUtil.CONSOLE_JAVA, e, e);
952
        }
953
    }
954
955
    private void switchOrientation(Locale oldLocale, Locale newLocale, boolean isStartup) {
956
        
957
        var componentOrientation = ComponentOrientation.getOrientation(I18nUtil.getLocaleDefault());
958 1 1. switchOrientation : removed call to com/jsql/view/swing/JFrameView::applyComponentOrientation → NO_COVERAGE
        MediatorHelper.frame().applyComponentOrientation(componentOrientation);
959
        
960 1 1. switchOrientation : negated conditional → NO_COVERAGE
        if (!ComponentOrientation.getOrientation(oldLocale).equals(ComponentOrientation.getOrientation(newLocale))) {
961
            
962
            JSplitPane splitPaneLeftRight = MediatorHelper.frame().getSplitHorizontalTopBottom().getSplitVerticalLeftRight();
963
            
964
            var componentLeft = splitPaneLeftRight.getLeftComponent();
965
            var componentRight = splitPaneLeftRight.getRightComponent();
966
967
            // Reset components
968 1 1. switchOrientation : removed call to javax/swing/JSplitPane::setLeftComponent → NO_COVERAGE
            splitPaneLeftRight.setLeftComponent(null);
969 1 1. switchOrientation : removed call to javax/swing/JSplitPane::setRightComponent → NO_COVERAGE
            splitPaneLeftRight.setRightComponent(null);
970
            
971 1 1. switchOrientation : removed call to javax/swing/JSplitPane::setLeftComponent → NO_COVERAGE
            splitPaneLeftRight.setLeftComponent(componentRight);
972 1 1. switchOrientation : removed call to javax/swing/JSplitPane::setRightComponent → NO_COVERAGE
            splitPaneLeftRight.setRightComponent(componentLeft);
973
            
974 1 1. switchOrientation : negated conditional → NO_COVERAGE
            if (isStartup) {
975 1 1. switchOrientation : removed call to javax/swing/JSplitPane::setDividerLocation → NO_COVERAGE
                splitPaneLeftRight.setDividerLocation(
976
                    splitPaneLeftRight.getDividerLocation()
977
                );
978
            } else {
979 1 1. switchOrientation : removed call to javax/swing/JSplitPane::setDividerLocation → NO_COVERAGE
                splitPaneLeftRight.setDividerLocation(
980
                    splitPaneLeftRight.getWidth() -
981 1 1. switchOrientation : Replaced integer subtraction with addition → NO_COVERAGE
                    splitPaneLeftRight.getDividerLocation()
982
                );
983
            }
984
        }
985
        
986 1 1. switchOrientation : removed call to com/jsql/view/swing/tab/TabResults::setComponentOrientation → NO_COVERAGE
        MediatorHelper.tabResults().setComponentOrientation(ComponentOrientation.getOrientation(newLocale));
987
    }
988
989
    private void switchI18nComponents(Locale newLocale) {
990
        
991
        for (String key: I18nViewUtil.keys()) {
992
            
993
            String textI18n = I18nViewUtil.valueByKey(key, newLocale);
994
            
995
            for (Object componentSwing: I18nViewUtil.componentsByKey(key)) {
996 1 1. switchI18nComponents : negated conditional → NO_COVERAGE
                if (componentSwing instanceof JTextFieldPlaceholder) {
997
                    // Textfield does not need <html> tags for asian fonts
998 1 1. switchI18nComponents : removed call to com/jsql/view/swing/text/JTextFieldPlaceholder::setPlaceholderText → NO_COVERAGE
                    ((JTextFieldPlaceholder) componentSwing).setPlaceholderText(I18nUtil.valueByKey(key));
999 1 1. switchI18nComponents : negated conditional → NO_COVERAGE
                } else if (componentSwing instanceof JToolTipI18n) {
1000 1 1. switchI18nComponents : removed call to com/jsql/view/swing/text/JToolTipI18n::setText → NO_COVERAGE
                    ((JToolTipI18n) componentSwing).setText(textI18n);
1001 1 1. switchI18nComponents : negated conditional → NO_COVERAGE
                } else if (componentSwing instanceof JLabel) {
1002 1 1. switchI18nComponents : removed call to javax/swing/JLabel::setText → NO_COVERAGE
                    ((JLabel) componentSwing).setText(textI18n);
1003 1 1. switchI18nComponents : negated conditional → NO_COVERAGE
                } else if (componentSwing instanceof JCheckBoxMenuItem) {
1004 1 1. switchI18nComponents : removed call to javax/swing/JCheckBoxMenuItem::setText → NO_COVERAGE
                    ((JCheckBoxMenuItem) componentSwing).setText(textI18n);
1005 1 1. switchI18nComponents : negated conditional → NO_COVERAGE
                } else if (componentSwing instanceof JMenuItem) {
1006 1 1. switchI18nComponents : removed call to javax/swing/JMenuItem::setText → NO_COVERAGE
                    ((JMenuItem) componentSwing).setText(textI18n);
1007 1 1. switchI18nComponents : negated conditional → NO_COVERAGE
                } else if (componentSwing instanceof JButtonStateful) {
1008 1 1. switchI18nComponents : removed call to com/jsql/view/swing/manager/util/JButtonStateful::setText → NO_COVERAGE
                    ((JButtonStateful) componentSwing).setText(textI18n);
1009 1 1. switchI18nComponents : negated conditional → NO_COVERAGE
                } else if (componentSwing instanceof NodeModelEmpty) {
1010 1 1. switchI18nComponents : removed call to com/jsql/view/swing/tree/model/NodeModelEmpty::setText → NO_COVERAGE
                    ((NodeModelEmpty) componentSwing).setText(textI18n);
1011
                } else {
1012 1 1. switchI18nComponents : removed call to javax/swing/text/JTextComponent::setText → NO_COVERAGE
                    ((JTextComponent) componentSwing).setText(textI18n);
1013
                }
1014
            }
1015
        }
1016
    }
1017
1018
    private void switchMenuItems() {
1019
        
1020
        Stream.of(
1021
            this.itemArabic,
1022
            this.itemIntoArabic
1023
        )
1024 2 1. lambda$switchMenuItems$35 : removed call to javax/swing/JMenuItem::setComponentOrientation → NO_COVERAGE
2. switchMenuItems : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
        .forEach(menuItem -> menuItem.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT));
1025
        
1026
        Stream.of(
1027
            this.itemEnglish,
1028
            this.itemChinese,
1029
            this.itemRussian,
1030
            this.itemFrench,
1031
            this.itemCzech,
1032
            this.itemDutch,
1033
            this.itemGerman,
1034
            this.itemRomanian,
1035
            this.itemSwedish,
1036
            this.itemFinnish,
1037
            this.itemKorean,
1038
            this.itemTurkish,
1039
            this.itemIndonesian,
1040
            this.itemItalian,
1041
            this.itemSpanish,
1042
            this.itemPortuguese,
1043
            this.itemPolish,
1044
            
1045
            this.itemIntoHindi,
1046
            this.itemIntoRussia,
1047
            this.itemIntoChina,
1048
            this.itemIntoFrench,
1049
            this.itemIntoTurkish,
1050
            this.itemIntoCzech,
1051
            this.itemIntoGerman,
1052
            this.itemIntoRomanian,
1053
            this.itemIntoDutch,
1054
            this.itemIntoIndonesian,
1055
            this.itemIntoItalian,
1056
            this.itemIntoSpanish,
1057
            this.itemIntoPortuguese,
1058
            this.itemIntoPolish,
1059
            this.itemIntoKorean,
1060
            this.itemIntoJapanese,
1061
            this.itemIntoTamil,
1062
            this.itemIntoSwedish,
1063
            this.itemIntoFinnish
1064
        )
1065 2 1. switchMenuItems : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
2. lambda$switchMenuItems$36 : removed call to javax/swing/JMenuItem::setComponentOrientation → NO_COVERAGE
        .forEach(menuItem -> menuItem.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT));
1066
    }
1067
1068
    private void switchNetworkTable(Locale newLocale) {
1069
        
1070
        JTableHeader header = MediatorHelper.panelConsoles().getNetworkTable().getTableHeader();
1071
        TableColumnModel columnModel = header.getColumnModel();
1072
        
1073 1 1. switchNetworkTable : negated conditional → NO_COVERAGE
        if (I18nUtil.isAsian(newLocale)) {
1074
            
1075
            Stream.of(
1076
                JTextPaneAppender.ATTRIBUTE_WARN,
1077
                JTextPaneAppender.ATTRIBUTE_INFORM,
1078
                JTextPaneAppender.ATTRIBUTE_SUCCESS,
1079
                JTextPaneAppender.ATTRIBUTE_ALL
1080
            )
1081 1 1. switchNetworkTable : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
            .forEach(attribute -> {
1082 1 1. lambda$switchNetworkTable$37 : removed call to javax/swing/text/StyleConstants::setFontFamily → NO_COVERAGE
                StyleConstants.setFontFamily(attribute, UiUtil.FONT_NAME_MONO_ASIAN);
1083 1 1. lambda$switchNetworkTable$37 : removed call to javax/swing/text/StyleConstants::setFontSize → NO_COVERAGE
                StyleConstants.setFontSize(attribute, UiUtil.FONT_SIZE_MONO_ASIAN);
1084
            });
1085
            
1086 1 1. switchNetworkTable : removed call to javax/swing/JTextPane::setFont → NO_COVERAGE
            MediatorHelper.managerBruteForce().getResult().setFont(UiUtil.FONT_MONO_ASIAN);
1087
            
1088 1 1. switchNetworkTable : removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE
            columnModel.getColumn(0).setHeaderValue(I18nViewUtil.valueByKey("NETWORK_TAB_URL_COLUMN"));
1089 1 1. switchNetworkTable : removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE
            columnModel.getColumn(1).setHeaderValue(I18nViewUtil.valueByKey("NETWORK_TAB_SIZE_COLUMN") +" (KB)");
1090 1 1. switchNetworkTable : removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE
            columnModel.getColumn(2).setHeaderValue("Strategy");
1091
            
1092
        } else {
1093
            
1094
            Stream.of(
1095
                JTextPaneAppender.ATTRIBUTE_WARN,
1096
                JTextPaneAppender.ATTRIBUTE_INFORM,
1097
                JTextPaneAppender.ATTRIBUTE_SUCCESS,
1098
                JTextPaneAppender.ATTRIBUTE_ALL
1099
            )
1100 1 1. switchNetworkTable : removed call to java/util/stream/Stream::forEach → NO_COVERAGE
            .forEach(attribute -> {
1101 1 1. lambda$switchNetworkTable$38 : removed call to javax/swing/text/StyleConstants::setFontFamily → NO_COVERAGE
                StyleConstants.setFontFamily(attribute, UiUtil.FONT_NAME_MONO_NON_ASIAN);
1102 1 1. lambda$switchNetworkTable$38 : removed call to javax/swing/text/StyleConstants::setFontSize → NO_COVERAGE
                StyleConstants.setFontSize(attribute, UiUtil.FONT_SIZE_MONO_NON_ASIAN);
1103
            });
1104
            
1105 1 1. switchNetworkTable : removed call to javax/swing/JTextPane::setFont → NO_COVERAGE
            MediatorHelper.managerBruteForce().getResult().setFont(UiUtil.FONT_MONO_NON_ASIAN);
1106
            
1107 1 1. switchNetworkTable : removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE
            columnModel.getColumn(0).setHeaderValue(I18nUtil.valueByKey("NETWORK_TAB_URL_COLUMN"));
1108 1 1. switchNetworkTable : removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE
            columnModel.getColumn(1).setHeaderValue(I18nUtil.valueByKey("NETWORK_TAB_SIZE_COLUMN") +" (KB)");
1109 1 1. switchNetworkTable : removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE
            columnModel.getColumn(2).setHeaderValue("Strategy");
1110
        }
1111
        
1112 1 1. switchNetworkTable : removed call to javax/swing/table/JTableHeader::repaint → NO_COVERAGE
        header.repaint();
1113
    }
1114
    
1115
    
1116
    // Getter and setter
1117
1118
    public JCheckBoxMenuItem getChunkMenu() {
1119 1 1. getChunkMenu : replaced return value with null for com/jsql/view/swing/menubar/Menubar::getChunkMenu → NO_COVERAGE
        return this.chunkMenu;
1120
    }
1121
1122
    public JCheckBoxMenuItem getJavaDebugMenu() {
1123 1 1. getJavaDebugMenu : replaced return value with null for com/jsql/view/swing/menubar/Menubar::getJavaDebugMenu → NO_COVERAGE
        return this.javaDebugMenu;
1124
    }
1125
1126
    public JMenu getMenuView() {
1127 1 1. getMenuView : replaced return value with null for com/jsql/view/swing/menubar/Menubar::getMenuView → NO_COVERAGE
        return this.menuView;
1128
    }
1129
}

Mutations

141

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenu::setName → NO_COVERAGE

142

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

143

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE

146

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

164

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

165

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE

168

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

172

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

176

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

180

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

184

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

188

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

192

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

196

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

200

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

207

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

208

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE

215

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

223

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

231

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

239

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

242

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JCheckBoxMenuItem::setUI → NO_COVERAGE

246

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

252

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JCheckBoxMenuItem::addActionListener → NO_COVERAGE

253

1.1
Location : lambda$initializeMenuWindows$0
Killed by : none
negated conditional → NO_COVERAGE

254

1.1
Location : lambda$initializeMenuWindows$0
Killed by : none
removed call to com/jsql/view/swing/panel/PanelConsoles::insertChunkTab → NO_COVERAGE

256

1.1
Location : lambda$initializeMenuWindows$0
Killed by : none
removed call to com/jsql/view/swing/tab/TabConsoles::remove → NO_COVERAGE

260

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JCheckBoxMenuItem::addActionListener → NO_COVERAGE

261

1.1
Location : lambda$initializeMenuWindows$1
Killed by : none
negated conditional → NO_COVERAGE

262

1.1
Location : lambda$initializeMenuWindows$1
Killed by : none
removed call to com/jsql/view/swing/panel/PanelConsoles::insertBooleanTab → NO_COVERAGE

264

1.1
Location : lambda$initializeMenuWindows$1
Killed by : none
removed call to com/jsql/view/swing/tab/TabConsoles::remove → NO_COVERAGE

268

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JCheckBoxMenuItem::addActionListener → NO_COVERAGE

269

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

270

1.1
Location : lambda$initializeMenuWindows$2
Killed by : none
removed call to com/jsql/view/swing/panel/PanelConsoles::insertNetworkTab → NO_COVERAGE

272

1.1
Location : lambda$initializeMenuWindows$2
Killed by : none
removed call to com/jsql/view/swing/tab/TabConsoles::remove → NO_COVERAGE

276

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JCheckBoxMenuItem::addActionListener → NO_COVERAGE

277

1.1
Location : lambda$initializeMenuWindows$3
Killed by : none
negated conditional → NO_COVERAGE

278

1.1
Location : lambda$initializeMenuWindows$3
Killed by : none
removed call to com/jsql/view/swing/panel/PanelConsoles::insertJavaTab → NO_COVERAGE

280

1.1
Location : lambda$initializeMenuWindows$3
Killed by : none
removed call to com/jsql/view/swing/tab/TabConsoles::remove → NO_COVERAGE

289

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE

290

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE

291

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE

292

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE

293

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE

294

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE

295

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE

296

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE

297

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE

299

1.1
Location : initializeMenuWindows
Killed by : none
changed conditional boundary → NO_COVERAGE

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

303

1.1
Location : lambda$initializeMenuWindows$4
Killed by : none
removed call to com/jsql/view/swing/tab/TabManagersProxy::setSelectedIndex → NO_COVERAGE

2.2
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE

307

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenuItem::setName → NO_COVERAGE

309

1.1
Location : initializeMenuWindows
Killed by : none
removed call to javax/swing/JMenuItem::setName → NO_COVERAGE

314

1.1
Location : initializeMenuWindows
Killed by : none
replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuWindows → NO_COVERAGE

321

1.1
Location : initializeMenuHelp
Killed by : none
removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE

322

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

323

1.1
Location : initializeMenuHelp
Killed by : none
removed call to javax/swing/JMenu::setName → NO_COVERAGE

326

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

327

1.1
Location : initializeMenuHelp
Killed by : none
removed call to javax/swing/JMenuItem::setName → NO_COVERAGE

330

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

334

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

337

1.1
Location : lambda$initializeMenuHelp$5
Killed by : none
negated conditional → NO_COVERAGE

339

1.1
Location : lambda$initializeMenuHelp$5
Killed by : none
removed call to com/jsql/view/swing/dialog/DialogAbout::initializeDialog → NO_COVERAGE

341

1.1
Location : lambda$initializeMenuHelp$5
Killed by : none
removed call to com/jsql/view/swing/dialog/DialogAbout::setVisible → NO_COVERAGE

342

1.1
Location : lambda$initializeMenuHelp$5
Killed by : none
removed call to com/jsql/view/swing/dialog/DialogAbout::requestButtonFocus → NO_COVERAGE

345

1.1
Location : lambda$initializeMenuHelp$5
Killed by : none
removed call to com/jsql/view/swing/dialog/DialogAbout::setVisible → NO_COVERAGE

347

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

353

1.1
Location : initializeMenuHelp
Killed by : none
replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuHelp → NO_COVERAGE

359

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

364

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

366

1.1
Location : lambda$initializeItemSqlEngine$6
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : lambda$initializeItemSqlEngine$6
Killed by : none
negated conditional → NO_COVERAGE

367

1.1
Location : lambda$initializeItemSqlEngine$6
Killed by : none
negated conditional → NO_COVERAGE

369

1.1
Location : lambda$initializeItemSqlEngine$6
Killed by : none
removed call to com/jsql/view/swing/tab/TabResults::setSelectedIndex → NO_COVERAGE

374

1.1
Location : lambda$initializeItemSqlEngine$6
Killed by : none
removed call to com/jsql/view/swing/interaction/CreateTabHelper::initializeSplitOrientation → NO_COVERAGE

378

1.1
Location : lambda$initializeItemSqlEngine$6
Killed by : none
removed call to com/jsql/view/swing/tab/TabResults::addTab → NO_COVERAGE

381

1.1
Location : lambda$initializeItemSqlEngine$6
Killed by : none
removed call to com/jsql/view/swing/tab/TabResults::setSelectedComponent → NO_COVERAGE

385

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

388

1.1
Location : lambda$initializeItemSqlEngine$6
Killed by : none
removed call to com/jsql/view/swing/tab/TabResults::setTabComponentAt → NO_COVERAGE

391

1.1
Location : initializeItemSqlEngine
Killed by : none
replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeItemSqlEngine → NO_COVERAGE

397

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

405

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

407

1.1
Location : lambda$initializeItemPreferences$8
Killed by : none
changed conditional boundary → NO_COVERAGE

2.2
Location : lambda$initializeItemPreferences$8
Killed by : none
negated conditional → NO_COVERAGE

408

1.1
Location : lambda$initializeItemPreferences$8
Killed by : none
negated conditional → NO_COVERAGE

410

1.1
Location : lambda$initializeItemPreferences$8
Killed by : none
removed call to com/jsql/view/swing/tab/TabResults::setSelectedIndex → NO_COVERAGE

415

1.1
Location : lambda$initializeItemPreferences$8
Killed by : none
removed call to com/jsql/view/swing/interaction/CreateTabHelper::initializeSplitOrientation → NO_COVERAGE

420

1.1
Location : lambda$initializeItemPreferences$7
Killed by : none
negated conditional → NO_COVERAGE

423

1.1
Location : lambda$initializeItemPreferences$7
Killed by : none
removed call to java/awt/Adjustable::setBlockIncrement → NO_COVERAGE

424

1.1
Location : lambda$initializeItemPreferences$7
Killed by : none
removed call to java/awt/Adjustable::setUnitIncrement → NO_COVERAGE

429

1.1
Location : lambda$initializeItemPreferences$8
Killed by : none
removed call to javax/swing/JScrollBar::addAdjustmentListener → NO_COVERAGE

431

1.1
Location : lambda$initializeItemPreferences$8
Killed by : none
removed call to com/jsql/view/swing/tab/TabResults::addTab → NO_COVERAGE

434

1.1
Location : lambda$initializeItemPreferences$8
Killed by : none
removed call to com/jsql/view/swing/tab/TabResults::setSelectedComponent → NO_COVERAGE

438

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

441

1.1
Location : lambda$initializeItemPreferences$8
Killed by : none
removed call to com/jsql/view/swing/tab/TabResults::setTabComponentAt → NO_COVERAGE

444

1.1
Location : initializeItemPreferences
Killed by : none
replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeItemPreferences → NO_COVERAGE

451

1.1
Location : initializeMenuCommunity
Killed by : none
removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE

452

1.1
Location : initializeMenuCommunity
Killed by : none
removed call to javax/swing/JMenu::setName → NO_COVERAGE

453

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

456

1.1
Location : initializeMenuCommunity
Killed by : none
removed call to javax/swing/JMenu::setName → NO_COVERAGE

459

1.1
Location : initializeMenuCommunity
Killed by : none
removed call to javax/swing/JMenuItem::setName → NO_COVERAGE

465

1.1
Location : initializeMenuCommunity
Killed by : none
replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuCommunity → NO_COVERAGE

473

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

474

1.1
Location : initializeMenuTranslation
Killed by : none
removed call to javax/swing/JMenu::setName → NO_COVERAGE

477

1.1
Location : lambda$initializeMenuTranslation$9
Killed by : none
replaced return value with "" for com/jsql/view/swing/menubar/Menubar::lambda$initializeMenuTranslation$9 → NO_COVERAGE

480

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

487

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

2.2
Location : lambda$initializeMenuTranslation$10
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

488

1.1
Location : initializeMenuTranslation
Killed by : none
removed call to javax/swing/JMenuItem::setName → NO_COVERAGE

500

1.1
Location : lambda$initializeMenuTranslation$11
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

2.2
Location : initializeMenuTranslation
Killed by : none
removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE

501

1.1
Location : initializeMenuTranslation
Killed by : none
removed call to javax/swing/JMenuItem::setComponentOrientation → NO_COVERAGE

508

1.1
Location : lambda$initializeMenuTranslation$12
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

2.2
Location : initializeMenuTranslation
Killed by : none
removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE

509

1.1
Location : initializeMenuTranslation
Killed by : none
removed call to javax/swing/JMenuItem::setName → NO_COVERAGE

516

1.1
Location : lambda$initializeMenuTranslation$13
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

2.2
Location : initializeMenuTranslation
Killed by : none
removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE

523

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

2.2
Location : lambda$initializeMenuTranslation$14
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

530

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

2.2
Location : lambda$initializeMenuTranslation$15
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

537

1.1
Location : lambda$initializeMenuTranslation$16
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

2.2
Location : initializeMenuTranslation
Killed by : none
removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE

544

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

2.2
Location : lambda$initializeMenuTranslation$17
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

551

1.1
Location : lambda$initializeMenuTranslation$18
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

2.2
Location : initializeMenuTranslation
Killed by : none
removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE

558

1.1
Location : lambda$initializeMenuTranslation$19
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

2.2
Location : initializeMenuTranslation
Killed by : none
removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE

565

1.1
Location : lambda$initializeMenuTranslation$20
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

2.2
Location : initializeMenuTranslation
Killed by : none
removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE

572

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

2.2
Location : lambda$initializeMenuTranslation$21
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

583

1.1
Location : lambda$initializeMenuTranslation$22
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

2.2
Location : initializeMenuTranslation
Killed by : none
removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE

590

1.1
Location : lambda$initializeMenuTranslation$23
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

2.2
Location : initializeMenuTranslation
Killed by : none
removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE

597

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

2.2
Location : lambda$initializeMenuTranslation$24
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

604

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

2.2
Location : lambda$initializeMenuTranslation$25
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

611

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

2.2
Location : lambda$initializeMenuTranslation$26
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

622

1.1
Location : lambda$initializeMenuTranslation$27
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

2.2
Location : initializeMenuTranslation
Killed by : none
removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE

646

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

649

1.1
Location : lambda$initializeMenuTranslation$28
Killed by : none
removed call to javax/swing/ButtonGroup::add → NO_COVERAGE

652

1.1
Location : initializeMenuTranslation
Killed by : none
replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuTranslation → NO_COVERAGE

658

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

674

1.1
Location : actionPerformed
Killed by : none
removed call to com/jsql/view/swing/dialog/DialogTranslate::initializeDialog → NO_COVERAGE

677

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

679

1.1
Location : actionPerformed
Killed by : none
removed call to com/jsql/view/swing/dialog/DialogTranslate::setSize → NO_COVERAGE

680

1.1
Location : actionPerformed
Killed by : none
removed call to com/jsql/view/swing/dialog/DialogTranslate::setLocationRelativeTo → NO_COVERAGE

681

1.1
Location : actionPerformed
Killed by : none
removed call to javax/swing/JRootPane::setDefaultButton → NO_COVERAGE

684

1.1
Location : actionPerformed
Killed by : none
removed call to com/jsql/view/swing/dialog/DialogTranslate::setVisible → NO_COVERAGE

746

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

748

1.1
Location : initializeMenuI18nContribution
Killed by : none
removed call to javax/swing/JMenuItem::setComponentOrientation → NO_COVERAGE

750

1.1
Location : initializeMenuI18nContribution
Killed by : none
removed call to javax/swing/JMenuItem::setName → NO_COVERAGE

776

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

801

1.1
Location : lambda$initializeMenuI18nContribution$30
Killed by : none
removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE

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

805

1.1
Location : initializeMenuI18nContribution
Killed by : none
replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuI18nContribution → NO_COVERAGE

811

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

813

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

817

1.1
Location : lambda$initializeItemReportIssue$31
Killed by : none
removed call to javax/swing/JTextArea::setFont → NO_COVERAGE

822

1.1
Location : lambda$initializeItemReportIssue$31
Killed by : none
removed call to javax/swing/JTextArea::setText → NO_COVERAGE

831

1.1
Location : lambda$initializeItemReportIssue$31
Killed by : none
removed call to javax/swing/JPanel::add → NO_COVERAGE

834

1.1
Location : lambda$initializeItemReportIssue$31
Killed by : none
removed call to javax/swing/JPanel::setPreferredSize → NO_COVERAGE

835

1.1
Location : lambda$initializeItemReportIssue$31
Killed by : none
removed call to javax/swing/JPanel::setMinimumSize → NO_COVERAGE

837

1.1
Location : lambda$initializeItemReportIssue$31
Killed by : none
removed call to javax/swing/JTextArea::addMouseListener → NO_COVERAGE

842

1.1
Location : mousePressed
Killed by : none
removed call to java/awt/event/MouseAdapter::mousePressed → NO_COVERAGE

861

1.1
Location : lambda$initializeItemReportIssue$31
Killed by : none
negated conditional → NO_COVERAGE

2.2
Location : lambda$initializeItemReportIssue$31
Killed by : none
negated conditional → NO_COVERAGE

862

1.1
Location : lambda$initializeItemReportIssue$31
Killed by : none
removed call to com/jsql/util/GitUtil::sendReport → NO_COVERAGE

866

1.1
Location : initializeItemReportIssue
Killed by : none
replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeItemReportIssue → NO_COVERAGE

873

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

874

1.1
Location : initializeMenuEdit
Killed by : none
removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE

877

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

878

1.1
Location : initializeMenuEdit
Killed by : none
removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE

879

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

880

1.1
Location : lambda$initializeMenuEdit$32
Killed by : none
negated conditional → NO_COVERAGE

881

1.1
Location : lambda$initializeMenuEdit$32
Killed by : none
removed call to com/jsql/view/swing/table/PanelTable::copyTable → NO_COVERAGE

882

1.1
Location : lambda$initializeMenuEdit$32
Killed by : none
negated conditional → NO_COVERAGE

883

1.1
Location : lambda$initializeMenuEdit$32
Killed by : none
removed call to javax/swing/JTextArea::copy → NO_COVERAGE

888

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

889

1.1
Location : initializeMenuEdit
Killed by : none
removed call to javax/swing/JMenuItem::setAccelerator → NO_COVERAGE

890

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

892

1.1
Location : lambda$initializeMenuEdit$33
Killed by : none
negated conditional → NO_COVERAGE

893

1.1
Location : lambda$initializeMenuEdit$33
Killed by : none
removed call to com/jsql/view/swing/table/PanelTable::selectTable → NO_COVERAGE

894

1.1
Location : lambda$initializeMenuEdit$33
Killed by : none
negated conditional → NO_COVERAGE

898

1.1
Location : lambda$initializeMenuEdit$33
Killed by : none
removed call to javax/swing/JTextArea::selectAll → NO_COVERAGE

906

1.1
Location : initializeMenuEdit
Killed by : none
replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuEdit → NO_COVERAGE

913

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

914

1.1
Location : initializeMenuFile
Killed by : none
removed call to javax/swing/JMenu::setMnemonic → NO_COVERAGE

917

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

920

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

921

1.1
Location : lambda$initializeMenuFile$34
Killed by : none
removed call to com/jsql/view/swing/JFrameView::dispose → NO_COVERAGE

2.2
Location : initializeMenuFile
Killed by : none
removed call to javax/swing/JMenuItem::addActionListener → NO_COVERAGE

923

1.1
Location : initializeMenuFile
Killed by : none
removed call to com/jsql/view/swing/action/HotkeyUtil::addShortcut → NO_COVERAGE

929

1.1
Location : initializeMenuFile
Killed by : none
replaced return value with null for com/jsql/view/swing/menubar/Menubar::initializeMenuFile → NO_COVERAGE

934

1.1
Location : switchLocale
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchLocale → NO_COVERAGE

939

1.1
Location : switchLocale
Killed by : none
removed call to com/jsql/util/I18nUtil::setLocaleDefault → NO_COVERAGE

940

1.1
Location : switchLocale
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchNetworkTable → NO_COVERAGE

941

1.1
Location : switchLocale
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchI18nComponents → NO_COVERAGE

942

1.1
Location : switchLocale
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchOrientation → NO_COVERAGE

943

1.1
Location : switchLocale
Killed by : none
removed call to com/jsql/view/swing/menubar/Menubar::switchMenuItems → NO_COVERAGE

945

1.1
Location : switchLocale
Killed by : none
removed call to com/jsql/view/swing/tree/TreeDatabase::reloadNodes → NO_COVERAGE

949

1.1
Location : switchLocale
Killed by : none
removed call to com/jsql/view/swing/JFrameView::revalidate → NO_COVERAGE

958

1.1
Location : switchOrientation
Killed by : none
removed call to com/jsql/view/swing/JFrameView::applyComponentOrientation → NO_COVERAGE

960

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

968

1.1
Location : switchOrientation
Killed by : none
removed call to javax/swing/JSplitPane::setLeftComponent → NO_COVERAGE

969

1.1
Location : switchOrientation
Killed by : none
removed call to javax/swing/JSplitPane::setRightComponent → NO_COVERAGE

971

1.1
Location : switchOrientation
Killed by : none
removed call to javax/swing/JSplitPane::setLeftComponent → NO_COVERAGE

972

1.1
Location : switchOrientation
Killed by : none
removed call to javax/swing/JSplitPane::setRightComponent → NO_COVERAGE

974

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

975

1.1
Location : switchOrientation
Killed by : none
removed call to javax/swing/JSplitPane::setDividerLocation → NO_COVERAGE

979

1.1
Location : switchOrientation
Killed by : none
removed call to javax/swing/JSplitPane::setDividerLocation → NO_COVERAGE

981

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

986

1.1
Location : switchOrientation
Killed by : none
removed call to com/jsql/view/swing/tab/TabResults::setComponentOrientation → NO_COVERAGE

996

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

998

1.1
Location : switchI18nComponents
Killed by : none
removed call to com/jsql/view/swing/text/JTextFieldPlaceholder::setPlaceholderText → NO_COVERAGE

999

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

1000

1.1
Location : switchI18nComponents
Killed by : none
removed call to com/jsql/view/swing/text/JToolTipI18n::setText → NO_COVERAGE

1001

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

1002

1.1
Location : switchI18nComponents
Killed by : none
removed call to javax/swing/JLabel::setText → NO_COVERAGE

1003

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

1004

1.1
Location : switchI18nComponents
Killed by : none
removed call to javax/swing/JCheckBoxMenuItem::setText → NO_COVERAGE

1005

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

1006

1.1
Location : switchI18nComponents
Killed by : none
removed call to javax/swing/JMenuItem::setText → NO_COVERAGE

1007

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

1008

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

1009

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

1010

1.1
Location : switchI18nComponents
Killed by : none
removed call to com/jsql/view/swing/tree/model/NodeModelEmpty::setText → NO_COVERAGE

1012

1.1
Location : switchI18nComponents
Killed by : none
removed call to javax/swing/text/JTextComponent::setText → NO_COVERAGE

1024

1.1
Location : lambda$switchMenuItems$35
Killed by : none
removed call to javax/swing/JMenuItem::setComponentOrientation → NO_COVERAGE

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

1065

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

2.2
Location : lambda$switchMenuItems$36
Killed by : none
removed call to javax/swing/JMenuItem::setComponentOrientation → NO_COVERAGE

1073

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

1081

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

1082

1.1
Location : lambda$switchNetworkTable$37
Killed by : none
removed call to javax/swing/text/StyleConstants::setFontFamily → NO_COVERAGE

1083

1.1
Location : lambda$switchNetworkTable$37
Killed by : none
removed call to javax/swing/text/StyleConstants::setFontSize → NO_COVERAGE

1086

1.1
Location : switchNetworkTable
Killed by : none
removed call to javax/swing/JTextPane::setFont → NO_COVERAGE

1088

1.1
Location : switchNetworkTable
Killed by : none
removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE

1089

1.1
Location : switchNetworkTable
Killed by : none
removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE

1090

1.1
Location : switchNetworkTable
Killed by : none
removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE

1100

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

1101

1.1
Location : lambda$switchNetworkTable$38
Killed by : none
removed call to javax/swing/text/StyleConstants::setFontFamily → NO_COVERAGE

1102

1.1
Location : lambda$switchNetworkTable$38
Killed by : none
removed call to javax/swing/text/StyleConstants::setFontSize → NO_COVERAGE

1105

1.1
Location : switchNetworkTable
Killed by : none
removed call to javax/swing/JTextPane::setFont → NO_COVERAGE

1107

1.1
Location : switchNetworkTable
Killed by : none
removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE

1108

1.1
Location : switchNetworkTable
Killed by : none
removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE

1109

1.1
Location : switchNetworkTable
Killed by : none
removed call to javax/swing/table/TableColumn::setHeaderValue → NO_COVERAGE

1112

1.1
Location : switchNetworkTable
Killed by : none
removed call to javax/swing/table/JTableHeader::repaint → NO_COVERAGE

1119

1.1
Location : getChunkMenu
Killed by : none
replaced return value with null for com/jsql/view/swing/menubar/Menubar::getChunkMenu → NO_COVERAGE

1123

1.1
Location : getJavaDebugMenu
Killed by : none
replaced return value with null for com/jsql/view/swing/menubar/Menubar::getJavaDebugMenu → NO_COVERAGE

1127

1.1
Location : getMenuView
Killed by : none
replaced return value with null for com/jsql/view/swing/menubar/Menubar::getMenuView → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.16.1