JPanel bottomPanel = new JPanel(new BorderLayout()); bottomPanel.setBorder(new SingleSideEtchedBorder(SwingConstants.TOP)); JPanel buttonPanel = new JPanel(new GridLayout(1, 2, 6, 0)); buttonPanel.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12)); ButtonWithMnemonic okButton = new ButtonWithMnemonic(MailResourceLoader .getString("global", "ok")); okButton.setActionCommand("CLOSE"); //$NON-NLS-1$ okButton.addActionListener(this); buttonPanel.add(okButton); ButtonWithMnemonic cancelButton = new ButtonWithMnemonic( MailResourceLoader.getString("global", "cancel")); cancelButton.setActionCommand("CANCEL"); //$NON-NLS-1$ cancelButton.addActionListener(this); buttonPanel.add(cancelButton); ButtonWithMnemonic helpButton = new ButtonWithMnemonic( MailResourceLoader.getString("global", "help")); buttonPanel.add(helpButton); bottomPanel.add(buttonPanel, BorderLayout.EAST); getContentPane().add(bottomPanel, BorderLayout.SOUTH); getRootPane().setDefaultButton(okButton); getRootPane().registerKeyboardAction(this, "CANCEL", KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW); // associate with JavaHelp HelpManager.getInstance().enableHelpOnButton(helpButton, "organizing_and_managing_your_email_3"); HelpManager.getInstance().enableHelpKey(getRootPane(), "organizing_and_managing_your_email_3");
JPanel bottom = new JPanel(new BorderLayout()); bottom.setBorder(new SingleSideEtchedBorder(SwingConstants.TOP)); JPanel buttonPanel = new JPanel(new GridLayout(1, 3, 6, 0)); buttonPanel.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12)); searchButton = new JButton(MailResourceLoader.getString("dialog", "filter", "search")); searchButton.setIcon(ImageLoader.getIcon(IconKeys.SEARCH)); searchButton.addActionListener(this); searchButton.setActionCommand("SEARCH"); buttonPanel.add(searchButton); ButtonWithMnemonic closeButton = new ButtonWithMnemonic( MailResourceLoader.getString("global", "close")); closeButton.addActionListener(this); closeButton.setActionCommand("CLOSE"); buttonPanel.add(closeButton); ButtonWithMnemonic helpButton = new ButtonWithMnemonic( MailResourceLoader.getString("global", "help")); helpButton.addActionListener(this); helpButton.setActionCommand("HELP"); helpButton.setEnabled(false); buttonPanel.add(helpButton); bottom.add(buttonPanel, BorderLayout.EAST); getRootPane().setDefaultButton(searchButton); getRootPane().registerKeyboardAction(this, "CLOSE", KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW); return bottom;
Clone fragments detected by clone detection tool
File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/gui/config/filter/FilterDialog.java File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/gui/config/search/SearchFrame.java
Method name: void createBottomPanel() Method name: JPanel createBottomPanel()
Number of AST nodes: 20 Number of AST nodes: 22
1
JPanel bottomPanel = new JPanel(new BorderLayout());
1
JPanel bottom = new JPanel(new BorderLayout());
2
		bottomPanel.setBorder(new SingleSideEtchedBorder(SwingConstants.TOP));
2
		bottom.setBorder(new SingleSideEtchedBorder(SwingConstants.TOP));
3
		JPanel buttonPanel = new JPanel(new GridLayout(1, 2, 6, 0));
3
		JPanel buttonPanel = new JPanel(new GridLayout(1, 3, 6, 0));
4
		buttonPanel.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12));
4
		buttonPanel.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12));
