String action = e.getActionCommand(); if (action.equals(DELETE_COMMAND)) { if (tableModel.getRowCount() > 0) { // If a table cell is being edited, we must cancel the editing // before deleting the row. if (cookieTable.isEditing()) { TableCellEditor cellEditor = cookieTable.getCellEditor(cookieTable.getEditingRow(), cookieTable.getEditingColumn()); cellEditor.cancelCellEditing(); } int rowSelected = cookieTable.getSelectedRow(); if (rowSelected != -1) { tableModel.removeRow(rowSelected); tableModel.fireTableDataChanged(); // Disable the DELETE and SAVE buttons if no rows remaining // after delete. if (tableModel.getRowCount() == 0) { deleteButton.setEnabled(false); saveButton.setEnabled(false); } // Table still contains one or more rows, so highlight // (select) the appropriate one. else { int rowToSelect = rowSelected; if (rowSelected >= tableModel.getRowCount()) { rowToSelect = rowSelected - 1; } cookieTable.setRowSelectionInterval(rowToSelect, rowToSelect); } } } } else if (action.equals(ADD_COMMAND)) { // If a table cell is being edited, we should accept the current // value and stop the editing before adding a new row. if (cookieTable.isEditing()) { TableCellEditor cellEditor = cookieTable.getCellEditor(cookieTable.getEditingRow(), cookieTable.getEditingColumn()); cellEditor.stopCellEditing(); } tableModel.addNewRow(); tableModel.fireTableDataChanged(); // Enable the DELETE and SAVE buttons if they are currently // disabled. if (!deleteButton.isEnabled()) { deleteButton.setEnabled(true); } if (!saveButton.isEnabled()) { saveButton.setEnabled(true); } // Highlight (select) the appropriate row. int rowToSelect = tableModel.getRowCount() - 1; cookieTable.setRowSelectionInterval(rowToSelect, rowToSelect); } else if (action.equals(LOAD_COMMAND)) { try { final String [] _txt={".txt"}; //$NON-NLS-1$ final JFileChooser chooser = FileDialoger.promptToOpenFile(_txt); if (chooser != null) { CookieManager manager = new CookieManager(); manager.addFile(chooser.getSelectedFile().getAbsolutePath()); for (int i = 0; i < manager.getCookieCount() ; i++){ addCookieToTable(manager.get(i)); } tableModel.fireTableDataChanged(); if (tableModel.getRowCount() > 0) { deleteButton.setEnabled(true); saveButton.setEnabled(true); } } } catch (IOException ex) { log.error("", ex); } } else if (action.equals(SAVE_COMMAND)) { try { final JFileChooser chooser = FileDialoger.promptToSaveFile("cookies.txt"); //$NON-NLS-1$ if (chooser != null) { ((CookieManager) createTestElement()).save(chooser.getSelectedFile().getAbsolutePath()); } } catch (IOException ex) { log.error("", ex); } }
String action = e.getActionCommand(); if (action.equals(DELETE_COMMAND)) { if (tableModel.getRowCount() > 0) { // If a table cell is being edited, we must cancel the editing // before deleting the row. if (authTable.isEditing()) { TableCellEditor cellEditor = authTable.getCellEditor(authTable.getEditingRow(), authTable .getEditingColumn()); cellEditor.cancelCellEditing(); } int rowSelected = authTable.getSelectedRow(); if (rowSelected != -1) { tableModel.removeRow(rowSelected); tableModel.fireTableDataChanged(); // Disable the DELETE and SAVE buttons if no rows remaining // after delete. if (tableModel.getRowCount() == 0) { deleteButton.setEnabled(false); saveButton.setEnabled(false); } // Table still contains one or more rows, so highlight // (select) the appropriate one. else { int rowToSelect = rowSelected; if (rowSelected >= tableModel.getRowCount()) { rowToSelect = rowSelected - 1; } authTable.setRowSelectionInterval(rowToSelect, rowToSelect); } } } } else if (action.equals(ADD_COMMAND)) { // If a table cell is being edited, we should accept the current // value and stop the editing before adding a new row. if (authTable.isEditing()) { TableCellEditor cellEditor = authTable.getCellEditor(authTable.getEditingRow(), authTable .getEditingColumn()); cellEditor.stopCellEditing(); } tableModel.addNewRow(); tableModel.fireTableDataChanged(); // Enable the DELETE and SAVE buttons if they are currently // disabled. if (!deleteButton.isEnabled()) { deleteButton.setEnabled(true); } if (!saveButton.isEnabled()) { saveButton.setEnabled(true); } // Highlight (select) the appropriate row. int rowToSelect = tableModel.getRowCount() - 1; authTable.setRowSelectionInterval(rowToSelect, rowToSelect); } else if (action.equals(LOAD_COMMAND)) { try { final String [] _txt={".txt"}; //$NON-NLS-1$ final JFileChooser dialog = FileDialoger.promptToOpenFile(_txt); if (dialog != null) { tableModel.manager.addFile(dialog.getSelectedFile().getAbsolutePath()); tableModel.fireTableDataChanged(); if (tableModel.getRowCount() > 0) { deleteButton.setEnabled(true); saveButton.setEnabled(true); } } } catch (IOException ex) { log.error("", ex); } } else if (action.equals(SAVE_COMMAND)) { try { final JFileChooser chooser = FileDialoger.promptToSaveFile("auth.txt"); //$NON-NLS-1$ if (chooser != null) { tableModel.manager.save(chooser.getSelectedFile().getAbsolutePath()); } } catch (IOException ex) { log.error("", ex); } }
Clone fragments detected by clone detection tool
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/AuthPanel.java
Method name: void actionPerformed(ActionEvent) Method name: void actionPerformed(ActionEvent)
Number of AST nodes: 47 Number of AST nodes: 44
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 (authTable.isEditing()) {
7
					TableCellEditor cellEditor = cookieTable.getCellEditor(cookieTable.getEditingRow(),
7
					TableCellEditor cellEditor = authTable.getCellEditor(authTable.getEditingRow(),
8
							cookieTable
8
 authTable
9
.getEditingColumn());
9
							.getEditingColumn());
10
					cellEditor.cancelCellEditing();
10
					cellEditor.cancelCellEditing();
11
				}
11
				}
12
				int rowSelected = cookieTable.getSelectedRow();
12
				int rowSelected = authTable.getSelectedRow();
13
				if (rowSelected != -1) {
13
				if (rowSelected != -1) {
14
					tableModel.removeRow(rowSelected);
14
					tableModel.removeRow(rowSelected);
15
					tableModel.fireTableDataChanged();
15
					tableModel.fireTableDataChanged();
16
					// Disable the DELETE and SAVE buttons if no rows remaining
16
					// Disable the DELETE and SAVE buttons if no rows remaining
17
					// after delete.
17
					// after delete.
18
					if (tableModel.getRowCount() == 0) {
18
					if (tableModel.getRowCount() == 0) {
19
						deleteButton.setEnabled(false);
19
						deleteButton.setEnabled(false);
20
						saveButton.setEnabled(false);
20
						saveButton.setEnabled(false);
21
					}
21
					}
22
					// Table still contains one or more rows, so highlight
22
					// Table still contains one or more rows, so highlight
23
					// (select) the appropriate one.
23
					// (select) the appropriate one.
24
					else {
24
					else {
25
						int rowToSelect = rowSelected;
25
						int rowToSelect = rowSelected;
26
						if (rowSelected >= tableModel.getRowCount()) {
26
						if (rowSelected >= tableModel.getRowCount()) {
27
							rowToSelect = rowSelected - 1;
27
							rowToSelect = rowSelected - 1;
28
						}
28
						}
29
						cookieTable.setRowSelectionInterval(rowToSelect, rowToSelect);
29
						authTable.setRowSelectionInterval(rowToSelect, rowToSelect);
30
					}
30
					}
31
				}
31
				}
32
			}
32
			}
33
		} else if (action.equals(ADD_COMMAND)) {
33
		} else if (action.equals(ADD_COMMAND)) {
34
			// If a table cell is being edited, we should accept the current
34
			// If a table cell is being edited, we should accept the current
35
			// value and stop the editing before adding a new row.
35
			// value and stop the editing before adding a new row.
36
			if (cookieTable.isEditing()) {
36
			if (authTable.isEditing()) {
37
				TableCellEditor cellEditor = cookieTable.getCellEditor(cookieTable.getEditingRow(),
37
				TableCellEditor cellEditor = authTable.getCellEditor(authTable.getEditingRow(),
38
						cookieTable
38
 authTable
39
.getEditingColumn());
39
						.getEditingColumn());
40
				cellEditor.stopCellEditing();
40
				cellEditor.stopCellEditing();
41
			}
41
			}
42
			tableModel.addNewRow();
42
			tableModel.addNewRow();
43
			tableModel.fireTableDataChanged();
43
			tableModel.fireTableDataChanged();
44
			// Enable the DELETE and SAVE buttons if they are currently
44
			// Enable the DELETE and SAVE buttons if they are currently
45
			// disabled.
45
			// disabled.
46
			if (!deleteButton.isEnabled()) {
46
			if (!deleteButton.isEnabled()) {
47
				deleteButton.setEnabled(true);
47
				deleteButton.setEnabled(true);
48
			}
48
			}
49
			if (!saveButton.isEnabled()) {
49
			if (!saveButton.isEnabled()) {
50
				saveButton.setEnabled(true);
50
				saveButton.setEnabled(true);
51
			}
51
			}
52
			// Highlight (select) the appropriate row.
52
			// Highlight (select) the appropriate row.
53
			int rowToSelect = tableModel.getRowCount() - 1;
53
			int rowToSelect = tableModel.getRowCount() - 1;
54
			cookieTable.setRowSelectionInterval(rowToSelect, rowToSelect);
54
			authTable.setRowSelectionInterval(rowToSelect, rowToSelect);
55
		} else if (action.equals(LOAD_COMMAND)) {
55
		} else if (action.equals(LOAD_COMMAND)) {
56
			try {
56
			try {
57
                final String [] _txt={".txt"}; //$NON-NLS-1$
57
                final String [] _txt={".txt"}; //$NON-NLS-1$
58
				final JFileChooser chooser = FileDialoger.promptToOpenFile(_txt);
58
				final JFileChooser dialog = FileDialoger.promptToOpenFile(_txt);
59
				if (chooser != null) {
59
				if (dialog != null) {
60
					CookieManager manager = new CookieManager();
60
					
61
					manager.addFile(chooser.getSelectedFile().getAbsolutePath());
61
tableModel.manager.addFile(dialog.getSelectedFile().getAbsolutePath());
62
                    for (int i = 0; i < manager.getCookieCount() ; i++){
63
                        addCookieToTable(manager.get(i));
64
                    }
65
					tableModel.fireTableDataChanged();
62
					tableModel.fireTableDataChanged();
66
					if (tableModel.getRowCount() > 0) {
63
					if (tableModel.getRowCount() > 0) {
67
						deleteButton.setEnabled(true);
64
						deleteButton.setEnabled(true);
68
						saveButton.setEnabled(true);
65
						saveButton.setEnabled(true);
69
					}
66
					}
70
				}
67
				}
71
			} catch (IOException ex) {
68
			} catch (IOException ex) {
72
				log.error("", ex);
69
				log.error("", ex);
73
			}
70
			}
74
		} else if (action.equals(SAVE_COMMAND)) {
71
		} else if (action.equals(SAVE_COMMAND)) {
75
			try {
72
			try {
76
				final JFileChooser chooser = FileDialoger.promptToSaveFile("cookies.txt"); //$NON-NLS-1$
73
				final JFileChooser chooser = FileDialoger.promptToSaveFile("auth.txt"); //$NON-NLS-1$
77
				if (chooser != null) {
74
				if (chooser != null) {
78
					((CookieManager) createTestElement()).save(chooser.getSelectedFile().getAbsolutePath());
75
					tableModel.manager.save(chooser.getSelectedFile().getAbsolutePath());
79
				}
76
				}
80
			} catch (IOException ex) {
77
			} catch (IOException ex) {
81
				log.error("", ex);
78
				log.error("", ex);
82
			}
79
			}
83
		}
