JMenuItem menuItem = new JMenuItem(title); menuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { DialogWidget frame = (DialogWidget) isInternalFrameUsed(application, sheetType); if (frame == null) { if (sheetType == FB_SHEET_TYPE_ROLE) { frame = new FirebirdManagerRoleFrame(session); } else if (sheetType == FB_SHEET_TYPE_GRANT) { frame = new FirebirdManagerGrantFrame(session); } else if (sheetType == FB_SHEET_TYPE_BACKUP){ frame = new FirebirdManagerBackupRestoreFrame(session.getApplication()); } else if (sheetType == FB_SHEET_TYPE_CREATE){ frame = new FirebirdManagerCreateDatabaseFrame(session.getApplication()); } else if (sheetType == FB_SHEET_TYPE_USER){ frame = new FirebirdManagerUserManagerFrame(session.getApplication()); } application.getMainFrame().addWidget(frame); frame.pack(); if (frame instanceof FirebirdManagerBackupRestoreFrame) { frame.setSize(new Dimension(650, frame.getHeight())); } else if (frame instanceof FirebirdManagerUserManagerFrame) { frame.setSize(new Dimension(frame.getWidth(), 500)); } DialogWidget.centerWithinDesktop(frame); } else { frame.setVisible(true); frame.moveToFront(); } try { frame.setSelected(true); if (frame instanceof IFirebirdManagerFrame) { ((IFirebirdManagerFrame)frame).setFocusToFirstEmptyInputField(); } } catch (PropertyVetoException e) { log.error(e.getLocalizedMessage()); } } }); return menuItem;
JMenuItem menuItem = new JMenuItem(title); menuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { DialogWidget frame = (DialogWidget) isInternalFrameUsed(application, sheetType); if (frame == null) { if (sheetType == ST_SHEET_TYPE_FIND_VALUES) { frame = new SmarttoolFindBadNullValuesFrame(session, title); } else if (sheetType == ST_SHEET_TYPE_CHANGE_VALUES) { frame = new SmarttoolChangeValuesFrame(session, title); } else if (sheetType == ST_SHEET_TYPE_MISSING_INICES) { frame = new SmarttoolMissingIndicesFrame(session, title); } application.getMainFrame().addWidget(frame); frame.pack(); if (frame instanceof SmarttoolFindBadNullValuesFrame) { frame.setSize(new Dimension(frame.getWidth(), 500)); } else if (frame instanceof SmarttoolChangeValuesFrame) { frame.setSize(new Dimension(frame.getWidth(), 500)); } else if (frame instanceof SmarttoolMissingIndicesFrame) { frame.setSize(new Dimension(frame.getWidth(), 500)); } DialogWidget.centerWithinDesktop(frame); } else { frame.setVisible(true); frame.moveToFront(); } try { frame.setSelected(true); if (frame instanceof ISmarttoolFrame) { ((ISmarttoolFrame)frame).setFocusToFirstEmptyInputField(); } } catch (PropertyVetoException e) { log.error(e.getLocalizedMessage()); } } }); return menuItem;
Clone fragments detected by clone detection tool
File path: /sql12/plugins/firebirdmanager/src/net/sourceforge/squirrel_sql/plugins/firebirdmanager/FirebirdManagerPlugin.java File path: /sql12/plugins/smarttools/src/net/sourceforge/squirrel_sql/plugins/smarttools/SmarttoolsPlugin.java
Method name: JMenuItem addMenuItem(IApplication, String, int, ISession) Method name: JMenuItem addMenuItem(IApplication, String, int, ISession)
Number of AST nodes: 3 Number of AST nodes: 3
1
JMenuItem menuItem = new JMenuItem(title);
1
JMenuItem menuItem = new JMenuItem(title);
2
		menuItem.addActionListener(new ActionListener() {
2
		menuItem.addActionListener(new ActionListener() {
3
			public void actionPerformed(ActionEvent evt) {
3
			public void actionPerformed(ActionEvent evt) {
4
				DialogWidget frame = (DialogWidget) isInternalFrameUsed(application, sheetType);
4
				DialogWidget frame = (DialogWidget) isInternalFrameUsed(application, sheetType);
5
				if (frame == null) {
5
				if (frame == null) {
6
					if (sheetType == FB_SHEET_TYPE_ROLE) {
6
					if (sheetType == ST_SHEET_TYPE_FIND_VALUES) {
7
						frame = new FirebirdManagerRoleFrame(session);
7
						frame = new SmarttoolFindBadNullValuesFrame(session, title);
8
					} else if (sheetType == FB_SHEET_TYPE_GRANT) {
8
					} else if (sheetType == ST_SHEET_TYPE_CHANGE_VALUES) {
9
						frame = new FirebirdManagerGrantFrame(session);
9
						frame = new 
10
					} else if (sheetType == FB_SHEET_TYPE_BACKUP){
11
						frame = new FirebirdManagerBackupRestoreFrame(session.getApplication());
10
SmarttoolChangeValuesFrame(session, title);
12
					} else if (sheetType == FB_SHEET_TYPE_CREATE){
11
					} else if (sheetType == ST_SHEET_TYPE_MISSING_INICES) {
13
						frame = new FirebirdManagerCreateDatabaseFrame(session.getApplication());
12
						frame = new 
14
					} else if (sheetType == FB_SHEET_TYPE_USER){
15
						frame = new FirebirdManagerUserManagerFrame(session.getApplication());
13
SmarttoolMissingIndicesFrame(session, title);
16
					}
14
					}
17
					application.getMainFrame().addWidget(frame);
15
					application.getMainFrame().addWidget(frame);
18
					frame.pack();
16
					frame.pack();
19
					if (frame instanceof FirebirdManagerBackupRestoreFrame) {
17
					if (frame instanceof SmarttoolFindBadNullValuesFrame) {
20
						frame.setSize(new Dimension(650, frame.getHeight()));
18
						frame.setSize(new Dimension(frame.getWidth(), 500));
21
					} else if (frame instanceof FirebirdManagerUserManager
19
					} else if (frame instanceof SmarttoolChangeValuesFrame) {
20
						frame.setSize(new Dimension(frame.getWidth(), 500));
22
Frame) {
21
					} else if (frame instanceof SmarttoolMissingIndicesFrame) {
23
						frame.setSize(new Dimension(frame.getWidth(), 500));
22
						frame.setSize(new Dimension(frame.getWidth(), 500));
24
					}
23
					} 
25
					DialogWidget.centerWithinDesktop(frame);
24
					DialogWidget.centerWithinDesktop(frame);
26
				} else {
25
				} else {
27
					frame.setVisible(true);
26
					frame.setVisible(true);
28
					frame.moveToFront();
27
					frame.moveToFront();
29
				}
28
				}
30
				try {
29
				try {
31
					frame.setSelected(true);
30
					frame.setSelected(true);
32
					if (frame instanceof IFirebirdManagerFrame) {
31
					if (frame instanceof ISmarttoolFrame) {
33
						((IFirebirdManagerFrame)frame).setFocusToFirstEmptyInputField();
32
						((ISmarttoolFrame)frame).setFocusToFirstEmptyInputField();
34
					}
33
					}
35
				} catch (PropertyVetoException e) {
34
				} catch (PropertyVetoException e) {
36
					log.error(e.getLocalizedMessage());
35
					log.error(e.getLocalizedMessage());
37
				}
36
				}
38
			}
37
			}
39
		});
38
		});
