ActionStart.java

1
package com.jsql.view.swing.panel.address;
2
3
import com.jsql.util.I18nUtil;
4
import com.jsql.util.LogLevelUtil;
5
import com.jsql.view.swing.manager.util.StateButton;
6
import com.jsql.view.swing.panel.PanelAddressBar;
7
import com.jsql.view.swing.util.MediatorHelper;
8
import org.apache.logging.log4j.LogManager;
9
import org.apache.logging.log4j.Logger;
10
11
import javax.swing.*;
12
import java.awt.event.ActionEvent;
13
import java.awt.event.ActionListener;
14
15
public class ActionStart implements ActionListener {
16
    
17
    /**
18
     * Log4j logger sent to view.
19
     */
20
    private static final Logger LOGGER = LogManager.getRootLogger();
21
    
22
    protected final PanelAddressBar panelAddressBar;
23
    
24
    public ActionStart(PanelAddressBar panelAddressBar) {
25
        this.panelAddressBar = panelAddressBar;
26
    }
27
28
    @Override
29
    public void actionPerformed(ActionEvent e) {
30
        // No injection running
31 1 1. actionPerformed : negated conditional → NO_COVERAGE
        if (this.panelAddressBar.getPanelTrailingAddress().getButtonStart().getState() == StateButton.STARTABLE) {
32 1 1. actionPerformed : removed call to com/jsql/view/swing/panel/address/ActionStart::startInjection → NO_COVERAGE
            this.startInjection();
33 1 1. actionPerformed : negated conditional → NO_COVERAGE
        } else if (this.panelAddressBar.getPanelTrailingAddress().getButtonStart().getState() == StateButton.STOPPABLE) {
34 1 1. actionPerformed : removed call to com/jsql/view/swing/panel/address/ActionStart::stopInjection → NO_COVERAGE
            this.stopInjection();  // Injection currently running, stop the process
35
        }
36
    }
37
    
38
    protected void startInjection() {
39
        int option = JOptionPane.OK_OPTION;
40 1 1. startInjection : negated conditional → NO_COVERAGE
        if (MediatorHelper.model().shouldErasePreviousInjection()) {  // Ask the user confirmation if injection already built
41
            // Fix #93469: IllegalArgumentException on showConfirmDialog()
42
            // Fix #33930: ClassCastException on showConfirmDialog()
43
            // Implementation by sun.awt.image
44
            try {
45
                option = JOptionPane.showConfirmDialog(
46
                    MediatorHelper.frame(),
47
                    I18nUtil.valueByKey("DIALOG_NEW_INJECTION_TEXT"),
48
                    I18nUtil.valueByKey("DIALOG_NEW_INJECTION_TITLE"),
49
                    JOptionPane.OK_CANCEL_OPTION
50
                );
51
            } catch (IllegalArgumentException | ClassCastException e) {
52
                LOGGER.log(LogLevelUtil.CONSOLE_JAVA, e, e);
53
            }
54
        }
55
56 1 1. startInjection : negated conditional → NO_COVERAGE
        if (option == JOptionPane.OK_OPTION) {  // Then start injection
57 1 1. startInjection : removed call to com/jsql/view/swing/panel/address/ButtonStart::setToolTipText → NO_COVERAGE
            this.panelAddressBar.getPanelTrailingAddress().getButtonStart().setToolTipText(I18nUtil.valueByKey("BUTTON_STOP_TOOLTIP"));
58 1 1. startInjection : removed call to com/jsql/view/swing/panel/address/ButtonStart::setInjectionRunning → NO_COVERAGE
            this.panelAddressBar.getPanelTrailingAddress().getButtonStart().setInjectionRunning();
59 1 1. startInjection : removed call to javax/swing/JComponent::setVisible → NO_COVERAGE
            this.panelAddressBar.getPanelTrailingAddress().getLoader().setVisible(true);
60
61 1 1. startInjection : removed call to com/jsql/view/swing/JFrameView::resetInterface → NO_COVERAGE
            MediatorHelper.frame().resetInterface();  // Erase everything in the view from a previous injection
62
63 1 1. startInjection : removed call to com/jsql/util/ParameterUtil::controlInput → NO_COVERAGE
            MediatorHelper.model().getMediatorUtils().getParameterUtil().controlInput(
64
                this.panelAddressBar.getTextFieldAddress().getText().trim(),
65
                this.panelAddressBar.getTextFieldRequest().getText().trim(),
66
                this.panelAddressBar.getTextFieldHeader().getText().trim(),
67
                this.panelAddressBar.getMethodInjection(),
68
                this.panelAddressBar.getTypeRequest(),
69
                false
70
            );
71
        }
72
    }
73
    
74
    private void stopInjection() {
75 1 1. stopInjection : removed call to javax/swing/JComponent::setVisible → NO_COVERAGE
        this.panelAddressBar.getPanelTrailingAddress().getLoader().setVisible(false);
76 1 1. stopInjection : removed call to com/jsql/view/swing/panel/address/ButtonStart::setInjectionStopping → NO_COVERAGE
        this.panelAddressBar.getPanelTrailingAddress().getButtonStart().setInjectionStopping();
77 1 1. stopInjection : removed call to com/jsql/model/InjectionModel::setIsStoppedByUser → NO_COVERAGE
        MediatorHelper.model().setIsStoppedByUser(true);
78
    }
79
}

Mutations

31

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

32

1.1
Location : actionPerformed
Killed by : none
removed call to com/jsql/view/swing/panel/address/ActionStart::startInjection → NO_COVERAGE

33

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

34

1.1
Location : actionPerformed
Killed by : none
removed call to com/jsql/view/swing/panel/address/ActionStart::stopInjection → NO_COVERAGE

40

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

56

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

57

1.1
Location : startInjection
Killed by : none
removed call to com/jsql/view/swing/panel/address/ButtonStart::setToolTipText → NO_COVERAGE

58

1.1
Location : startInjection
Killed by : none
removed call to com/jsql/view/swing/panel/address/ButtonStart::setInjectionRunning → NO_COVERAGE

59

1.1
Location : startInjection
Killed by : none
removed call to javax/swing/JComponent::setVisible → NO_COVERAGE

61

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

63

1.1
Location : startInjection
Killed by : none
removed call to com/jsql/util/ParameterUtil::controlInput → NO_COVERAGE

75

1.1
Location : stopInjection
Killed by : none
removed call to javax/swing/JComponent::setVisible → NO_COVERAGE

76

1.1
Location : stopInjection
Killed by : none
removed call to com/jsql/view/swing/panel/address/ButtonStart::setInjectionStopping → NO_COVERAGE

77

1.1
Location : stopInjection
Killed by : none
removed call to com/jsql/model/InjectionModel::setIsStoppedByUser → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.19.1