ActionCheckAll.java

1
package com.jsql.view.swing.tree.action;
2
3
import com.jsql.view.swing.tree.model.AbstractNodeModel;
4
import com.jsql.view.swing.util.MediatorHelper;
5
6
import javax.swing.tree.DefaultMutableTreeNode;
7
import javax.swing.tree.DefaultTreeModel;
8
import javax.swing.tree.TreePath;
9
import java.awt.event.ActionEvent;
10
import java.awt.event.ActionListener;
11
12
/**
13
 * Listener to check or uncheck every children menu items.
14
 * Usually required from a table node to un/check every column
15
 */
16
public class ActionCheckAll implements ActionListener {
17
    
18
    private final boolean isCheckboxesSelected;
19
    private final TreePath path;
20
    
21
    public ActionCheckAll(boolean isCheckboxesSelected, TreePath path) {
22
        this.isCheckboxesSelected = isCheckboxesSelected;
23
        this.path = path;
24
    }
25
26
    @Override
27
    public void actionPerformed(ActionEvent actionEvent) {
28
        DefaultMutableTreeNode currentTableNode = (DefaultMutableTreeNode) this.path.getLastPathComponent();
29
        AbstractNodeModel currentTableModel = (AbstractNodeModel) currentTableNode.getUserObject();
30
        DefaultTreeModel treeModel = (DefaultTreeModel) MediatorHelper.treeDatabase().getModel();
31
        int tableChildCount = treeModel.getChildCount(currentTableNode);
32 2 1. actionPerformed : negated conditional → NO_COVERAGE
2. actionPerformed : changed conditional boundary → NO_COVERAGE
        for (var i = 0 ; i < tableChildCount ; i++) {
33
            DefaultMutableTreeNode currentChild = (DefaultMutableTreeNode) treeModel.getChild(currentTableNode, i);
34 1 1. actionPerformed : negated conditional → NO_COVERAGE
            if (currentChild.getUserObject() instanceof AbstractNodeModel) {
35
                AbstractNodeModel columnTreeNodeModel = (AbstractNodeModel) currentChild.getUserObject();
36 1 1. actionPerformed : removed call to com/jsql/view/swing/tree/model/AbstractNodeModel::setSelected → NO_COVERAGE
                columnTreeNodeModel.setSelected(this.isCheckboxesSelected);
37
                
38 1 1. actionPerformed : removed call to com/jsql/view/swing/tree/model/AbstractNodeModel::setIsAnyCheckboxSelected → NO_COVERAGE
                currentTableModel.setIsAnyCheckboxSelected(this.isCheckboxesSelected);
39
            }
40
        }
41
42 1 1. actionPerformed : removed call to javax/swing/tree/DefaultTreeModel::nodeChanged → NO_COVERAGE
        treeModel.nodeChanged(currentTableNode);
43
    }
44
}

Mutations

32

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

2.2
Location : actionPerformed
Killed by : none
changed conditional boundary → NO_COVERAGE

34

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

36

1.1
Location : actionPerformed
Killed by : none
removed call to com/jsql/view/swing/tree/model/AbstractNodeModel::setSelected → NO_COVERAGE

38

1.1
Location : actionPerformed
Killed by : none
removed call to com/jsql/view/swing/tree/model/AbstractNodeModel::setIsAnyCheckboxSelected → NO_COVERAGE

42

1.1
Location : actionPerformed
Killed by : none
removed call to javax/swing/tree/DefaultTreeModel::nodeChanged → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.19.1