5
		ButtonWithMnemonic okButton = new ButtonWithMnemonic(MailResourceLoader
5
		searchButton = new JButton(MailResourceLoader
6
				.getString("global", "ok
6
.getString("dialog",
7
"));
7
				"filter", "search"));
8
		okButton.setActionCommand("CLOSE"); //$NON-NLS-1$
8
		searchButton.set
9
		okButton.addActionListener(this
9
Icon(ImageLoader.getIcon(IconKeys.SEARCH));
10
		searchButton.addActionListener(this);
10
);
11
		searchButton.setActionCommand("SEARCH");
11
		buttonPanel.add(okButton);
12
		buttonPanel.add(searchButton);
12
		ButtonWithMnemonic cancelButton = new ButtonWithMnemonic(
13
		ButtonWithMnemonic closeButton = new ButtonWithMnemonic(
13
				MailResourceLoader.getString("global", "cancel"));
14
				MailResourceLoader.getString("global", "close"));
14
		cancelButton.setActionCommand("CANCEL"); //$NON-NLS-1$
15
		closeButton.addAction
15
		cancel
16
Listener(this);
16
Button.addActionListener(this);
17
		closeButton.setActionCommand("CLOSE");
17
		buttonPanel.add(cancelButton);
18
		buttonPanel.add(closeButton);
18
		ButtonWithMnemonic helpButton = new ButtonWithMnemonic(
19
		ButtonWithMnemonic helpButton = new ButtonWithMnemonic(
19
				MailResourceLoader.getString("global", "help"));
20
				MailResourceLoader.getString("global", "help"));
20
		buttonPanel.add(helpButton);
21
		
21
		bottomPanel.add(buttonPanel, BorderLayout.EAST);
22
		getContentPane()
22
helpButton.addActionListener(this);
23
		helpButton.setActionCommand("HELP");
24
		helpButton.setEnabled(false);
25
		buttonPanel.add(helpButton);
23
.add(bottomPanel, BorderLayout.SOUTH);
26
		bottom.add(buttonPanel, BorderLayout.EAST);
24
		getRootPane().setDefaultButton(okButton);
27
		getRootPane().setDefaultButton(searchButton);
25
		getRootPane().registerKeyboardAction(this, "CANCEL",
28
		getRootPane().registerKeyboardAction(this, "CLOSE",
26
				KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
29
				KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0),
27
				JComponent.WHEN_IN_FOCUSED_WINDOW);
30
				JComponent.WHEN_IN_FOCUSED_WINDOW);
28
		// associate with JavaHelp
31
		
29
		HelpManager.getInstance().enableHelpOnButton(helpButton,
30
				"organizing_and_managing_your_email_3");
31
		HelpManager.getInstance().enableHelpKey(getRootPane(),
32
				"organizing_and_managing_your_email_3");
32
return bottom;
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 comparisons197
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements17
    Number of unmapped statements in the first code fragment3
    Number of unmapped statements in the second code fragment5
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 3
    Mapped Statements
    ID Statement ID Statement
    1
    JPanel bottomPanel = new JPanel(new BorderLayout());
    1
    JPanel bottomPanel = new JPanel(new BorderLayout());
    1
    JPanel bottom = new JPanel(new BorderLayout());
    Differences
    Expression1Expression2Difference
    bottomPanelbottomVARIABLE_NAME_MISMATCH
    1
    JPanel bottom = new JPanel(new BorderLayout());
    2
    bottomPanel.setBorder(new SingleSideEtchedBorder(SwingConstants.TOP));
    2
    bottomPanel.setBorder(new SingleSideEtchedBorder(SwingConstants.TOP));
    2
    bottom.setBorder(new SingleSideEtchedBorder(SwingConstants.TOP));
    Differences
    Expression1Expression2Difference
    bottomPanelbottomVARIABLE_NAME_MISMATCH
    2
    bottom.setBorder(new SingleSideEtchedBorder(SwingConstants.TOP));
    3
    JPanel buttonPanel = new JPanel(new GridLayout(1, 2, 6, 0));
    3
    JPanel buttonPanel = new JPanel(new GridLayout(1, 2, 6, 0));
    3
    JPanel buttonPanel = new JPanel(new GridLayout(1, 3, 6, 0));
    Differences
    Expression1Expression2Difference
    23LITERAL_VALUE_MISMATCH
    3
    JPanel buttonPanel = new JPanel(new GridLayout(1, 3, 6, 0));
    4
    buttonPanel.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12));
    4
    buttonPanel.setBorder(BorderFactory.createEmptyBorder(12, 12, 12, 12));
                                                                                                                                                                                
    5
    searchButton = new JButton(MailResourceLoader.getString("dialog", "filter", "search"));
                                                                                                                                
    6
    searchButton.setIcon(ImageLoader.getIcon(IconKeys.SEARCH));
                                                                                    
    7
    searchButton.addActionListener(this);
                                                                                          
    8
    searchButton.setActionCommand("SEARCH");
    5
    ButtonWithMnemonic okButton = new ButtonWithMnemonic(MailResourceLoader.getString("global", "ok"));
    5
    ButtonWithMnemonic okButton = new ButtonWithMnemonic(MailResourceLoader.getString("global", "ok"));
    10
    ButtonWithMnemonic closeButton = new ButtonWithMnemonic(MailResourceLoader.getString("global", "close"));
    Differences
    Expression1Expression2Difference
    okButtoncloseButtonVARIABLE_NAME_MISMATCH
    "ok""close"LITERAL_VALUE_MISMATCH
    10
    ButtonWithMnemonic closeButton = new ButtonWithMnemonic(MailResourceLoader.getString("global", "close"));
    6
    okButton.setActionCommand("CLOSE");
    6
    okButton.setActionCommand("CLOSE");
    12
    closeButton.setActionCommand("CLOSE");
    Differences
    Expression1Expression2Difference
    okButtoncloseButtonVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression okButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression closeButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    12
    closeButton.setActionCommand("CLOSE");
    7
    okButton.addActionListener(this);
    7
    okButton.addActionListener(this);
    11
    closeButton.addActionListener(this);
    Differences
    Expression1Expression2Difference
    okButtoncloseButtonVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression okButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression closeButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    11
    closeButton.addActionListener(this);
    8
    buttonPanel.add(okButton);
    8
    buttonPanel.add(okButton);
    9
    buttonPanel.add(searchButton);
    Differences
    Expression1Expression2Difference
    okButtonsearchButtonVARIABLE_NAME_MISMATCH
    org.columba.core.gui.base.ButtonWithMnemonicjavax.swing.JButtonSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression okButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    9
    buttonPanel.add(searchButton);
    9
    ButtonWithMnemonic cancelButton = new ButtonWithMnemonic(MailResourceLoader.getString("global", "cancel"));
    9
    ButtonWithMnemonic cancelButton = new ButtonWithMnemonic(MailResourceLoader.getString("global", "cancel"));
    14
    ButtonWithMnemonic helpButton = new ButtonWithMnemonic(MailResourceLoader.getString("global", "help"));
    Differences
    Expression1Expression2Difference
    cancelButtonhelpButtonVARIABLE_NAME_MISMATCH
    "cancel""help"LITERAL_VALUE_MISMATCH
    14
    ButtonWithMnemonic helpButton = new ButtonWithMnemonic(MailResourceLoader.getString("global", "help"));
    10
    cancelButton.setActionCommand("CANCEL");
    10
    cancelButton.setActionCommand("CANCEL");
    16
    helpButton.setActionCommand("HELP");
    Differences
    Expression1Expression2Difference
    "CANCEL""HELP"LITERAL_VALUE_MISMATCH
    cancelButtonhelpButtonVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression cancelButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression helpButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    16
    helpButton.setActionCommand("HELP");
    11
    cancelButton.addActionListener(this);
    11
    cancelButton.addActionListener(this);
    15
    helpButton.addActionListener(this);
    Differences
    Expression1Expression2Difference
    cancelButtonhelpButtonVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression cancelButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression helpButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    15
    helpButton.addActionListener(this);
    12
    buttonPanel.add(cancelButton);
    12
    buttonPanel.add(cancelButton);
    13
    buttonPanel.add(closeButton);
    Differences
    Expression1Expression2Difference
    cancelButtoncloseButtonVARIABLE_NAME_MISMATCH
    Preondition Violations
    Expression cancelButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression closeButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    13
    buttonPanel.add(closeButton);
    13
    ButtonWithMnemonic helpButton = new ButtonWithMnemonic(MailResourceLoader.getString("global", "help"));
                                                                                                                                                                                                                    
    14
    buttonPanel.add(helpButton);
    18
    buttonPanel.add(helpButton);
    15
    bottomPanel.add(buttonPanel, BorderLayout.EAST);
    15
    bottomPanel.add(buttonPanel, BorderLayout.EAST);
    19
    bottom.add(buttonPanel, BorderLayout.EAST);
    Differences
    Expression1Expression2Difference
    bottomPanelbottomVARIABLE_NAME_MISMATCH
    19
    bottom.add(buttonPanel, BorderLayout.EAST);
    16
    getContentPane().add(bottomPanel, BorderLayout.SOUTH);
    16
    getContentPane().add(bottomPanel, BorderLayout.SOUTH);
    17
    helpButton.setEnabled(false);
    Differences
    Expression1Expression2Difference
    addsetEnabledMETHOD_INVOCATION_NAME_MISMATCH
    getContentPane()helpButtonTYPE_COMPATIBLE_REPLACEMENT
    getContentPane().add(bottomPanel,BorderLayout.SOUTH)helpButton.setEnabled(false)ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression getContentPane().add(bottomPanel,BorderLayout.SOUTH) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression helpButton.setEnabled(false) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression getContentPane().add(bottomPanel,BorderLayout.SOUTH) is a void method call, and thus it cannot be parameterized
    Expression helpButton.setEnabled(false) is a void method call, and thus it cannot be parameterized
    Expression helpButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression getContentPane().add(bottomPanel,BorderLayout.SOUTH) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression helpButton.setEnabled(false) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression getContentPane().add(bottomPanel,BorderLayout.SOUTH) is a void method call, and thus it cannot be parameterized
    Expression helpButton.setEnabled(false) is a void method call, and thus it cannot be parameterized
    17
    helpButton.setEnabled(false);
    17
    getRootPane().setDefaultButton(okButton);
    17
    getRootPane().setDefaultButton(okButton);
    20
    getRootPane().setDefaultButton(searchButton);
    Differences
    Expression1Expression2Difference
    okButtonsearchButtonVARIABLE_NAME_MISMATCH
    org.columba.core.gui.base.ButtonWithMnemonicjavax.swing.JButtonSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression okButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    20
    getRootPane().setDefaultButton(searchButton);
    18
    getRootPane().registerKeyboardAction(this, "CANCEL", KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
    18
    getRootPane().registerKeyboardAction(this, "CANCEL", KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
    21
    getRootPane().registerKeyboardAction(this, "CLOSE", KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
    Differences
    Expression1Expression2Difference
    "CANCEL""CLOSE"LITERAL_VALUE_MISMATCH
    21
    getRootPane().registerKeyboardAction(this, "CLOSE", KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);
    19
    HelpManager.getInstance().enableHelpOnButton(helpButton, "organizing_and_managing_your_email_3");
                                                                                                                                                                                                            
    20
    HelpManager.getInstance().enableHelpKey(getRootPane(), "organizing_and_managing_your_email_3");
                                                                                                                                                                                                        
                                        
    22
    return bottom;
    Precondition Violations (22)
    Row Violation
    1Expression okButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2Expression closeButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3Expression okButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    4Expression closeButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    5Expression okButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    6Expression cancelButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    7Expression helpButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    8Expression cancelButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    9Expression helpButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    10Expression cancelButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    11Expression closeButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    12Expression getContentPane().add(bottomPanel,BorderLayout.SOUTH) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    13Expression helpButton.setEnabled(false) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    14Expression getContentPane().add(bottomPanel,BorderLayout.SOUTH) is a void method call, and thus it cannot be parameterized
    15Expression helpButton.setEnabled(false) is a void method call, and thus it cannot be parameterized
    16Expression helpButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    17Expression getContentPane().add(bottomPanel,BorderLayout.SOUTH) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    18Expression helpButton.setEnabled(false) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    19Expression getContentPane().add(bottomPanel,BorderLayout.SOUTH) is a void method call, and thus it cannot be parameterized
    20Expression helpButton.setEnabled(false) is a void method call, and thus it cannot be parameterized
    21Expression okButton cannot be parameterized, because it has dependencies to/from statements that will be extracted
    22Clone fragment #1 returns variables , while Clone fragment #2 returns variables bottom