nameLabel = new JLabel(AddressbookResourceLoader.getString("dialog", "editgroupdialog", "name")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ nameTextField = new JTextField(); descriptionLabel = new JLabel(AddressbookResourceLoader.getString( "dialog", "editgroupdialog", "description_2")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ descriptionTextField = new JTextField(); addComboBox = new DefaultAddressComboBox(parentFolder.getId(), false); ((JTextComponent) addComboBox.getEditor().getEditorComponent()) .addKeyListener(this); members = new AddressbookListModel(); list = new AddressbookDNDListView(members); list.setMinimumSize(new Dimension(200, 300)); addButton = new JButton("Add"); //$NON-NLS-1$ addButton.addActionListener(this); addButton.setActionCommand("ADD"); //$NON-NLS-1$ removeButton = new JButton("Remove"); //$NON-NLS-1$ removeButton.addActionListener(this); removeButton.setActionCommand("REMOVE"); //$NON-NLS-1$ okButton = new ButtonWithMnemonic(AddressbookResourceLoader.getString( "global", "ok")); //$NON-NLS-1$ //$NON-NLS-2$ okButton.setActionCommand("OK"); //$NON-NLS-1$ okButton.addActionListener(this); cancelButton = new ButtonWithMnemonic(AddressbookResourceLoader .getString("global", "cancel")); //$NON-NLS-1$ //$NON-NLS-2$ cancelButton.setActionCommand("CANCEL"); //$NON-NLS-1$ cancelButton.addActionListener(this); getRootPane().setDefaultButton(okButton); getRootPane().registerKeyboardAction(this, "CANCEL", //$NON-NLS-1$ KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
intervalCheckingLabel = new LabelWithMnemonic(MailResourceLoader .getString("dialog", "account", "check_for_new_messages_every")); intervalCheckingSpinner = new JSpinner(new SpinnerNumberModel(5, 1, 100, 1)); intervalCheckingLabel.setLabelFor(intervalCheckingSpinner); intervalCheckingLabel2 = new JLabel(MailResourceLoader.getString( "dialog", "account", "minutes")); intervalCheckingCheckBox = new CheckBoxWithMnemonic(MailResourceLoader .getString("dialog", "account", "enable_interval_message_checking")); intervalCheckingCheckBox.setActionCommand("ENABLE"); intervalCheckingCheckBox.addActionListener(this); autodownloadCheckBox = new CheckBoxWithMnemonic(MailResourceLoader .getString("dialog", "account", IncomingItem.AUTOMATICALLY_DOWNLOAD_NEW_MESSAGES)); playsoundCheckBox = new CheckBoxWithMnemonic(MailResourceLoader .getString("dialog", "account", "play_sound_when_new_messages_arrive")); playsoundCheckBox.setActionCommand("PLAYSOUND"); playsoundCheckBox.addActionListener(this); ButtonGroup group = new ButtonGroup(); defaultRadioButton = new JRadioButton(MailResourceLoader.getString( "dialog", "account", "default_soundfile")); group.add(defaultRadioButton); chooseRadioButton = new JRadioButton(MailResourceLoader.getString( "dialog", "account", "choose_soundfile")); group.add(chooseRadioButton); chooseButton = new JButton(".."); chooseButton.setActionCommand("CHOOSE"); chooseButton.addActionListener(this); if (item.isPopAccount()) { popPanel = new PopAttributPanel(item.getPopItem()); } else { imapPanel = new ImapAttributPanel(item.getImapItem()); }
Clone fragments detected by clone detection tool
File path: /columba-1.4-src/contact/src/main/java/org/columba/addressbook/gui/dialog/group/EditGroupDialog.java File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/gui/config/account/ReceiveOptionsPanel.java
Method name: void initComponents() Method name: void initComponents()
Number of AST nodes: 23 Number of AST nodes: 22
1
nameLabel = new JLabel(AddressbookResourceLoader
1
intervalCheckingLabel = new LabelWithMnemonic(MailResourceLoader
2
.getString("dialog",
2
				.getString("dialog",
3
				"editgroupdialog", "name")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
4
		nameTextField = new JTextField(
3
 "account", "check_for_new_messages_every"));
4
		intervalCheckingSpinner = new JSpinner(new SpinnerNumberModel(5, 1,
5
);
5
				100, 1));
6
		description
6
		intervalCheckingLabel.setLabelFor(intervalCheckingSpinner);
7
Label = new JLabel(AddressbookResourceLoader.getString(
7
		intervalCheckingLabel2 = new JLabel(MailResourceLoader.getString(
8
				"dialog", "editgroupdialog", "description_2")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
8
				"dialog", "
9
		descriptionTextField = new JTextField();
10
		addComboBox = new DefaultAddressComboBox(parentFolder.getId(), false
9
account", "minutes"));
10
		intervalCheckingCheckBox = new CheckBoxWithMnemonic(MailResourceLoader
11
				.getString("dialog", "account",
11
);
12
						"enable_interval_message_checking"));
12
		((JTextComponent) addComboBox.getEditor().getEditorComponent())
13
		intervalCheckingCheckBox.set
13
				.addKeyListener(this);
14
		members = new AddressbookListModel();
15
		list = new AddressbookDNDListView(members);
16
		list.setMinimumSize(new Dimension(200, 300));
17
		addButton = new JButton("Add"); //$NON-NLS-1$
18
		addButton.addActionListener(this
14
ActionCommand("ENABLE");
15
		intervalCheckingCheckBox.addActionListener(this);
16
		autodownloadCheckBox = new CheckBoxWithMnemonic(MailResourceLoader
17
				.getString("dialog", "account",
18
						IncomingItem.AUTOMATICALLY_DOWNLOAD_NEW_MESSAGES));
19
		playsoundCheckBox = new CheckBoxWithMnemonic(MailResourceLoader
20
				.getString("dialog", "account",
19
);
21
						"play_sound_when_new_messages_arrive"));
20
		addButton.setActionCommand("ADD"); //$NON-NLS-1$
22
		playsoundCheckBox.setActionCommand("
21
		removeButton = new JButton("Remove"); //$NON-NLS-1$
22
		removeButton
23
PLAYSOUND");
23
.addActionListener(this);
24
		playsoundCheckBox.addActionListener(this);
24
		removeButton.setActionCommand("REMOVE"); //$NON-NLS-1$
25
		
25
		ok
26
ButtonGroup group = new ButtonGroup();
26
Button = new ButtonWithMnemonic(AddressbookResourceLoader.getString(
27
		defaultRadioButton = new JRadioButton(MailResourceLoader.getString(
27
				"global", "ok")); //$NON-NLS-1$ //$NON-NLS-2$
28
				"
28
		okButton.setActionCommand("OK"); //$NON-NLS-1$
29
		okButton.addActionListener(this
29
dialog", "account", "default_soundfile"));
30
);
30
		group.add(defaultRadioButton);
31
		cancelButton = new ButtonWithMnemonic(AddressbookResourceLoader
31
		chooseRadioButton = new JRadioButton(MailResourceLoader
32
				.getString("global", "cancel")); //$NON-NLS-1$ //$NON-NLS-2$
32
.getString(
33
		cancelButton.setActionCommand("CANCEL"); //$NON-NLS-1$
34
		cancelButton.addActionListener(this);
35
		getRootPane().setDefaultButton(okButton);
36
		getRootPane().registerKeyboardAction(this, "CANCEL", //$NON-NLS-1$
37
				KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
38
				JComponent.WHEN_IN_FOCUSED_WINDOW);
33
				"dialog", "account", "choose_soundfile"));
34
		group.add(chooseRadioButton);
35
		chooseButton = new JButton("..");
36
		chooseButton.setActionCommand("CHOOSE");
37
		chooseButton.addActionListener(this);
38
		if (item.isPopAccount()) {
39
			popPanel = new PopAttributPanel(item.getPopItem());
40
		} else {
41
			imapPanel = new ImapAttributPanel(item.getImapItem());
42
		}
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 in different classes having the same super class
Number of node comparisons230
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements16
    Number of unmapped statements in the first code fragment7
    Number of unmapped statements in the second code fragment3
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 3
    Mapped Statements
    ID Statement ID Statement
    1
    nameLabel = new JLabel(AddressbookResourceLoader.getString("dialog", "editgroupdialog", "name"));
    1
    nameLabel = new JLabel(AddressbookResourceLoader.getString("dialog", "editgroupdialog", "name"));
    8
    autodownloadCheckBox = new CheckBoxWithMnemonic(MailResourceLoader.getString("dialog", "account", IncomingItem.AUTOMATICALLY_DOWNLOAD_NEW_MESSAGES));
    Differences
    Expression1Expression2Difference
    nameLabelautodownloadCheckBoxVARIABLE_NAME_MISMATCH
    javax.swing.JLabeljavax.swing.JCheckBoxSUBCLASS_TYPE_MISMATCH
    javax.swing.JLabelorg.columba.core.gui.base.CheckBoxWithMnemonicSUBCLASS_TYPE_MISMATCH
    "editgroupdialog""account"LITERAL_VALUE_MISMATCH
    "name"IncomingItem.AUTOMATICALLY_DOWNLOAD_NEW_MESSAGESTYPE_COMPATIBLE_REPLACEMENT
    org.columba.addressbook.util.AddressbookResourceLoaderorg.columba.mail.util.MailResourceLoaderSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression new JLabel(AddressbookResourceLoader.getString("dialog","editgroupdialog","name")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new CheckBoxWithMnemonic(MailResourceLoader.getString("dialog","account",IncomingItem.AUTOMATICALLY_DOWNLOAD_NEW_MESSAGES)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    8
    autodownloadCheckBox = new CheckBoxWithMnemonic(MailResourceLoader.getString("dialog", "account", IncomingItem.AUTOMATICALLY_DOWNLOAD_NEW_MESSAGES));
    2
    nameTextField = new JTextField();
    2
    nameTextField = new JTextField();
    1
    intervalCheckingLabel = new LabelWithMnemonic(MailResourceLoader.getString("dialog", "account", "check_for_new_messages_every"));
    Differences
    Expression1Expression2Difference
    nameTextFieldintervalCheckingLabelVARIABLE_NAME_MISMATCH
    javax.swing.JTextFieldjavax.swing.JLabelSUBCLASS_TYPE_MISMATCH
    javax.swing.JTextFieldorg.columba.core.gui.base.LabelWithMnemonicSUBCLASS_TYPE_MISMATCH
    new JTextField()new LabelWithMnemonic(MailResourceLoader.getString("dialog","account","check_for_new_messages_every"))ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression nameTextField is a field being modified, and thus it cannot be parameterized
    Expression intervalCheckingLabel is a field being modified, and thus it cannot be parameterized
    Expression new LabelWithMnemonic(MailResourceLoader.getString("dialog","account","check_for_new_messages_every")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new LabelWithMnemonic(MailResourceLoader.getString("dialog","account","check_for_new_messages_every")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    1
    intervalCheckingLabel = new LabelWithMnemonic(MailResourceLoader.getString("dialog", "account", "check_for_new_messages_every"));
    3
    descriptionLabel = new JLabel(AddressbookResourceLoader.getString("dialog", "editgroupdialog", "description_2"));
    3
    descriptionLabel = new JLabel(AddressbookResourceLoader.getString("dialog", "editgroupdialog", "description_2"));
    5
    intervalCheckingCheckBox = new CheckBoxWithMnemonic(MailResourceLoader.getString("dialog", "account", "enable_interval_message_checking"));
    Differences
    Expression1Expression2Difference
    descriptionLabelintervalCheckingCheckBoxVARIABLE_NAME_MISMATCH
    javax.swing.JLabeljavax.swing.JCheckBoxSUBCLASS_TYPE_MISMATCH
    javax.swing.JLabelorg.columba.core.gui.base.CheckBoxWithMnemonicSUBCLASS_TYPE_MISMATCH
    "editgroupdialog""account"LITERAL_VALUE_MISMATCH
    "description_2""enable_interval_message_checking"LITERAL_VALUE_MISMATCH
    org.columba.addressbook.util.AddressbookResourceLoaderorg.columba.mail.util.MailResourceLoaderSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression descriptionLabel is a field being modified, and thus it cannot be parameterized
    Expression intervalCheckingCheckBox is a field being modified, and thus it cannot be parameterized
    Expression new JLabel(AddressbookResourceLoader.getString("dialog","editgroupdialog","description_2")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new CheckBoxWithMnemonic(MailResourceLoader.getString("dialog","account","enable_interval_message_checking")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    5
    intervalCheckingCheckBox = new CheckBoxWithMnemonic(MailResourceLoader.getString("dialog", "account", "enable_interval_message_checking"));
    4
    descriptionTextField = new JTextField();
    4
    descriptionTextField = new JTextField();
    2
    intervalCheckingSpinner = new JSpinner(new SpinnerNumberModel(5, 1, 100, 1));
    Differences
    Expression1Expression2Difference
    descriptionTextFieldintervalCheckingSpinnerVARIABLE_NAME_MISMATCH
    javax.swing.JTextFieldjavax.swing.JSpinnerSUBCLASS_TYPE_MISMATCH
    javax.swing.JTextFieldjavax.swing.JSpinnerSUBCLASS_TYPE_MISMATCH
    new JTextField()new JSpinner(new SpinnerNumberModel(5,1,100,1))ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression descriptionTextField is a field being modified, and thus it cannot be parameterized
    Expression intervalCheckingSpinner is a field being modified, and thus it cannot be parameterized
    Expression new JSpinner(new SpinnerNumberModel(5,1,100,1)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new JSpinner(new SpinnerNumberModel(5,1,100,1)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2
    intervalCheckingSpinner = new JSpinner(new SpinnerNumberModel(5, 1, 100, 1));
    5
    addComboBox = new DefaultAddressComboBox(parentFolder.getId(), false);
    5
    addComboBox = new DefaultAddressComboBox(parentFolder.getId(), false);
    4
    intervalCheckingLabel2 = new JLabel(MailResourceLoader.getString("dialog", "account", "minutes"));
    Differences
    Expression1Expression2Difference
    addComboBoxintervalCheckingLabel2VARIABLE_NAME_MISMATCH
    org.columba.addressbook.gui.autocomplete.DefaultAddressComboBoxjavax.swing.JLabelSUBCLASS_TYPE_MISMATCH
    org.columba.addressbook.gui.autocomplete.DefaultAddressComboBoxjavax.swing.JLabelSUBCLASS_TYPE_MISMATCH
    new DefaultAddressComboBox(parentFolder.getId(),false)new JLabel(MailResourceLoader.getString("dialog","account","minutes"))ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression new JLabel(MailResourceLoader.getString("dialog","account","minutes")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new JLabel(MailResourceLoader.getString("dialog","account","minutes")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    4
    intervalCheckingLabel2 = new JLabel(MailResourceLoader.getString("dialog", "account", "minutes"));
    6
    ((JTextComponent)addComboBox.getEditor().getEditorComponent()).addKeyListener(this);
                                                                                                                                                                                  
    7
    members = new AddressbookListModel();
    7
    members = new AddressbookListModel();
    Preondition Violations
    Unmatched statement members=new AddressbookListModel(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
                                                                                
    8
    list = new AddressbookDNDListView(members);
    8
    list = new AddressbookDNDListView(members);
    Preondition Violations
    Unmatched statement list=new AddressbookDNDListView(members); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
                                                                                            
    9
    list.setMinimumSize(new Dimension(200, 300));
    9
    list.setMinimumSize(new Dimension(200, 300));
    Preondition Violations
    Unmatched statement list.setMinimumSize(new Dimension(200,300)); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
                                                                                                  
    10
    addButton = new JButton("Add");
    10
    addButton = new JButton("Add");
    9
    playsoundCheckBox = new CheckBoxWithMnemonic(MailResourceLoader.getString("dialog", "account", "play_sound_when_new_messages_arrive"));
    Differences
    Expression1Expression2Difference
    addButtonplaysoundCheckBoxVARIABLE_NAME_MISMATCH
    javax.swing.JButtonjavax.swing.JCheckBoxSUBCLASS_TYPE_MISMATCH
    javax.swing.JButtonorg.columba.core.gui.base.CheckBoxWithMnemonicSUBCLASS_TYPE_MISMATCH
    "Add"MailResourceLoader.getString("dialog","account","play_sound_when_new_messages_arrive")TYPE_COMPATIBLE_REPLACEMENT
    Preondition Violations
    Expression new CheckBoxWithMnemonic(MailResourceLoader.getString("dialog","account","play_sound_when_new_messages_arrive")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression MailResourceLoader.getString("dialog","account","play_sound_when_new_messages_arrive") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    9
    playsoundCheckBox = new CheckBoxWithMnemonic(MailResourceLoader.getString("dialog", "account", "play_sound_when_new_messages_arrive"));
    11
    addButton.addActionListener(this);
    11
    addButton.addActionListener(this);
    11
    playsoundCheckBox.addActionListener(this);
    Differences
    Expression1Expression2Difference
    addButtonplaysoundCheckBoxVARIABLE_NAME_MISMATCH
    javax.swing.JButtonjavax.swing.JCheckBoxSUBCLASS_TYPE_MISMATCH
    11
    playsoundCheckBox.addActionListener(this);
    12
    addButton.setActionCommand("ADD");
    12
    addButton.setActionCommand("ADD");
    10
    playsoundCheckBox.setActionCommand("PLAYSOUND");
    Differences
    Expression1Expression2Difference
    "ADD""PLAYSOUND"LITERAL_VALUE_MISMATCH
    addButtonplaysoundCheckBoxVARIABLE_NAME_MISMATCH
    javax.swing.JButtonjavax.swing.JCheckBoxSUBCLASS_TYPE_MISMATCH
    10
    playsoundCheckBox.setActionCommand("PLAYSOUND");
    13
    removeButton = new JButton("Remove");
    13
    removeButton = new JButton("Remove");
    13
    defaultRadioButton = new JRadioButton(MailResourceLoader.getString("dialog", "account", "default_soundfile"));
    Differences
    Expression1Expression2Difference
    removeButtondefaultRadioButtonVARIABLE_NAME_MISMATCH
    javax.swing.JButtonjavax.swing.JRadioButtonSUBCLASS_TYPE_MISMATCH
    javax.swing.JButtonjavax.swing.JRadioButtonSUBCLASS_TYPE_MISMATCH
    "Remove"MailResourceLoader.getString("dialog","account","default_soundfile")TYPE_COMPATIBLE_REPLACEMENT
    Preondition Violations
    Expression removeButton is a field being modified, and thus it cannot be parameterized
    Expression defaultRadioButton is a field being modified, and thus it cannot be parameterized
    Expression new JRadioButton(MailResourceLoader.getString("dialog","account","default_soundfile")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression MailResourceLoader.getString("dialog","account","default_soundfile") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    13
    defaultRadioButton = new JRadioButton(MailResourceLoader.getString("dialog", "account", "default_soundfile"));
    14
    removeButton.addActionListener(this);
    14
    removeButton.addActionListener(this);
    7
    intervalCheckingCheckBox.addActionListener(this);
    Differences
    Expression1Expression2Difference
    removeButtonintervalCheckingCheckBoxVARIABLE_NAME_MISMATCH
    javax.swing.JButtonjavax.swing.JCheckBoxSUBCLASS_TYPE_MISMATCH
    7
    intervalCheckingCheckBox.addActionListener(this);
    15
    removeButton.setActionCommand("REMOVE");
    15
    removeButton.setActionCommand("REMOVE");
    6
    intervalCheckingCheckBox.setActionCommand("ENABLE");
    Differences
    Expression1Expression2Difference
    "REMOVE""ENABLE"LITERAL_VALUE_MISMATCH
    removeButtonintervalCheckingCheckBoxVARIABLE_NAME_MISMATCH
    javax.swing.JButtonjavax.swing.JCheckBoxSUBCLASS_TYPE_MISMATCH
    6
    intervalCheckingCheckBox.setActionCommand("ENABLE");
                                                                                    
    12
    ButtonGroup group = new ButtonGroup();
                                                                        
    14
    group.add(defaultRadioButton);
    Preondition Violations
    Unmatched statement group.add(defaultRadioButton); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    14
    group.add(defaultRadioButton);
    16
    okButton = new ButtonWithMnemonic(AddressbookResourceLoader.getString("global", "ok"));
    16
    okButton = new ButtonWithMnemonic(AddressbookResourceLoader.getString("global", "ok"));
    15
    chooseRadioButton = new JRadioButton(MailResourceLoader.getString("dialog", "account", "choose_soundfile"));
    Differences
    Expression1Expression2Difference
    okButtonchooseRadioButtonVARIABLE_NAME_MISMATCH
    org.columba.core.gui.base.ButtonWithMnemonicjavax.swing.JRadioButtonSUBCLASS_TYPE_MISMATCH
    org.columba.core.gui.base.ButtonWithMnemonicjavax.swing.JRadioButtonSUBCLASS_TYPE_MISMATCH
    org.columba.addressbook.util.AddressbookResourceLoaderorg.columba.mail.util.MailResourceLoaderSUBCLASS_TYPE_MISMATCH
    AddressbookResourceLoader.getString("global","ok")MailResourceLoader.getString("dialog","account","choose_soundfile")ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression okButton is a field being modified, and thus it cannot be parameterized
    Expression chooseRadioButton is a field being modified, and thus it cannot be parameterized
    Expression new ButtonWithMnemonic(AddressbookResourceLoader.getString("global","ok")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new JRadioButton(MailResourceLoader.getString("dialog","account","choose_soundfile")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression AddressbookResourceLoader cannot be unified with expression MailResourceLoader , because common superclass org.columba.core.resourceloader.GlobalResourceLoader does not declare member(s) public static java.lang.String getString(java.lang.String, java.lang.String)
    Expression AddressbookResourceLoader.getString("global","ok") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression MailResourceLoader.getString("dialog","account","choose_soundfile") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    15
    chooseRadioButton = new JRadioButton(MailResourceLoader.getString("dialog", "account", "choose_soundfile"));
                                                                      
    16
    group.add(chooseRadioButton);
    Preondition Violations
    Unmatched statement group.add(chooseRadioButton); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    16
    group.add(chooseRadioButton);
    17
    okButton.setActionCommand("OK");
                                                                            
    18
    okButton.addActionListener(this);
    18
    okButton.addActionListener(this);
    Preondition Violations
    Unmatched statement okButton.addActionListener(this); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
                                                                              
    19
    cancelButton = new ButtonWithMnemonic(AddressbookResourceLoader.getString("global", "cancel"));
    19
    cancelButton = new ButtonWithMnemonic(AddressbookResourceLoader.getString("global", "cancel"));
    17
    chooseButton = new JButton("..");
    Differences
    Expression1Expression2Difference
    cancelButtonchooseButtonVARIABLE_NAME_MISMATCH
    org.columba.core.gui.base.ButtonWithMnemonicjavax.swing.JButtonSUBCLASS_TYPE_MISMATCH
    org.columba.core.gui.base.ButtonWithMnemonicjavax.swing.JButtonSUBCLASS_TYPE_MISMATCH
    AddressbookResourceLoader.getString("global","cancel")".."TYPE_COMPATIBLE_REPLACEMENT
    Preondition Violations
    Expression new ButtonWithMnemonic(AddressbookResourceLoader.getString("global","cancel")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression AddressbookResourceLoader.getString("global","cancel") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    17
    chooseButton = new JButton("..");
    20
    cancelButton.setActionCommand("CANCEL");
    20
    cancelButton.setActionCommand("CANCEL");
    18
    chooseButton.setActionCommand("CHOOSE");
    Differences
    Expression1Expression2Difference
    "CANCEL""CHOOSE"LITERAL_VALUE_MISMATCH
    cancelButtonchooseButtonVARIABLE_NAME_MISMATCH
    org.columba.core.gui.base.ButtonWithMnemonicjavax.swing.JButtonSUBCLASS_TYPE_MISMATCH
    18
    chooseButton.setActionCommand("CHOOSE");
    21
    cancelButton.addActionListener(this);
    21
    cancelButton.addActionListener(this);
    19
    chooseButton.addActionListener(this);
    Differences
    Expression1Expression2Difference
    cancelButtonchooseButtonVARIABLE_NAME_MISMATCH
    org.columba.core.gui.base.ButtonWithMnemonicjavax.swing.JButtonSUBCLASS_TYPE_MISMATCH
    19
    chooseButton.addActionListener(this);
    22
    getRootPane().setDefaultButton(okButton);
    22
    getRootPane().setDefaultButton(okButton);
    3
    intervalCheckingLabel.setLabelFor(intervalCheckingSpinner);
    Differences
    Expression1Expression2Difference
    okButtonintervalCheckingSpinnerVARIABLE_NAME_MISMATCH
    org.columba.core.gui.base.ButtonWithMnemonicjavax.swing.JSpinnerSUBCLASS_TYPE_MISMATCH
    setDefaultButtonsetLabelForMETHOD_INVOCATION_NAME_MISMATCH
    javax.swing.JRootPanejavax.swing.JLabelSUBCLASS_TYPE_MISMATCH
    getRootPane()intervalCheckingLabelTYPE_COMPATIBLE_REPLACEMENT
    Preondition Violations
    Expression getRootPane().setDefaultButton(okButton) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression intervalCheckingLabel.setLabelFor(intervalCheckingSpinner) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression getRootPane().setDefaultButton(okButton) is a void method call, and thus it cannot be parameterized
    Expression intervalCheckingLabel.setLabelFor(intervalCheckingSpinner) is a void method call, and thus it cannot be parameterized
    Expression intervalCheckingLabel cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression getRootPane() cannot be unified with expression intervalCheckingLabel , because common superclass javax.swing.JComponent does not declare member(s) public void setDefaultButton(javax.swing.JButton) , public void setLabelFor(java.awt.Component)
    3
    intervalCheckingLabel.setLabelFor(intervalCheckingSpinner);
    23
    getRootPane().registerKeyboardAction(this, "CANCEL", KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
                                                                                                                                                                                                                                                                                  
    Precondition Violations (44)
    Row Violation
    1Expression new JLabel(AddressbookResourceLoader.getString("dialog","editgroupdialog","name")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2Expression new CheckBoxWithMnemonic(MailResourceLoader.getString("dialog","account",IncomingItem.AUTOMATICALLY_DOWNLOAD_NEW_MESSAGES)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3Expression nameTextField is a field being modified, and thus it cannot be parameterized
    4Expression intervalCheckingLabel is a field being modified, and thus it cannot be parameterized
    5Expression new LabelWithMnemonic(MailResourceLoader.getString("dialog","account","check_for_new_messages_every")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    6Expression new LabelWithMnemonic(MailResourceLoader.getString("dialog","account","check_for_new_messages_every")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    7Expression descriptionLabel is a field being modified, and thus it cannot be parameterized
    8Expression intervalCheckingCheckBox is a field being modified, and thus it cannot be parameterized
    9Expression new JLabel(AddressbookResourceLoader.getString("dialog","editgroupdialog","description_2")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    10Expression new CheckBoxWithMnemonic(MailResourceLoader.getString("dialog","account","enable_interval_message_checking")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    11Expression descriptionTextField is a field being modified, and thus it cannot be parameterized
    12Expression intervalCheckingSpinner is a field being modified, and thus it cannot be parameterized
    13Expression new JSpinner(new SpinnerNumberModel(5,1,100,1)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    14Expression new JSpinner(new SpinnerNumberModel(5,1,100,1)) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    15Expression new JLabel(MailResourceLoader.getString("dialog","account","minutes")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    16Expression new JLabel(MailResourceLoader.getString("dialog","account","minutes")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    17Unmatched statement members=new AddressbookListModel(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    18Unmatched statement list=new AddressbookDNDListView(members); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    19Unmatched statement list.setMinimumSize(new Dimension(200,300)); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    20Expression new CheckBoxWithMnemonic(MailResourceLoader.getString("dialog","account","play_sound_when_new_messages_arrive")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    21Expression MailResourceLoader.getString("dialog","account","play_sound_when_new_messages_arrive") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    22Expression removeButton is a field being modified, and thus it cannot be parameterized
    23Expression defaultRadioButton is a field being modified, and thus it cannot be parameterized
    24Expression new JRadioButton(MailResourceLoader.getString("dialog","account","default_soundfile")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    25Expression MailResourceLoader.getString("dialog","account","default_soundfile") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    26Unmatched statement group.add(defaultRadioButton); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    27Expression okButton is a field being modified, and thus it cannot be parameterized
    28Expression chooseRadioButton is a field being modified, and thus it cannot be parameterized
    29Expression new ButtonWithMnemonic(AddressbookResourceLoader.getString("global","ok")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    30Expression new JRadioButton(MailResourceLoader.getString("dialog","account","choose_soundfile")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    31Expression AddressbookResourceLoader cannot be unified with expression MailResourceLoader , because common superclass org.columba.core.resourceloader.GlobalResourceLoader does not declare member(s) public static java.lang.String getString(java.lang.String, java.lang.String)
    32Expression AddressbookResourceLoader.getString("global","ok") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    33Expression MailResourceLoader.getString("dialog","account","choose_soundfile") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    34Unmatched statement group.add(chooseRadioButton); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    35Unmatched statement okButton.addActionListener(this); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    36Expression new ButtonWithMnemonic(AddressbookResourceLoader.getString("global","cancel")) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    37Expression AddressbookResourceLoader.getString("global","cancel") cannot be parameterized, because it has dependencies to/from statements that will be extracted
    38Expression getRootPane().setDefaultButton(okButton) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    39Expression intervalCheckingLabel.setLabelFor(intervalCheckingSpinner) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    40Expression getRootPane().setDefaultButton(okButton) is a void method call, and thus it cannot be parameterized
    41Expression intervalCheckingLabel.setLabelFor(intervalCheckingSpinner) is a void method call, and thus it cannot be parameterized
    42Expression intervalCheckingLabel cannot be parameterized, because it has dependencies to/from statements that will be extracted
    43Expression getRootPane() cannot be unified with expression intervalCheckingLabel , because common superclass javax.swing.JComponent does not declare member(s) public void setDefaultButton(javax.swing.JButton) , public void setLabelFor(java.awt.Component)
    44The refactoring of the clones is infeasible, because classes org.columba.addressbook.gui.dialog.group.EditGroupDialog and org.columba.mail.gui.config.account.ReceiveOptionsPanel do not have a common superclass