FieldDetails fd = new FieldDetails(); fd.setFieldName(tfFieldName.getText()); fd.setFieldLength(tfFieldLength.getText()); fd.setFieldType((String) cbFieldType.getSelectedItem()); fd.setDefault(tfDefault.getText()); fd.setPrimary(chPrimary.isSelected()); fd.setUnique(chUnique.isSelected()); fd.setIndex(chIndex.isSelected()); fd.setBinary(chBinary.isSelected()); fd.setNotNull(chNotNull.isSelected()); fd.setUnisigned(chUnsigned.isSelected()); fd.setAutoIncrement(chAuto.isSelected()); fd.setZeroFill(chZeroFill.isSelected()); DefaultListModel listModel = (DefaultListModel) listFields.getModel(); listModel.addElement(fd);
int index = listFields.getSelectedIndex(); DefaultListModel listModel = (DefaultListModel) listFields.getModel(); FieldDetails fd = (FieldDetails) listModel.elementAt(index); tfFieldName.setText(fd.getFieldName()); cbFieldType.setSelectedItem(fd.getFieldType()); tfFieldLength.setText(fd.getFieldLength()); tfDefault.setText(fd.getDefault()); chPrimary.setSelected(fd.IsPrimary()); chUnique.setSelected(fd.IsUnique()); chIndex.setSelected(fd.IsIndex()); chBinary.setSelected(fd.IsBinary()); chNotNull.setSelected(fd.IsNotNull()); chUnsigned.setSelected(fd.IsUnisigned()); chAuto.setSelected(fd.IsAutoIncrement()); chZeroFill.setSelected(fd.IsZeroFill());
Clone fragments detected by clone detection tool
File path: /sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/action/CreateTableCommand.java File path: /sql12/plugins/mysql/src/net/sourceforge/squirrel_sql/plugins/mysql/action/CreateTableCommand.java
Method name: void btAddActionPerformed(java.awt.event.ActionEvent) Method name: void listFieldsValueChanged(javax.swing.event.ListSelectionEvent)
Number of AST nodes: 15 Number of AST nodes: 15
1
FieldDetails fd = new FieldDetails();
1
int index = listFields.getSelectedIndex();
2
		fd.setFieldName(tfFieldName.getText());
2
		DefaultListModel listModel = (DefaultListModel) listField