40
		return menuItem;
39
		return menuItem;
Summary
Number of common nesting structure subtrees1
Number of refactorable cases1
Number of non-refactorable cases0
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 comparisons5
  1. {Refactorable}
    Mapping Summary
    Number of mapped statements2
    Number of unmapped statements in the first code fragment1
    Number of unmapped statements in the second code fragment1
    Time elapsed for statement mapping (ms)0.0
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    JMenuItem menuItem = new JMenuItem(title);
    1
    JMenuItem menuItem = new JMenuItem(title);
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
    2
    menuItem.addActionListener(new ActionListener() {...});
    Preondition Violations
    Unmatched statement menuItem.addActionListener(new ActionListener(){ public void actionPerformed( ActionEvent evt){ DialogWidget frame=(DialogWidget)isInternalFrameUsed(application,sheetType); if (frame == null) { if (sheetType == ST_SHEET_TYPE_FIND_VALUES) { frame=new SmarttoolFindBadNullValuesFrame(session,title); } else if (sheetType == ST_SHEET_TYPE_CHANGE_VALUES) { frame=new SmarttoolChangeValuesFrame(session,title); } else if (sheetType == ST_SHEET_TYPE_MISSING_INICES) { frame=new SmarttoolMissingIndicesFrame(session,title); } application.getMainFrame().addWidget(frame); frame.pack(); if (frame instanceof SmarttoolFindBadNullValuesFrame) { frame.setSize(new Dimension(frame.getWidth(),500)); } else if (frame instanceof SmarttoolChangeValuesFrame) { frame.setSize(new Dimension(frame.getWidth(),500)); } else if (frame instanceof SmarttoolMissingIndicesFrame) { frame.setSize(new Dimension(frame.getWidth(),500)); } DialogWidget.centerWithinDesktop(frame); } else { frame.setVisible(true); frame.moveToFront(); } try { frame.setSelected(true); if (frame instanceof ISmarttoolFrame) { ((ISmarttoolFrame)frame).setFocusToFirstEmptyInputField(); } } catch ( PropertyVetoException e) { log.error(e.getLocalizedMessage()); } } } ); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    2
    menuItem.addActionListener(new ActionListener() {...});
    2
    menuItem.addActionListener(new ActionListener() {...});
    2
    menuItem.addActionListener(new ActionListener() {...});
    Preondition Violations
    Unmatched statement menuItem.addActionListener(new ActionListener(){ public void actionPerformed( ActionEvent evt){ DialogWidget frame=(DialogWidget)isInternalFrameUsed(application,sheetType); if (frame == null) { if (sheetType == FB_SHEET_TYPE_ROLE) { frame=new FirebirdManagerRoleFrame(session); } else if (sheetType == FB_SHEET_TYPE_GRANT) { frame=new FirebirdManagerGrantFrame(session); } else if (sheetType == FB_SHEET_TYPE_BACKUP) { frame=new FirebirdManagerBackupRestoreFrame(session.getApplication()); } else if (sheetType == FB_SHEET_TYPE_CREATE) { frame=new FirebirdManagerCreateDatabaseFrame(session.getApplication()); } else if (sheetType == FB_SHEET_TYPE_USER) { frame=new FirebirdManagerUserManagerFrame(session.getApplication()); } application.getMainFrame().addWidget(frame); frame.pack(); if (frame instanceof FirebirdManagerBackupRestoreFrame) { frame.setSize(new Dimension(650,frame.getHeight())); } else if (frame instanceof FirebirdManagerUserManagerFrame) { frame.setSize(new Dimension(frame.getWidth(),500)); } DialogWidget.centerWithinDesktop(frame); } else { frame.setVisible(true); frame.moveToFront(); } try { frame.setSelected(true); if (frame instanceof IFirebirdManagerFrame) { ((IFirebirdManagerFrame)frame).setFocusToFirstEmptyInputField(); } } catch ( PropertyVetoException e) { log.error(e.getLocalizedMessage()); } } } ); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
    3
    return menuItem;
    3
    return menuItem;
    Precondition Violations (2)
    Row Violation
    1Unmatched statement menuItem.addActionListener(new ActionListener(){ public void actionPerformed( ActionEvent evt){ DialogWidget frame=(DialogWidget)isInternalFrameUsed(application,sheetType); if (frame == null) { if (sheetType == ST_SHEET_TYPE_FIND_VALUES) { frame=new SmarttoolFindBadNullValuesFrame(session,title); } else if (sheetType == ST_SHEET_TYPE_CHANGE_VALUES) { frame=new SmarttoolChangeValuesFrame(session,title); } else if (sheetType == ST_SHEET_TYPE_MISSING_INICES) { frame=new SmarttoolMissingIndicesFrame(session,title); } application.getMainFrame().addWidget(frame); frame.pack(); if (frame instanceof SmarttoolFindBadNullValuesFrame) { frame.setSize(new Dimension(frame.getWidth(),500)); } else if (frame instanceof SmarttoolChangeValuesFrame) { frame.setSize(new Dimension(frame.getWidth(),500)); } else if (frame instanceof SmarttoolMissingIndicesFrame) { frame.setSize(new Dimension(frame.getWidth(),500)); } DialogWidget.centerWithinDesktop(frame); } else { frame.setVisible(true); frame.moveToFront(); } try { frame.setSelected(true); if (frame instanceof ISmarttoolFrame) { ((ISmarttoolFrame)frame).setFocusToFirstEmptyInputField(); } } catch ( PropertyVetoException e) { log.error(e.getLocalizedMessage()); } } } ); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted
    2Unmatched statement menuItem.addActionListener(new ActionListener(){ public void actionPerformed( ActionEvent evt){ DialogWidget frame=(DialogWidget)isInternalFrameUsed(application,sheetType); if (frame == null) { if (sheetType == FB_SHEET_TYPE_ROLE) { frame=new FirebirdManagerRoleFrame(session); } else if (sheetType == FB_SHEET_TYPE_GRANT) { frame=new FirebirdManagerGrantFrame(session); } else if (sheetType == FB_SHEET_TYPE_BACKUP) { frame=new FirebirdManagerBackupRestoreFrame(session.getApplication()); } else if (sheetType == FB_SHEET_TYPE_CREATE) { frame=new FirebirdManagerCreateDatabaseFrame(session.getApplication()); } else if (sheetType == FB_SHEET_TYPE_USER) { frame=new FirebirdManagerUserManagerFrame(session.getApplication()); } application.getMainFrame().addWidget(frame); frame.pack(); if (frame instanceof FirebirdManagerBackupRestoreFrame) { frame.setSize(new Dimension(650,frame.getHeight())); } else if (frame instanceof FirebirdManagerUserManagerFrame) { frame.setSize(new Dimension(frame.getWidth(),500)); } DialogWidget.centerWithinDesktop(frame); } else { frame.setVisible(true); frame.moveToFront(); } try { frame.setSelected(true); if (frame instanceof IFirebirdManagerFrame) { ((IFirebirdManagerFrame)frame).setFocusToFirstEmptyInputField(); } } catch ( PropertyVetoException e) { log.error(e.getLocalizedMessage()); } } } ); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted