File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/modifiers/gui/UserParametersGui.java | File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/protocol/http/gui/HeaderPanel.java | |||
Method name: void actionPerformed(ActionEvent)
|
Method name: void actionPerformed(ActionEvent)
|
|||
Number of AST nodes: 15 | Number of AST nodes: 15 | |||
1 | if (param↵ | 1 | if (tableModel.getRowCount() > 0) {↵ | |
2 | // If a table cell is being edited, we must cancel the editing↵ | |||
3 | // before deleting the row.↵ | |||
2 | Table.isEditing()) {↵ | 4 | if (headerTable.isEditing()) {↵ | |
3 | TableCellEditor cellEditor = paramTable.getCellEditor(paramTable.getEditingRow(), paramTable↵ | 5 | TableCellEditor cellEditor = headerTable.getCellEditor(headerTable.getEditingRow(),↵ | |
4 | ↵ | |||
5 | .getEditingColumn());↵ | 6 | headerTable.getEditingColumn());↵ | |
6 | cellEditor.cancelCellEditing();↵ | 7 | cellEditor.cancelCellEditing();↵ | |
7 | }↵ | 8 | }↵ | |
8 | int colSelected = paramTable.getSelectedColumn();↵ | 9 | int rowSelected = headerTable.getSelected↵ | |
9 | if (colSelected == 0 || colSelected == 1) {↵ | |||
10 | JOptionPane.showMessageDialog(null, ↵ | |||
11 | JMeterUtils.getResString("column_delete_disallowed"), // $NON-NLS-1$↵ | |||
12 | "Error",↵ | |||
13 | JOptionPane.ERROR_MESSAGE);↵ | |||
14 | return;↵ | |||
15 | }↵ | |||
10 | Row();↵ | |||
16 | if (colSelected >= 0) {↵ | 11 | if (rowSelected != -1) {↵ | |
17 | tableModel.removeColumn(colSelected);↵ | 12 | tableModel.removeRow(rowSelected);↵ | |
18 | tableModel.fireTableDataChanged();↵ | 13 | tableModel.fireTableDataChanged();↵ | |
19 | // Disable DELETE if there are no rows in the table to↵ | 14 | // Disable the DELETE and SAVE buttons if no rows remaining↵ | |
20 | delete.↵ | 15 | // after delete↵ | |
21 | if (tableModel.getColumnCount() == 0) {↵ | 16 | if (tableModel.getRowCount() == 0) {↵ | |
22 | deleteColumn↵ | 17 | deleteButton.setEnabled(false);↵ | |
23 | Button.setEnabled(false);↵ | 18 | saveButton.setEnabled(false);↵ | |
24 | }↵ | 19 | }↵ | |
25 | // Table still contains one or more rows, so highlight↵ | 20 | // Table still contains one or more rows, so highlight↵ | |
26 | (select)↵ | 21 | // (select)↵ | |
27 | // the appropriate one.↵ | 22 | the appropriate one.↵ | |
28 | else { ↵ | 23 | else { ↵ | |
24 | int rowToSelect = rowSelected; ↵ | |||
29 | if (colSelected >= tableModel.getColumnCount()) {↵ | 25 | if (rowSelected >= tableModel.getRowCount()) {↵ | |
30 | colSelected = colSelected - 1;↵ | 26 | rowToSelect = rowSelected - 1;↵ | |
31 | }↵ | 27 | }↵ | |
32 | paramTable.setColumnSelectionInterval(colSelected, colSelected);↵ | 28 | headerTable.setRowSelectionInterval(rowToSelect, rowToSelect);↵ | |
29 | }↵ | |||
33 | }↵ | 30 | }↵ | |
34 | } | 31 |
| |
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.5 |
Clones location | Clones are in different classes |
Number of node comparisons | 24 |
Number of mapped statements | 7 |
Number of unmapped statements in the first code fragment | 0 |
Number of unmapped statements in the second code fragment | 2 |
Time elapsed for statement mapping (ms) | 5.8 |
Clone type | Type 3 |
ID | Statement | ID | Statement | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
9 | tableModel.removeColumn(colSelected); |
| 9 | tableModel.removeRow(rowSelected); | |||||||||||||||||||||||||||
10 | tableModel.fireTableDataChanged(); |
| 10 | tableModel.fireTableDataChanged(); | |||||||||||||||||||||||||||
11 | if (tableModel.getColumnCount() == 0) |
| 11 | if (tableModel.getRowCount() == 0) | |||||||||||||||||||||||||||
12 | deleteColumnButton.setEnabled(false); |
| 12 | deleteButton.setEnabled(false); | |||||||||||||||||||||||||||
| 13 | saveButton.setEnabled(false); | |||||||||||||||||||||||||||||
else | else | ||||||||||||||||||||||||||||||
| 14 | int rowToSelect = rowSelected; | |||||||||||||||||||||||||||||
13 | if (colSelected >= tableModel.getColumnCount()) |
| 15 | if (rowSelected >= tableModel.getRowCount()) | |||||||||||||||||||||||||||
14 | colSelected = colSelected - 1; |
| 16 | rowToSelect = rowSelected - 1; | |||||||||||||||||||||||||||
15 | paramTable.setColumnSelectionInterval(colSelected, colSelected); |
| 17 | headerTable.setRowSelectionInterval(rowToSelect, rowToSelect); |
Row | Violation |
---|---|
1 | Expression tableModel.removeColumn(colSelected) is a void method call, and thus it cannot be parameterized |
2 | Expression tableModel.removeRow(rowSelected) is a void method call, and thus it cannot be parameterized |
3 | Expression tableModel.getColumnCount() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
4 | Expression tableModel.getColumnCount() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
5 | Expression paramTable.setColumnSelectionInterval(colSelected,colSelected) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
6 | Expression headerTable.setRowSelectionInterval(rowToSelect,rowToSelect) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
7 | Expression paramTable.setColumnSelectionInterval(colSelected,colSelected) is a void method call, and thus it cannot be parameterized |
8 | Expression headerTable.setRowSelectionInterval(rowToSelect,rowToSelect) is a void method call, and thus it cannot be parameterized |
9 | Expression colSelected cannot be parameterized, because it has dependencies to/from statements that will be extracted |
10 | Expression rowToSelect cannot be parameterized, because it has dependencies to/from statements that will be extracted |
11 | Expression colSelected cannot be parameterized, because it has dependencies to/from statements that will be extracted |
12 | Expression rowToSelect cannot be parameterized, because it has dependencies to/from statements that will be extracted |