3
		fd.setFieldLength(tfFieldLength.g
3
s.getModel();
4
		FieldDetails fd = (FieldDetails) listModel.elementAt(index);
4
etText());
5
		tfFieldName.setText(
5
		fd.setFieldType((String) 
6
fd.getFieldName());
6
cbFieldType.getSelectedItem());
7
		cbFieldType.setSelectedItem(
7
		fd.setDefault(
8
fd.getFieldType());
9
		tfFieldLength.setText(fd.getFieldLength());
8
tfDefault.getText());
10
		tfDefault.setText(
9
		fd.setPrimary(
11
fd.getDefault());
10
chPrimary.isSelected());
12
		chPrimary.setSelected(
11
		fd.setUnique(
13
fd.IsPrimary());
12
chUnique.isSelected());
14
		chUnique.setSelected(
13
		fd.setIndex(
15
fd.IsUnique());
14
chIndex.isSelected());
16
		chIndex.setSelected(
15
		fd.setBinary(
17
fd.IsIndex());
16
chBinary.isSelected());
18
		chBinary.setSelected(
17
		fd.setNotNull(
19
fd.IsBinary());
18
chNotNull.isSelected());
20
		chNotNull.setSelected(
19
		fd.setUnisigned(chUnsigned.is
21
fd.IsNotNull());
22
		chUnsigned.setSelected(fd.IsUnisigned());
20
Selected());
23
		chAuto.setSelected(
21
		fd.setAutoIncrement(chAuto.isSelected());
24
fd.IsAutoIncrement(
22
		fd.setZeroFill(
25
));
23
chZeroFill.isSelected());
26
		chZeroFill.setSelected(
24
		DefaultListModel listModel = (DefaultListModel) listFields.getModel();
25
		listModel.addElement(fd);
27
fd.IsZeroFill());
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)0.0
Clones locationClones are declared in the same class
Number of node comparisons225
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements2
    Number of unmapped statements in the first code fragment13
    Number of unmapped statements in the second code fragment13
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
                                                                                          
    1
    int index = listFields.getSelectedIndex();
    1
    FieldDetails fd = new FieldDetails();
    1
    FieldDetails fd = new FieldDetails();
    3
    FieldDetails fd = (FieldDetails)listModel.elementAt(index);
    Differences
    Expression1Expression2Difference
    new FieldDetails()(FieldDetails)listModel.elementAt(index)TYPE_COMPATIBLE_REPLACEMENT
    Preondition Violations
    Expression (FieldDetails)listModel.elementAt(index) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3
    FieldDetails fd = (FieldDetails)listModel.elementAt(index);
    2
    fd.setFieldName(tfFieldName.getText());
    2
    fd.setFieldName(tfFieldName.getText());
    Preondition Violations
    Unmatched statement fd.setFieldName(tfFieldName.getText()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                        
    3
    fd.setFieldLength(tfFieldLength.getText());
    3
    fd.setFieldLength(tfFieldLength.getText());
    Preondition Violations
    Unmatched statement fd.setFieldLength(tfFieldLength.getText()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                                
                                                                                        
    4
    tfFieldName.setText(fd.getFieldName());
    Preondition Violations
    Unmatched statement tfFieldName.setText(fd.getFieldName()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    4
    tfFieldName.setText(fd.getFieldName());
    4
    fd.setFieldType((String)cbFieldType.getSelectedItem());
    4
    fd.setFieldType((String)cbFieldType.getSelectedItem());
    Preondition Violations
    Unmatched statement fd.setFieldType((String)cbFieldType.getSelectedItem()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                                                        
                                                                                                        
    5
    cbFieldType.setSelectedItem(fd.getFieldType());
    Preondition Violations
    Unmatched statement cbFieldType.setSelectedItem(fd.getFieldType()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    5
    cbFieldType.setSelectedItem(fd.getFieldType());
    5
    fd.setDefault(tfDefault.getText());
    5
    fd.setDefault(tfDefault.getText());
    Preondition Violations
    Unmatched statement fd.setDefault(tfDefault.getText()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                
                                                                                                
    6
    tfFieldLength.setText(fd.getFieldLength());
    Preondition Violations
    Unmatched statement tfFieldLength.setText(fd.getFieldLength()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    6
    tfFieldLength.setText(fd.getFieldLength());
    6
    fd.setPrimary(chPrimary.isSelected());
    6
    fd.setPrimary(chPrimary.isSelected());
    Preondition Violations
    Unmatched statement fd.setPrimary(chPrimary.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                      
                                                                                
    7
    tfDefault.setText(fd.getDefault());
    Preondition Violations
    Unmatched statement tfDefault.setText(fd.getDefault()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    7
    tfDefault.setText(fd.getDefault());
    7
    fd.setUnique(chUnique.isSelected());
    7
    fd.setUnique(chUnique.isSelected());
    Preondition Violations
    Unmatched statement fd.setUnique(chUnique.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                  
                                                                                      
    8
    chPrimary.setSelected(fd.IsPrimary());
    Preondition Violations
    Unmatched statement chPrimary.setSelected(fd.IsPrimary()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    8
    chPrimary.setSelected(fd.IsPrimary());
    8
    fd.setIndex(chIndex.isSelected());
    8
    fd.setIndex(chIndex.isSelected());
    Preondition Violations
    Unmatched statement fd.setIndex(chIndex.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                              
                                                                                  
    9
    chUnique.setSelected(fd.IsUnique());
    Preondition Violations
    Unmatched statement chUnique.setSelected(fd.IsUnique()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    9
    chUnique.setSelected(fd.IsUnique());
    9
    fd.setBinary(chBinary.isSelected());
    9
    fd.setBinary(chBinary.isSelected());
    Preondition Violations
    Unmatched statement fd.setBinary(chBinary.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                  
                                                                                
    10
    chIndex.setSelected(fd.IsIndex());
    Preondition Violations
    Unmatched statement chIndex.setSelected(fd.IsIndex()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    10
    chIndex.setSelected(fd.IsIndex());
    10
    fd.setNotNull(chNotNull.isSelected());
    10
    fd.setNotNull(chNotNull.isSelected());
    Preondition Violations
    Unmatched statement fd.setNotNull(chNotNull.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                        
                                                                                    
    11
    chBinary.setSelected(fd.IsBinary());
    Preondition Violations
    Unmatched statement chBinary.setSelected(fd.IsBinary()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    11
    chBinary.setSelected(fd.IsBinary());
    11
    fd.setUnisigned(chUnsigned.isSelected());
    11
    fd.setUnisigned(chUnsigned.isSelected());
    Preondition Violations
    Unmatched statement fd.setUnisigned(chUnsigned.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                              
                                                                                        
    12
    chNotNull.setSelected(fd.IsNotNull());
    Preondition Violations
    Unmatched statement chNotNull.setSelected(fd.IsNotNull()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    12
    chNotNull.setSelected(fd.IsNotNull());
    12
    fd.setAutoIncrement(chAuto.isSelected());
    12
    fd.setAutoIncrement(chAuto.isSelected());
    Preondition Violations
    Unmatched statement fd.setAutoIncrement(chAuto.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                              
    13
    fd.setZeroFill(chZeroFill.isSelected());
    13
    fd.setZeroFill(chZeroFill.isSelected());
    Preondition Violations
    Unmatched statement fd.setZeroFill(chZeroFill.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                            
    14
    DefaultListModel listModel = (DefaultListModel)listFields.getModel();
    2
    DefaultListModel listModel = (DefaultListModel)listFields.getModel();
                                                                                              
    13
    chUnsigned.setSelected(fd.IsUnisigned());
    Preondition Violations
    Unmatched statement chUnsigned.setSelected(fd.IsUnisigned()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    13
    chUnsigned.setSelected(fd.IsUnisigned());
                                                                                              
    14
    chAuto.setSelected(fd.IsAutoIncrement());
    Preondition Violations
    Unmatched statement chAuto.setSelected(fd.IsAutoIncrement()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    14
    chAuto.setSelected(fd.IsAutoIncrement());
                                                                                            
    15
    chZeroFill.setSelected(fd.IsZeroFill());
    Preondition Violations
    Unmatched statement chZeroFill.setSelected(fd.IsZeroFill()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    15
    chZeroFill.setSelected(fd.IsZeroFill());
    15
    listModel.addElement(fd);
    15
    listModel.addElement(fd);
    Preondition Violations
    Unmatched statement listModel.addElement(fd); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                              
    Precondition Violations (26)
    Row Violation
    1Expression (FieldDetails)listModel.elementAt(index) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2Unmatched statement fd.setFieldName(tfFieldName.getText()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    3Unmatched statement fd.setFieldLength(tfFieldLength.getText()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    4Unmatched statement tfFieldName.setText(fd.getFieldName()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    5Unmatched statement fd.setFieldType((String)cbFieldType.getSelectedItem()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    6Unmatched statement cbFieldType.setSelectedItem(fd.getFieldType()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    7Unmatched statement fd.setDefault(tfDefault.getText()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    8Unmatched statement tfFieldLength.setText(fd.getFieldLength()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    9Unmatched statement fd.setPrimary(chPrimary.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    10Unmatched statement tfDefault.setText(fd.getDefault()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    11Unmatched statement fd.setUnique(chUnique.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    12Unmatched statement chPrimary.setSelected(fd.IsPrimary()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    13Unmatched statement fd.setIndex(chIndex.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    14Unmatched statement chUnique.setSelected(fd.IsUnique()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    15Unmatched statement fd.setBinary(chBinary.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    16Unmatched statement chIndex.setSelected(fd.IsIndex()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    17Unmatched statement fd.setNotNull(chNotNull.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    18Unmatched statement chBinary.setSelected(fd.IsBinary()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    19Unmatched statement fd.setUnisigned(chUnsigned.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    20Unmatched statement chNotNull.setSelected(fd.IsNotNull()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    21Unmatched statement fd.setAutoIncrement(chAuto.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    22Unmatched statement fd.setZeroFill(chZeroFill.isSelected()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    23Unmatched statement chUnsigned.setSelected(fd.IsUnisigned()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    24Unmatched statement chAuto.setSelected(fd.IsAutoIncrement()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    25Unmatched statement chZeroFill.setSelected(fd.IsZeroFill()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    26Unmatched statement listModel.addElement(fd); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted