int iCount = listRoleNames.size(); jprogressbarReadPermissions.setValue(0); jprogressbarReadPermissions.setMaximum(iCount); refreshProgressBar(jprogressbarReadPermissions, 0, iCount); boolean groupHeader = isTreeNodeAGroup(); FirebirdManagerPrivilege fbPrivileges = null; vecGrant = new Vector<Vector<Object>>(); for (int i = 0; i < iCount; i++) { String relationName = listRoleNames.get(i); Vector<Object> vecRow = new Vector<Object>(); vecRow.add(relationName); fbPrivileges = FirebirdManagerDataAccess.readPrivileges(session, gsTreenodeName, relationName, groupHeader); vecRow.add(Boolean.valueOf(fbPrivileges.isMember())); vecGrant.add(vecRow); refreshProgressBar(jprogressbarReadPermissions, i + 1, iCount); } refreshTable(DISPLAY_TYPE_ROLE);
int iCount = listProcedureNames.size(); jprogressbarReadPermissions.setValue(0); jprogressbarReadPermissions.setMaximum(iCount); refreshProgressBar(jprogressbarReadPermissions, 0, iCount); boolean groupHeader = isTreeNodeAGroup(); FirebirdManagerPrivilege fbPrivileges = null; vecGrant = new Vector<Vector<Object>>(); for (int i = 0; i < iCount; i++) { String relationName = listProcedureNames.get(i); Vector<Object> vecRow = new Vector<Object>(); vecRow.add(relationName); fbPrivileges = FirebirdManagerDataAccess.readPrivileges(session, gsTreenodeName, relationName, groupHeader); vecRow.add(Boolean.valueOf(fbPrivileges.isExecute())); vecGrant.add(vecRow); refreshProgressBar(jprogressbarReadPermissions, i + 1, iCount); } refreshTable(DISPLAY_TYPE_PROCEDURE);
Clone fragments detected by clone detection tool
File path: /sql12/plugins/firebirdmanager/src/net/sourceforge/squirrel_sql/plugins/firebirdmanager/gui/FirebirdManagerGrantFrame.java File path: /sql12/plugins/firebirdmanager/src/net/sourceforge/squirrel_sql/plugins/firebirdmanager/gui/FirebirdManagerGrantFrame.java
Method name: void readDataRoles() Method name: void readDataProcedures()
Number of AST nodes: 16 Number of AST nodes: 16
1
int iCount = listRoleNames.size();
1
int iCount = listProcedureNames.size();
2
		jprogressbarReadPermissions.setValue(0);
2
		jprogressbarReadPermissions.setValue(0);
3
		jprogressbarReadPermissions.setMaximum(iCount);
3
		jprogressbarReadPermissions.setMaximum(iCount);
4
		refreshProgressBar(jprogressbarReadPermissions, 0, iCount);
4
		refreshProgressBar(jprogressbarReadPermissions, 0, iCount);
5
		boolean groupHeader = isTreeNodeAGroup();
5
		boolean groupHeader = isTreeNodeAGroup();
6
		FirebirdManagerPrivilege fbPrivileges = null;
6
		FirebirdManagerPrivilege fbPrivileges = null;
7
		vecGrant = new Vector<Vector<Object>>();
7
		vecGrant = new Vector<Vector<Object>>();
8
		for (int i = 0; i < iCount; i++)
8
		for (int i = 0; i < iCount; i++)
9
		{
9
		{
10
			String relationName = listRoleNames.get(i);
10
			String relationName = listProcedureNames.get(i);
11
			Vector<Object> vecRow = new Vector<Object>();
11
			Vector<Object> vecRow = new Vector<Object>();
12
			vecRow.add(relationName);
12
			vecRow.add(relationName);
13
			fbPrivileges =
13
			fbPrivileges =
14
				FirebirdManagerDataAccess.readPrivileges(session, gsTreenodeName, relationName, groupHeader);
14
				FirebirdManagerDataAccess.readPrivileges(session, gsTreenodeName, relationName, groupHeader);
15
			vecRow.add(Boolean.valueOf(fbPrivileges.isMember()));
15
			vecRow.add(Boolean.valueOf(fbPrivileges.isExecute()));
16
			vecGrant.add(vecRow);
16
			vecGrant.add(vecRow);
17
			refreshProgressBar(jprogressbarReadPermissions, i + 1, iCount);
17
			refreshProgressBar(jprogressbarReadPermissions, i + 1, iCount);
18
		}
18
		}
19
		refreshTable(DISPLAY_TYPE_ROLE);
19
		refreshTable(DISPLAY_TYPE_PROCEDURE);
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.2
Clones locationClones are declared in the same class
Number of node comparisons114
  1. {Refactorable}
    Mapping Summary
    Number of mapped statements16
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)17.8
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    1
    int iCount = listRoleNames.size();
    1
    int iCount = listRoleNames.size();
    1
    int iCount = listProcedureNames.size();
    Differences
    Expression1Expression2Difference
    listRoleNameslistProcedureNamesVARIABLE_NAME_MISMATCH
    1
    int iCount = listProcedureNames.size();
    2
    jprogressbarReadPermissions.setValue(0);
    2
    jprogressbarReadPermissions.setValue(0);
    3
    jprogressbarReadPermissions.setMaximum(iCount);
    3
    jprogressbarReadPermissions.setMaximum(iCount);
    4
    refreshProgressBar(jprogressbarReadPermissions, 0, iCount);
    4
    refreshProgressBar(jprogressbarReadPermissions, 0, iCount);
    5
    boolean groupHeader = isTreeNodeAGroup();
    5
    boolean groupHeader = isTreeNodeAGroup();
    6
    FirebirdManagerPrivilege fbPrivileges = null;
    6
    FirebirdManagerPrivilege fbPrivileges = null;
    7
    vecGrant = new Vector<Vector<Object>>();
    7
    vecGrant = new Vector<Vector<Object>>();
    8
    for (int i = 0; i < iCount; i++)
    8
    for (int i = 0; i < iCount; i++)
    9
    String relationName = listRoleNames.get(i);
    9
    String relationName = listRoleNames.get(i);
    9
    String relationName = listProcedureNames.get(i);
    Differences
    Expression1Expression2Difference
    listRoleNameslistProcedureNamesVARIABLE_NAME_MISMATCH
    9
    String relationName = listProcedureNames.get(i);
    10
    Vector<Object> vecRow = new Vector<Object>();
    10
    Vector<Object> vecRow = new Vector<Object>();
    11
    vecRow.add(relationName);
    11
    vecRow.add(relationName);
    12
    fbPrivileges = FirebirdManagerDataAccess.readPrivileges(session, gsTreenodeName, relationName, groupHeader);
    12
    fbPrivileges = FirebirdManagerDataAccess.readPrivileges(session, gsTreenodeName, relationName, groupHeader);
    13
    vecRow.add(Boolean.valueOf(fbPrivileges.isMember()));
    13
    vecRow.add(Boolean.valueOf(fbPrivileges.isMember()));
    13
    vecRow.add(Boolean.valueOf(fbPrivileges.isExecute()));
    Differences
    Expression1Expression2Difference
    isMemberisExecuteMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression fbPrivileges.isMember() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression fbPrivileges.isExecute() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    13
    vecRow.add(Boolean.valueOf(fbPrivileges.isExecute()));
    14
    vecGrant.add(vecRow);
    14
    vecGrant.add(vecRow);
    15
    refreshProgressBar(jprogressbarReadPermissions, i + 1, iCount);
    15
    refreshProgressBar(jprogressbarReadPermissions, i + 1, iCount);
    16
    refreshTable(DISPLAY_TYPE_ROLE);
    16
    refreshTable(DISPLAY_TYPE_ROLE);
    16
    refreshTable(DISPLAY_TYPE_PROCEDURE);
    Differences
    Expression1Expression2Difference
    DISPLAY_TYPE_ROLEDISPLAY_TYPE_PROCEDUREVARIABLE_NAME_MISMATCH
    16
    refreshTable(DISPLAY_TYPE_PROCEDURE);
    Precondition Violations (2)
    Row Violation
    1Expression fbPrivileges.isMember() cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2Expression fbPrivileges.isExecute() cannot be parameterized, because it has dependencies to/from statements that will be extracted