if (session == null) { throw new IllegalArgumentException("ISession == null"); } final SQLInternalFrame sif = new SQLInternalFrame(session); getMainFrame().addWidget(sif); // If we don't invokeLater here no Short-Cut-Key is sent // to the internal frame // seen under java version "1.4.1_01" and Linux SwingUtilities.invokeLater(new Runnable() { public void run() { sif.setVisible(true); sif.requestFocus(); } }); return sif;
if (session == null) { throw new IllegalArgumentException("ISession == null"); } final ObjectTreeInternalFrame oif = new ObjectTreeInternalFrame(session); getMainFrame().addWidget(oif); // If we don't invokeLater here no Short-Cut-Key is sent // to the internal frame // seen under java version "1.4.1_01" and Linux SwingUtilities.invokeLater(new Runnable() { public void run() { oif.setVisible(true); oif.getObjectTreeAPI().selectRoot(); } }); return oif;
Clone fragments detected by clone detection tool
File path: /sql12/app/src/net/sourceforge/squirrel_sql/client/gui/WindowManager.java File path: /sql12/app/src/net/sourceforge/squirrel_sql/client/gui/WindowManager.java
Method name: SQLInternalFrame createSQLInternalFrame(ISession) Method name: ObjectTreeInternalFrame createObjectTreeInternalFrame(ISession)
Number of AST nodes: 6 Number of AST nodes: 6
1
if (session == null)
1
if (session == null)
2
		{
2
		{
3
			throw new IllegalArgumentException("ISession == null");
3
			throw new IllegalArgumentException("ISession == null");
4
		}
4
		}
5
		final SQLInternalFrame sif = new SQLInternalFrame(session);
5
		final ObjectTreeInternalFrame oif = new ObjectTreeInternalFrame(session);
6
		getMainFrame().addWidget(sif);
6
		getMainFrame().addWidget(oif);
7
		// If we don't invokeLater here no Short-Cut-Key is sent
7
		// If we don't invokeLater here no Short-Cut-Key is sent
8
		// to the internal frame
8
		// to the internal frame
9
		// seen under java version "1.4.1_01" and Linux
9
		// seen under java version "1.4.1_01" and Linux
10
		SwingUtilities.invokeLater(new Runnable()
10
		SwingUtilities.invokeLater(new Runnable()
11
		{
11
		{
12
			public void run()
12
			public void run()
13
			{
13
			{
14
				sif.setVisible(true);
14
				oif.setVisible(true);
15
            sif.requestFocus();
15
                oif.getObjectTreeAPI().selectRoot();
16
			}
16
			}
17
		});
17
		});
18
		return sif;
18
		return oif;
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.1
Clones locationClones are declared in the same class
Number of node comparisons14
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements6
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)49.1
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    if (session == null)
    1
    if (session == null)
    2
    throw new IllegalArgumentException("ISession == null");
    2
    throw new IllegalArgumentException("ISession == null");
    3
    final SQLInternalFrame sif = new SQLInternalFrame(session);
    3
    final SQLInternalFrame sif = new SQLInternalFrame(session);
    3
    final ObjectTreeInternalFrame oif = new ObjectTreeInternalFrame(session);
    Differences
    Expression1Expression2Difference
    net.sourceforge.squirrel_sql.client.gui.session.SQLInternalFramenet.sourceforge.squirrel_sql.client.gui.session.ObjectTreeInternalFrameSUBCLASS_TYPE_MISMATCH
    sifoifVARIABLE_NAME_MISMATCH
    net.sourceforge.squirrel_sql.client.gui.session.SQLInternalFramenet.sourceforge.squirrel_sql.client.gui.session.ObjectTreeInternalFrameSUBCLASS_TYPE_MISMATCH
    net.sourceforge.squirrel_sql.client.gui.session.SQLInternalFramenet.sourceforge.squirrel_sql.client.gui.session.ObjectTreeInternalFrameSUBCLASS_TYPE_MISMATCH
    Preondition Violations
    Expression new SQLInternalFrame(session) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new ObjectTreeInternalFrame(session) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3
    final ObjectTreeInternalFrame oif = new ObjectTreeInternalFrame(session);
    4
    getMainFrame().addWidget(sif);
    4
    getMainFrame().addWidget(sif);
    4
    getMainFrame().addWidget(oif);
    Differences
    Expression1Expression2Difference
    sifoifVARIABLE_NAME_MISMATCH
    net.sourceforge.squirrel_sql.client.gui.session.SQLInternalFramenet.sourceforge.squirrel_sql.client.gui.session.ObjectTreeInternalFrameSUBCLASS_TYPE_MISMATCH
    4
    getMainFrame().addWidget(oif);
    5
    SwingUtilities.invokeLater(new Runnable() {...});
    5
    SwingUtilities.invokeLater(new Runnable() {...});
    5
    SwingUtilities.invokeLater(new Runnable() {...});
    Differences
    Expression1Expression2Difference
    sifoifVARIABLE_NAME_MISMATCH
    net.sourceforge.squirrel_sql.client.gui.session.SQLInternalFramenet.sourceforge.squirrel_sql.client.gui.session.ObjectTreeInternalFrameSUBCLASS_TYPE_MISMATCH
    requestFocusselectRootMETHOD_INVOCATION_NAME_MISMATCH
    sifoif.getObjectTreeAPI()AST_TYPE_MISMATCH
    Preondition Violations
    Expression sif cannot be unified with expression oif , because common superclass net.sourceforge.squirrel_sql.client.gui.desktopcontainer.SessionTabWidget does not declare member(s) public void requestFocus() , public net.sourceforge.squirrel_sql.client.session.IObjectTreeAPI getObjectTreeAPI()
    Expression sif.requestFocus() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression oif.getObjectTreeAPI().selectRoot() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression sif.requestFocus() is a void method call, and thus it cannot be parameterized
    Expression oif.getObjectTreeAPI().selectRoot() is a void method call, and thus it cannot be parameterized
    Expression sif cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression oif.getObjectTreeAPI() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    5
    SwingUtilities.invokeLater(new Runnable() {...});
    6
    return sif;
    6
    return sif;
    6
    return oif;
    Differences
    Expression1Expression2Difference
    sifoifVARIABLE_NAME_MISMATCH
    net.sourceforge.squirrel_sql.client.gui.session.SQLInternalFramenet.sourceforge.squirrel_sql.client.gui.session.ObjectTreeInternalFrameSUBCLASS_TYPE_MISMATCH
    6
    return oif;
    Precondition Violations (9)
    Row Violation
    1Expression new SQLInternalFrame(session) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2Expression new ObjectTreeInternalFrame(session) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3Expression sif cannot be unified with expression oif , because common superclass net.sourceforge.squirrel_sql.client.gui.desktopcontainer.SessionTabWidget does not declare member(s) public void requestFocus() , public net.sourceforge.squirrel_sql.client.session.IObjectTreeAPI getObjectTreeAPI()
    4Expression sif.requestFocus() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    5Expression oif.getObjectTreeAPI().selectRoot() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    6Expression sif.requestFocus() is a void method call, and thus it cannot be parameterized
    7Expression oif.getObjectTreeAPI().selectRoot() is a void method call, and thus it cannot be parameterized
    8Expression sif cannot be parameterized, because it has dependencies to/from statements that will be extracted
    9Expression oif.getObjectTreeAPI() cannot be parameterized, because it has dependencies to/from statements that will be extracted