80
		}
Summary
Number of common nesting structure subtrees1
Number of refactorable cases0
Number of non-refactorable cases1
Time elapsed for finding largest common nesting structure subtrees (ms)47.9
Clones locationClones are in different classes having the same super class
Number of node comparisons219
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements44
    Number of unmapped statements in the first code fragment3
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)393.6
    Clone typeType 3
    Mapped Statements
    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)
    3
    if (tableModel.getRowCount() > 0)
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.util.PowerTableModelorg.apache.jmeter.protocol.http.gui.AuthPanel.InnerTableModelSUBCLASS_TYPE_MISMATCH
    3
    if (tableModel.getRowCount() > 0)
    4
    if (cookieTable.isEditing())
    4
    if (cookieTable.isEditing())
    4
    if (authTable.isEditing())
    Differences
    Expression1Expression2Difference
    cookieTableauthTableVARIABLE_NAME_MISMATCH
    4
    if (authTable.isEditing())
    5
    TableCellEditor cellEditor = cookieTable.getCellEditor(cookieTable.getEditingRow(), cookieTable.getEditingColumn());
    5
    TableCellEditor cellEditor = cookieTable.getCellEditor(cookieTable.getEditingRow(), cookieTable.getEditingColumn());
    5
    TableCellEditor cellEditor = authTable.getCellEditor(authTable.getEditingRow(), authTable.getEditingColumn());
    Differences
    Expression1Expression2Difference
    cookieTableauthTableVARIABLE_NAME_MISMATCH
    cookieTableauthTableVARIABLE_NAME_MISMATCH
    cookieTableauthTableVARIABLE_NAME_MISMATCH
    5
    TableCellEditor cellEditor = authTable.getCellEditor(authTable.getEditingRow(), authTable.getEditingColumn());
    6
    cellEditor.cancelCellEditing();
    6
    cellEditor.cancelCellEditing();
    7
    int rowSelected = cookieTable.getSelectedRow();
    7
    int rowSelected = cookieTable.getSelectedRow();
    7
    int rowSelected = authTable.getSelectedRow();
    Differences
    Expression1Expression2Difference
    cookieTableauthTableVARIABLE_NAME_MISMATCH
    7
    int rowSelected = authTable.getSelectedRow();
    8
    if (rowSelected != -1)
    8
    if (rowSelected != -1)
    9
    tableModel.removeRow(rowSelected);
    9
    tableModel.removeRow(rowSelected);
    9
    tableModel.removeRow(rowSelected);
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.util.PowerTableModelorg.apache.jmeter.protocol.http.gui.AuthPanel.InnerTableModelSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression tableModel cannot be unified with expression tableModel , because common superclass javax.swing.table.AbstractTableModel does not declare member(s) public void removeRow(int)
    9
    tableModel.removeRow(rowSelected);
    10
    tableModel.fireTableDataChanged();
    10
    tableModel.fireTableDataChanged();
    10
    tableModel.fireTableDataChanged();
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.util.PowerTableModelorg.apache.jmeter.protocol.http.gui.AuthPanel.InnerTableModelSUBCLASS_TYPE_MISMATCH
    10
    tableModel.fireTableDataChanged();
    11
    if (tableModel.getRowCount() == 0)
    11
    if (tableModel.getRowCount() == 0)
    11
    if (tableModel.getRowCount() == 0)
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.util.PowerTableModelorg.apache.jmeter.protocol.http.gui.AuthPanel.InnerTableModelSUBCLASS_TYPE_MISMATCH
    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())
    15
    if (rowSelected >= tableModel.getRowCount())
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.util.PowerTableModelorg.apache.jmeter.protocol.http.gui.AuthPanel.InnerTableModelSUBCLASS_TYPE_MISMATCH
    15
    if (rowSelected >= tableModel.getRowCount())
    16
    rowToSelect = rowSelected - 1;
    16
    rowToSelect = rowSelected - 1;
    17
    cookieTable.setRowSelectionInterval(rowToSelect, rowToSelect);
    17
    cookieTable.setRowSelectionInterval(rowToSelect, rowToSelect);
    17
    authTable.setRowSelectionInterval(rowToSelect, rowToSelect);
    Differences
    Expression1Expression2Difference
    cookieTableauthTableVARIABLE_NAME_MISMATCH
    17
    authTable.setRowSelectionInterval(rowToSelect, rowToSelect);
    18
    else if (action.equals(ADD_COMMAND))
    18
    else if (action.equals(ADD_COMMAND))
    19
    if (cookieTable.isEditing())
    19
    if (cookieTable.isEditing())
    19
    if (authTable.isEditing())
    Differences
    Expression1Expression2Difference
    cookieTableauthTableVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted
    19
    if (authTable.isEditing())
    20
    TableCellEditor cellEditor = cookieTable.getCellEditor(cookieTable.getEditingRow(), cookieTable.getEditingColumn());
    20
    TableCellEditor cellEditor = cookieTable.getCellEditor(cookieTable.getEditingRow(), cookieTable.getEditingColumn());
    20
    TableCellEditor cellEditor = authTable.getCellEditor(authTable.getEditingRow(), authTable.getEditingColumn());
    Differences
    Expression1Expression2Difference
    cookieTableauthTableVARIABLE_NAME_MISMATCH
    cookieTableauthTableVARIABLE_NAME_MISMATCH
    cookieTableauthTableVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted
    20
    TableCellEditor cellEditor = authTable.getCellEditor(authTable.getEditingRow(), authTable.getEditingColumn());
    21
    cellEditor.stopCellEditing();
    21
    cellEditor.stopCellEditing();
    22
    tableModel.addNewRow();
    22
    tableModel.addNewRow();
    22
    tableModel.addNewRow();
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.util.PowerTableModelorg.apache.jmeter.protocol.http.gui.AuthPanel.InnerTableModelSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression tableModel cannot be unified with expression tableModel , because common superclass javax.swing.table.AbstractTableModel does not declare member(s) public void addNewRow()
    22
    tableModel.addNewRow();
    23
    tableModel.fireTableDataChanged();
    23
    tableModel.fireTableDataChanged();
    23
    tableModel.fireTableDataChanged();
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.util.PowerTableModelorg.apache.jmeter.protocol.http.gui.AuthPanel.InnerTableModelSUBCLASS_TYPE_MISMATCH
    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;
    28
    int rowToSelect = tableModel.getRowCount() - 1;
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.util.PowerTableModelorg.apache.jmeter.protocol.http.gui.AuthPanel.InnerTableModelSUBCLASS_TYPE_MISMATCH
    28
    int rowToSelect = tableModel.getRowCount() - 1;
    29
    cookieTable.setRowSelectionInterval(rowToSelect, rowToSelect);
    29
    cookieTable.setRowSelectionInterval(rowToSelect, rowToSelect);
    29
    authTable.setRowSelectionInterval(rowToSelect, rowToSelect);
    Differences
    Expression1Expression2Difference
    cookieTableauthTableVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted
    29
    authTable.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"};
    32
    final String[] _txt = {".txt"};
    33
    final JFileChooser chooser = FileDialoger.promptToOpenFile(_txt);
    33
    final JFileChooser chooser = FileDialoger.promptToOpenFile(_txt);
    33
    final JFileChooser dialog = FileDialoger.promptToOpenFile(_txt);
    Differences
    Expression1Expression2Difference
    chooserdialogVARIABLE_NAME_MISMATCH
    33
    final JFileChooser dialog = FileDialoger.promptToOpenFile(_txt);
    34
    if (chooser != null)
    34
    if (chooser != null)
    34
    if (dialog != null)
    Differences
    Expression1Expression2Difference
    chooserdialogVARIABLE_NAME_MISMATCH
    34
    if (dialog != null)
    35
    CookieManager manager = new CookieManager();
    35
    CookieManager manager = new CookieManager();
    Preondition Violations
    Unmatched statement CookieManager manager=new CookieManager(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
                                                                                                
    36
    manager.addFile(chooser.getSelectedFile().getAbsolutePath());
    36
    manager.addFile(chooser.getSelectedFile().getAbsolutePath());
    35
    tableModel.manager.addFile(dialog.getSelectedFile().getAbsolutePath());
    Differences
    Expression1Expression2Difference
    chooserdialogVARIABLE_NAME_MISMATCH
    org.apache.jmeter.protocol.http.control.CookieManagerorg.apache.jmeter.protocol.http.control.AuthManagerSUBCLASS_TYPE_MISMATCH
    managertableModel.managerTYPE_COMPATIBLE_REPLACEMENT
    Preondition Violations
    Expression manager cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression manager cannot be unified with expression tableModel.manager , because common superclass org.apache.jmeter.config.ConfigTestElement does not declare member(s) public void addFile(java.lang.String) throws java.io.IOException
    35
    tableModel.manager.addFile(dialog.getSelectedFile().getAbsolutePath());
    37
    for (int i = 0; i < manager.getCookieCount(); i++)
                                                                                                          
    38
    addCookieToTable(manager.get(i));
    38
    addCookieToTable(manager.get(i));
    Preondition Violations
    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
    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
                                                                              
    39
    tableModel.fireTableDataChanged();
    39
    tableModel.fireTableDataChanged();
    36
    tableModel.fireTableDataChanged();
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.util.PowerTableModelorg.apache.jmeter.protocol.http.gui.AuthPanel.InnerTableModelSUBCLASS_TYPE_MISMATCH
    36
    tableModel.fireTableDataChanged();
    40
    if (tableModel.getRowCount() > 0)
    40
    if (tableModel.getRowCount() > 0)
    37
    if (tableModel.getRowCount() > 0)
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.gui.util.PowerTableModelorg.apache.jmeter.protocol.http.gui.AuthPanel.InnerTableModelSUBCLASS_TYPE_MISMATCH
    37
    if (tableModel.getRowCount() > 0)
    41
    deleteButton.setEnabled(true);
    38
    deleteButton.setEnabled(true);
    42
    saveButton.setEnabled(true);
    39
    saveButton.setEnabled(true);
    43
    else if (action.equals(SAVE_COMMAND))
    40
    else if (action.equals(SAVE_COMMAND))
    44
    try
    41
    try
    45
    final JFileChooser chooser = FileDialoger.promptToSaveFile("cookies.txt");
    45
    final JFileChooser chooser = FileDialoger.promptToSaveFile("cookies.txt");
    42
    final JFileChooser chooser = FileDialoger.promptToSaveFile("auth.txt");
    Differences
    Expression1Expression2Difference
    "cookies.txt""auth.txt"LITERAL_VALUE_MISMATCH
    42
    final JFileChooser chooser = FileDialoger.promptToSaveFile("auth.txt");
    46
    if (chooser != null)
    43
    if (chooser != null)
    47
    ((CookieManager)createTestElement()).save(chooser.getSelectedFile().getAbsolutePath());
    47
    ((CookieManager)createTestElement()).save(chooser.getSelectedFile().getAbsolutePath());
    44
    tableModel.manager.save(chooser.getSelectedFile().getAbsolutePath());
    Differences
    Expression1Expression2Difference
    org.apache.jmeter.protocol.http.control.CookieManagerorg.apache.jmeter.protocol.http.control.AuthManagerSUBCLASS_TYPE_MISMATCH
    ((CookieManager)createTestElement())tableModel.managerTYPE_COMPATIBLE_REPLACEMENT
    Preondition Violations
    Expression ((CookieManager)createTestElement()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression ((CookieManager)createTestElement()) cannot be unified with expression tableModel.manager , because common superclass org.apache.jmeter.config.ConfigTestElement does not declare member(s) public void save(java.lang.String) throws java.io.IOException
    44
    tableModel.manager.save(chooser.getSelectedFile().getAbsolutePath());
    Precondition Violations (14)
    Row Violation
    1Expression tableModel cannot be unified with expression tableModel , because common superclass javax.swing.table.AbstractTableModel does not declare member(s) public void removeRow(int)
    2Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted
    4Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted
    5Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted
    6Expression tableModel cannot be unified with expression tableModel , because common superclass javax.swing.table.AbstractTableModel does not declare member(s) public void addNewRow()
    7Expression cookieTable cannot be parameterized, because it has dependencies to/from statements that will be extracted
    8Unmatched statement CookieManager manager=new CookieManager(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    9Expression manager cannot be parameterized, because it has dependencies to/from statements that will be extracted
    10Expression manager cannot be unified with expression tableModel.manager , because common superclass org.apache.jmeter.config.ConfigTestElement does not declare member(s) public void addFile(java.lang.String) throws java.io.IOException
    11Unmatched 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
    12Unmatched 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
    13Expression ((CookieManager)createTestElement()) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    14Expression ((CookieManager)createTestElement()) cannot be unified with expression tableModel.manager , because common superclass org.apache.jmeter.config.ConfigTestElement does not declare member(s) public void save(java.lang.String) throws java.io.IOException