File path: /jakarta-jmeter-2.3.2/src/org/apache/jmeter/protocol/http/gui/CookiePanel.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: 47 | Number of AST nodes: 43 | |||
1 | String action = e.getActionCommand();↵ | 1 | String action = e.getActionCommand();↵ | |
2 | if (action.equals(DELETE_COMMAND)) {↵ | 2 | if (action.equals(DELETE_COMMAND)) {↵ | |
3 | if (tableModel.getRowCount() > 0) {↵ | 3 | if (tableModel.getRowCount() > 0) {↵ | |
4 | // If a table cell is being edited, we must cancel the editing↵ | 4 | // If a table cell is being edited, we must cancel the editing↵ | |
5 | // before deleting the row.↵ | 5 | // before deleting the row.↵ | |
6 | if (cookieTable.isEditing()) {↵ | 6 | if (headerTable.isEditing()) {↵ | |
7 | TableCellEditor cellEditor = cookieTable.getCellEditor(cookieTable.getEditingRow(),↵ | 7 | TableCellEditor cellEditor = headerTable.getCellEditor(headerTable.getEditingRow(),↵ | |
8 | cookieTable.getEditingColumn());↵ | 8 | headerTable.getEditingColumn());↵ | |
9 | cellEditor.cancelCellEditing();↵ | 9 | cellEditor.cancelCellEditing();↵ | |
10 | }↵ | 10 | }↵ | |
11 | int rowSelected = cookieTable.getSelectedRow();↵ | 11 | int rowSelected = headerTable.getSelectedRow();↵ | |
12 | if (rowSelected != -1) {↵ | 12 | if (rowSelected != -1) {↵ | |
13 | tableModel.removeRow(rowSelected);↵ | 13 | tableModel.removeRow(rowSelected);↵ | |
14 | tableModel.fireTableDataChanged();↵ | 14 | tableModel.fireTableDataChanged();↵ | |
15 | // Disable the DELETE and SAVE buttons if no rows remaining↵ | 15 | // Disable the DELETE and SAVE buttons if no rows remaining↵ | |
16 | // after delete.↵ | 16 | // after delete↵ | |
17 | if (tableModel.getRowCount() == 0) {↵ | 17 | if (tableModel.getRowCount() == 0) {↵ | |
18 | deleteButton.setEnabled(false);↵ | 18 | deleteButton.setEnabled(false);↵ | |
19 | saveButton.setEnabled(false);↵ | 19 | saveButton.setEnabled(false);↵ | |
20 | }↵ | 20 | }↵ | |
21 | // Table still contains one or more rows, so highlight↵ | 21 | // Table still contains one or more rows, so highlight↵ | |
22 | // (select) the appropriate one.↵ | 22 | // (select) the appropriate one.↵ | |
23 | else {↵ | 23 | else {↵ | |
24 | int rowToSelect = rowSelected;↵ | 24 | int rowToSelect = rowSelected;↵ | |
25 | if (rowSelected >= tableModel.getRowCount()) {↵ | 25 | if (rowSelected >= tableModel.getRowCount()) {↵ | |
26 | rowToSelect = rowSelected - 1;↵ | 26 | rowToSelect = rowSelected - 1;↵ | |
27 | }↵ | 27 | }↵ | |
28 | cookieTable.setRowSelectionInterval(rowToSelect, rowToSelect);↵ | 28 | headerTable.setRowSelectionInterval(rowToSelect, rowToSelect);↵ | |
29 | }↵ | 29 | }↵ | |
30 | }↵ | 30 | }↵ | |
31 | }↵ | 31 | }↵ | |
32 | } else if (action.equals(ADD_COMMAND)) {↵ | 32 | } else if (action.equals(ADD_COMMAND)) {↵ | |
33 | // If a table cell is being edited, we should accept the current↵ | 33 | // If a table cell is being edited, we should accept the current↵ | |
34 | // value and stop the editing before adding a new row.↵ | 34 | // value and stop the editing before adding a new row.↵ | |
35 | if (cookieTable.isEditing()) {↵ | 35 | if (headerTable.isEditing()) {↵ | |
36 | TableCellEditor cellEditor = cookieTable.getCellEditor(cookieTable.getEditingRow(),↵ | 36 | TableCellEditor cellEditor = headerTable.getCellEditor(headerTable.getEditingRow(),↵ | |
37 | cookieTable.getEditingColumn());↵ | 37 | headerTable.getEditingColumn());↵ | |
38 | cellEditor.stopCellEditing();↵ | 38 | cellEditor.stopCellEditing();↵ | |
39 | }↵ | 39 | }↵ | |
40 | tableModel.addNewRow();↵ | 40 | tableModel.addNewRow();↵ | |
41 | tableModel.fireTableDataChanged();↵ | 41 | tableModel.fireTableDataChanged();↵ | |
42 | // Enable the DELETE and SAVE buttons if they are currently↵ | 42 | // Enable the DELETE and SAVE buttons if they are currently↵ | |
43 | // disabled.↵ | 43 | // disabled.↵ | |
44 | if (!deleteButton.isEnabled()) {↵ | 44 | if (!deleteButton.isEnabled()) {↵ | |
45 | deleteButton.setEnabled(true);↵ | 45 | deleteButton.setEnabled(true);↵ | |
46 | }↵ | 46 | }↵ | |
47 | if (!saveButton.isEnabled()) {↵ | 47 | if (!saveButton.isEnabled()) {↵ | |
48 | saveButton.setEnabled(true);↵ | 48 | saveButton.setEnabled(true);↵ | |
49 | }↵ | 49 | }↵ | |
50 | // Highlight (select) the appropriate row.↵ | 50 | // Highlight (select) the appropriate row.↵ | |
51 | int rowToSelect = tableModel.getRowCount() - 1;↵ | 51 | int rowToSelect = tableModel.getRowCount() - 1;↵ | |
52 | cookieTable.setRowSelectionInterval(rowToSelect, rowToSelect);↵ | 52 | headerTable.setRowSelectionInterval(rowToSelect, rowToSelect);↵ | |
53 | } else if (action.equals(LOAD_COMMAND)) {↵ | 53 | } else if (action.equals(LOAD_COMMAND)) {↵ | |
54 | try {↵ | 54 | try {↵ | |
55 | final String [] _txt={".txt"}; //$NON-NLS-1$↵ | |||
56 | final JFileChooser chooser = FileDialoger.promptToOpenFile(_txt);↵ | 55 | final JFileChooser chooser = FileDialoger.promptToOpenFile();↵ | |
57 | if (chooser != null) {↵ | 56 | if (chooser != null) {↵ | |
58 | CookieManager manager = new CookieManager();↵ | 57 | ↵ | |
59 | manager.addFile(chooser.getSelectedFile().getAbsolutePath());↵ | |||
60 | for (int i = 0; i < manager.getCookieCount() ; i++){↵ | |||
61 | addCookieToTable(manager.get(i));↵ | |||
62 | }↵ | 58 | headerManager.addFile(chooser.getSelectedFile().getAbsolutePath());↵ | |
63 | tableModel.fireTableDataChanged();↵ | 59 | tableModel.fireTableDataChanged();↵ | |
64 | if (tableModel.getRowCount() > 0) {↵ | 60 | if (tableModel.getRowCount() > 0) {↵ | |
65 | deleteButton.setEnabled(true);↵ | 61 | deleteButton.setEnabled(true);↵ | |
66 | saveButton.setEnabled(true);↵ | 62 | saveButton.setEnabled(true);↵ | |
67 | }↵ | 63 | }↵ | |
68 | }↵ | 64 | }↵ | |
69 | } catch (IOException ex) {↵ | 65 | } catch (IOException ex) {↵ | |
70 | log.error("", ex);↵ | 66 | log.error("Could not load headers", ex);↵ | |
71 | }↵ | 67 | }↵ | |
72 | } else if (action.equals(SAVE_COMMAND)) {↵ | 68 | } else if (action.equals(SAVE_COMMAND)) {↵ | |
73 | try {↵ | 69 | try {↵ | |
74 | final JFileChooser chooser = FileDialoger.promptToSaveFile("cookies.txt"); //$NON-NLS-1$↵ | 70 | final JFileChooser chooser = FileDialoger.promptToSaveFile(null);↵ | |
75 | if (chooser != null) {↵ | 71 | if (chooser != null) {↵ | |
76 | ((CookieManager) createTestElement()).save(chooser.getSelectedFile().getAbsolutePath());↵ | 72 | headerManager.save(chooser.getSelectedFile().getAbsolutePath());↵ | |
77 | }↵ | 73 | }↵ | |
78 | } catch (IOException ex) {↵ | 74 | } catch (IOException ex) {↵ | |
79 | log.error("", ex);↵ | 75 | log.error("Could not save headers", ex);↵ | |
80 | }↵ | 76 | }↵ | |
81 | } | 77 |
| |
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) | 17.7 |
Clones location | Clones are in different classes having the same super class |
Number of node comparisons | 216 |
Number of mapped statements | 43 |
Number of unmapped statements in the first code fragment | 4 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 197.3 |
Clone type | Type 3 |
ID | Statement | ID | Statement | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | String action = e.getActionCommand(); | 1 | String action = e.getActionCommand(); | ||||||||||||||||||||
2 | if (action.equals(DELETE_COMMAND)) | 2 | if (action.equals(DELETE_COMMAND)) | ||||||||||||||||||||
3 | if (tableModel.getRowCount() > 0) |
| 3 | if (tableModel.getRowCount() > 0) | |||||||||||||||||||
4 | if (cookieTable.isEditing()) |
| 4 | if (headerTable.isEditing()) | |||||||||||||||||||
5 | TableCellEditor cellEditor = cookieTable.getCellEditor(cookieTable.getEditingRow(), cookieTable.getEditingColumn()); |
| 5 | TableCellEditor cellEditor = headerTable.getCellEditor(headerTable.getEditingRow(), headerTable.getEditingColumn()); | |||||||||||||||||||
6 | cellEditor.cancelCellEditing(); | 6 | cellEditor.cancelCellEditing(); | ||||||||||||||||||||
7 | int rowSelected = cookieTable.getSelectedRow(); |
| 7 | int rowSelected = headerTable.getSelectedRow(); | |||||||||||||||||||
8 | if (rowSelected != -1) | 8 | if (rowSelected != -1) | ||||||||||||||||||||
9 | tableModel.removeRow(rowSelected); |
| 9 | tableModel.removeRow(rowSelected); | |||||||||||||||||||
10 | tableModel.fireTableDataChanged(); |
| 10 | tableModel.fireTableDataChanged(); | |||||||||||||||||||
11 | if (tableModel.getRowCount() == 0) |
| 11 | if (tableModel.getRowCount() == 0) | |||||||||||||||||||
12 | deleteButton.setEnabled(false); | 12 | deleteButton.setEnabled(false); | ||||||||||||||||||||
13 | saveButton.setEnabled(false); | 13 | saveButton.setEnabled(false); | ||||||||||||||||||||
else | else | ||||||||||||||||||||||
14 | int rowToSelect = rowSelected; | 14 | int rowToSelect = rowSelected; | ||||||||||||||||||||
15 | if (rowSelected >= tableModel.getRowCount()) |
| 15 | if (rowSelected >= tableModel.getRowCount()) | |||||||||||||||||||
16 | rowToSelect = rowSelected - 1; | 16 | rowToSelect = rowSelected - 1; | ||||||||||||||||||||
17 | cookieTable.setRowSelectionInterval(rowToSelect, rowToSelect); |
| 17 | headerTable.setRowSelectionInterval(rowToSelect, rowToSelect); | |||||||||||||||||||
18 | else if (action.equals(ADD_COMMAND)) | 18 | else if (action.equals(ADD_COMMAND)) | ||||||||||||||||||||
19 | if (cookieTable.isEditing()) |
| 19 | if (headerTable.isEditing()) | |||||||||||||||||||
20 | TableCellEditor cellEditor = cookieTable.getCellEditor(cookieTable.getEditingRow(), cookieTable.getEditingColumn()); |
| 20 | TableCellEditor cellEditor = headerTable.getCellEditor(headerTable.getEditingRow(), headerTable.getEditingColumn()); | |||||||||||||||||||
21 | cellEditor.stopCellEditing(); | 21 | cellEditor.stopCellEditing(); | ||||||||||||||||||||
22 | tableModel.addNewRow(); |
| 22 | tableModel.addNewRow(); | |||||||||||||||||||
23 | tableModel.fireTableDataChanged(); |
| 23 | tableModel.fireTableDataChanged(); | |||||||||||||||||||
24 | if (!deleteButton.isEnabled()) | 24 | if (!deleteButton.isEnabled()) | ||||||||||||||||||||
25 | deleteButton.setEnabled(true); | 25 | deleteButton.setEnabled(true); | ||||||||||||||||||||
26 | if (!saveButton.isEnabled()) | 26 | if (!saveButton.isEnabled()) | ||||||||||||||||||||
27 | saveButton.setEnabled(true); | 27 | saveButton.setEnabled(true); | ||||||||||||||||||||
28 | int rowToSelect = tableModel.getRowCount() - 1; |
| 28 | int rowToSelect = tableModel.getRowCount() - 1; | |||||||||||||||||||
29 | cookieTable.setRowSelectionInterval(rowToSelect, rowToSelect); |
| 29 | headerTable.setRowSelectionInterval(rowToSelect, rowToSelect); | |||||||||||||||||||
30 | else if (action.equals(LOAD_COMMAND)) | 30 | else if (action.equals(LOAD_COMMAND)) | ||||||||||||||||||||
31 | try |
| 31 | try | |||||||||||||||||||
32 | final String[] _txt = {".txt"}; | | |||||||||||||||||||||
33 | final JFileChooser chooser = FileDialoger.promptToOpenFile(_txt); |
| 32 | final JFileChooser chooser = FileDialoger.promptToOpenFile(); | |||||||||||||||||||
34 | if (chooser != null) | 33 | if (chooser != null) | ||||||||||||||||||||
35 | CookieManager manager = new CookieManager(); |
| | ||||||||||||||||||||
36 | manager.addFile(chooser.getSelectedFile().getAbsolutePath()); |
| 34 | headerManager.addFile(chooser.getSelectedFile().getAbsolutePath()); | |||||||||||||||||||
37 | for (int i = 0; i < manager.getCookieCount(); i++) | | |||||||||||||||||||||
38 | addCookieToTable(manager.get(i)); |
| | ||||||||||||||||||||
39 | tableModel.fireTableDataChanged(); |
| 35 | tableModel.fireTableDataChanged(); | |||||||||||||||||||
40 | if (tableModel.getRowCount() > 0) |
| 36 | if (tableModel.getRowCount() > 0) | |||||||||||||||||||
41 | deleteButton.setEnabled(true); | 37 | deleteButton.setEnabled(true); | ||||||||||||||||||||
42 | saveButton.setEnabled(true); | 38 | saveButton.setEnabled(true); | ||||||||||||||||||||
43 | else if (action.equals(SAVE_COMMAND)) | 39 | else if (action.equals(SAVE_COMMAND)) | ||||||||||||||||||||
44 | try |
| 40 | try | |||||||||||||||||||
45 | final JFileChooser chooser = FileDialoger.promptToSaveFile("cookies.txt"); |
| 41 | final JFileChooser chooser = FileDialoger.promptToSaveFile(null); | |||||||||||||||||||
46 | if (chooser != null) | 42 | if (chooser != null) | ||||||||||||||||||||
47 | ((CookieManager)createTestElement()).save(chooser.getSelectedFile().getAbsolutePath()); |
| 43 | headerManager.save(chooser.getSelectedFile().getAbsolutePath()); |
Row | Violation |
---|---|
1 | Expression tableModel cannot be unified with expression tableModel , because common superclass javax.swing.table.AbstractTableModel does not declare member(s) public void removeRow(int) |
2 | Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted |
3 | Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted |
4 | Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted |
5 | Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted |
6 | Expression tableModel cannot be unified with expression tableModel , because common superclass javax.swing.table.AbstractTableModel does not declare member(s) public void addNewRow() |
7 | Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted |
8 | Expression FileDialoger.promptToOpenFile(_txt) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
9 | Expression FileDialoger.promptToOpenFile() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
10 | Unmatched statement CookieManager manager=new CookieManager(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
11 | Expression manager cannot be parameterized, because it has dependencies to/from statements that will be extracted |
12 | Expression manager cannot be unified with expression headerManager , because common superclass org.apache.jmeter.config.ConfigTestElement does not declare member(s) public void addFile(java.lang.String) throws java.io.IOException |
13 | Unmatched statement addCookieToTable(manager.get(i)); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
14 | Unmatched statement addCookieToTable(manager.get(i)); cannot be moved before or after the extracted code, because it throws exception(s) that should be caught by a try block that will be extracted |
15 | Expression ((CookieManager)createTestElement()) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
16 | Expression ((CookieManager)createTestElement()) cannot be unified with expression headerManager , because common superclass org.apache.jmeter.config.ConfigTestElement does not declare member(s) public void save(java.lang.String) throws java.io.IOException |