if (null != getRootLocalFolder()) { starteamFolder.setAlternatePathFragment( targetFolder.getAbsolutePath()); } Folder[] foldersList = starteamFolder.getSubFolders(); Item[] stFiles = starteamFolder.getItems(getTypeNames().FILE); // note, it's important to scan the items BEFORE we make the // UnmatchedFileMap because that creates a bunch of NEW // folders and files (unattached to repository) and we // don't want to include those in our traversal. UnmatchedFileMap ufm = new CheckinMap().init( targetFolder.getAbsoluteFile(), starteamFolder);
if (null != getRootLocalFolder()) { starteamFolder.setAlternatePathFragment( targetFolder.getAbsolutePath()); } Folder[] subFolders = starteamFolder.getSubFolders(); Item[] files = starteamFolder.getItems(getTypeNames().FILE); UnmatchedFileMap ufm = new UnmatchedListingMap().init( targetFolder.getAbsoluteFile(), starteamFolder);
Clone fragments detected by clone detection tool
File path: /apache-ant-1.7.0/src/org/apache/tools/ant/taskdefs/optional/starteam/StarTeamCheckin.java File path: /apache-ant-1.7.0/src/org/apache/tools/ant/taskdefs/optional/starteam/StarTeamList.java
Method name: void visit(Folder, java.io.File) Method name: void visit(Folder, java.io.File)
Number of AST nodes: 5 Number of AST nodes: 5
1
if (null != getRootLocalFolder()) {
1
if (null != getRootLocalFolder()) {
2
                starteamFolder.setAlternatePathFragment(
2
                starteamFolder.setAlternatePathFragment(
3
                    targetFolder.getAbsolutePath());
3
                    targetFolder.getAbsolutePath());
4
            }
4
            }
5
            Folder[] foldersList = starteamFolder.getSubFolders();
5
            Folder[] subFolders = starteamFolder.getSubFolders();
6
            Item[] stFiles = starteamFolder.getItems(getTypeNames().FILE);
6
            Item[] files = starteamFolder.getItems(getTypeNames().FILE);
7
            // note, it's important to scan the items BEFORE we make the
7
            
8
            // UnmatchedFileMap because that creates a bunch of NEW
9
            // folders and files (unattached to repository) and we
10
            // don't want to include those in our traversal.
11
            UnmatchedFileMap ufm =
12
                new Check
8
UnmatchedFileMap ufm =
13
inMap().init(
9
                new UnmatchedListingMap().init(
14
                    targetFolder.getAbsoluteFile(), starteamFolder);
10
                    targetFolder.getAbsoluteFile(), starteamFolder);
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.2
Clones locationClones are in different classes having the same super class
Number of node comparisons16
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements5
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)1.5
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    2
    if (null != getRootLocalFolder())
    2
    if (null != getRootLocalFolder())
    3
    starteamFolder.setAlternatePathFragment(targetFolder.getAbsolutePath());
    3
    starteamFolder.setAlternatePathFragment(targetFolder.getAbsolutePath());
    4
    Folder[] foldersList = starteamFolder.getSubFolders();
    4
    Folder[] foldersList = starteamFolder.getSubFolders();
    4
    Folder[] subFolders = starteamFolder.getSubFolders();
    Differences
    Expression1Expression2Difference
    foldersListsubFoldersVARIABLE_NAME_MISMATCH
    4
    Folder[] subFolders = starteamFolder.getSubFolders();
    5
    Item[] stFiles = starteamFolder.getItems(getTypeNames().FILE);
    5
    Item[] stFiles = starteamFolder.getItems(getTypeNames().FILE);
    5
    Item[] files = starteamFolder.getItems(getTypeNames().FILE);
    Differences
    Expression1Expression2Difference
    stFilesfilesVARIABLE_NAME_MISMATCH
    5
    Item[] files = starteamFolder.getItems(getTypeNames().FILE);
    6
    UnmatchedFileMap ufm = new CheckinMap().init(targetFolder.getAbsoluteFile(), starteamFolder);
    6
    UnmatchedFileMap ufm = new CheckinMap().init(targetFolder.getAbsoluteFile(), starteamFolder);
    6
    UnmatchedFileMap ufm = new UnmatchedListingMap().init(targetFolder.getAbsoluteFile(), starteamFolder);
    Differences
    Expression1Expression2Difference
    org.apache.tools.ant.taskdefs.optional.starteam.StarTeamCheckin.CheckinMaporg.apache.tools.ant.taskdefs.optional.starteam.StarTeamList.UnmatchedListingMapSUBCLASS_TYPE_MISMATCH
    6
    UnmatchedFileMap ufm = new UnmatchedListingMap().init(targetFolder.getAbsoluteFile(), starteamFolder);
    Precondition Violations (1)
    Row Violation
    1Clone fragment #1 returns variables foldersList, ufm, stFiles , while Clone fragment #2 returns variables files, ufm, subFolders