LeadPipeInputStream snk = new LeadPipeInputStream(); snk.setManagingComponent(managingTask); InputStream outPumpIn = snk; Reader reader = new InputStreamReader(outPumpIn, inputEncoding); if (outputFilterChains != null && outputFilterChains.size() > 0) { ChainReaderHelper helper = new ChainReaderHelper(); helper.setProject(managingTask.getProject()); helper.setPrimaryReader(reader); helper.setFilterChains(outputFilterChains); reader = helper.getAssembledReader(); } outPumpIn = new ReaderInputStream(reader, outputEncoding);
LeadPipeInputStream snk = new LeadPipeInputStream(); snk.setManagingComponent(managingTask); InputStream errPumpIn = snk; Reader reader = new InputStreamReader(errPumpIn, inputEncoding); if (errorFilterChains != null && errorFilterChains.size() > 0) { ChainReaderHelper helper = new ChainReaderHelper(); helper.setProject(managingTask.getProject()); helper.setPrimaryReader(reader); helper.setFilterChains(errorFilterChains); reader = helper.getAssembledReader(); } errPumpIn = new ReaderInputStream(reader, errorEncoding);
Clone fragments detected by clone detection tool
File path: /apache-ant-1.7.0/src/org/apache/tools/ant/taskdefs/Redirector.java File path: /apache-ant-1.7.0/src/org/apache/tools/ant/taskdefs/Redirector.java
Method name: void createStreams() Method name: void createStreams()
Number of AST nodes: 11 Number of AST nodes: 11
1
LeadPipeInputStream snk = new LeadPipeInputStream();
1
LeadPipeInputStream snk = new LeadPipeInputStream();
2
                snk.setManagingComponent(managingTask);
2
                snk.setManagingComponent(managingTask);
3
                InputStream outPumpIn = snk;
3
                InputStream errPumpIn = snk;
4
                Reader reader = new InputStreamReader(outPumpIn, inputEncoding);
4
                Reader reader = new InputStreamReader(errPumpIn, inputEncoding);
5
                if (outputFilterChains != null && outputFilterChains.size() > 0) {
5
                if (errorFilterChains != null && errorFilterChains.size() > 0) {
6
                    ChainReaderHelper helper = new ChainReaderHelper();
6
                    ChainReaderHelper helper = new ChainReaderHelper();
7
                    helper.setProject(managingTask.getProject());
7
                    helper.setProject(managingTask.getProject());
8
                    helper.setPrimaryReader(reader);
8
                    helper.setPrimaryReader(reader);
9
                    helper.setFilterChains(outputFilterChains);
9
                    helper.setFilterChains(errorFilterChains);
10
                    reader = helper.getAssembledReader();
10
                    reader = helper.getAssembledReader();
11
                }
11
                }
12
                outPumpIn = new ReaderInputStream(reader, outputEncoding);
12
                errPumpIn = new ReaderInputStream(reader, errorEncoding);
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.4
Clones locationClones are in the same method
Number of node comparisons50
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements11
    Number of unmapped statements in the first code fragment0
    Number of unmapped statements in the second code fragment0
    Time elapsed for statement mapping (ms)3.5
    Clone typeType 2
    Mapped Statements
    ID Statement ID Statement
    35
    LeadPipeInputStream snk = new LeadPipeInputStream();
    52
    LeadPipeInputStream snk = new LeadPipeInputStream();
    36
    snk.setManagingComponent(managingTask);
    53
    snk.setManagingComponent(managingTask);
    37
    InputStream outPumpIn = snk;
    37
    InputStream outPumpIn = snk;
    54
    InputStream errPumpIn = snk;
    Differences
    Expression1Expression2Difference
    outPumpInerrPumpInVARIABLE_NAME_MISMATCH
    54
    InputStream errPumpIn = snk;
    38
    Reader reader = new InputStreamReader(outPumpIn, inputEncoding);
    38
    Reader reader = new InputStreamReader(outPumpIn, inputEncoding);
    55
    Reader reader = new InputStreamReader(errPumpIn, inputEncoding);
    Differences
    Expression1Expression2Difference
    outPumpInerrPumpInVARIABLE_NAME_MISMATCH
    55
    Reader reader = new InputStreamReader(errPumpIn, inputEncoding);
    39
    if (outputFilterChains != null && outputFilterChains.size() > 0)
    39
    if (outputFilterChains != null && outputFilterChains.size() > 0)
    56
    if (errorFilterChains != null && errorFilterChains.size() > 0)
    Differences
    Expression1Expression2Difference
    outputFilterChainserrorFilterChainsVARIABLE_NAME_MISMATCH
    outputFilterChainserrorFilterChainsVARIABLE_NAME_MISMATCH
    56
    if (errorFilterChains != null && errorFilterChains.size() > 0)
    40
    ChainReaderHelper helper = new ChainReaderHelper();
    57
    ChainReaderHelper helper = new ChainReaderHelper();
    41
    helper.setProject(managingTask.getProject());
    58
    helper.setProject(managingTask.getProject());
    42
    helper.setPrimaryReader(reader);
    59
    helper.setPrimaryReader(reader);
    43
    helper.setFilterChains(outputFilterChains);
    43
    helper.setFilterChains(outputFilterChains);
    60
    helper.setFilterChains(errorFilterChains);
    Differences
    Expression1Expression2Difference
    outputFilterChainserrorFilterChainsVARIABLE_NAME_MISMATCH
    60
    helper.setFilterChains(errorFilterChains);
    44
    reader = helper.getAssembledReader();
    61
    reader = helper.getAssembledReader();
    45
    outPumpIn = new ReaderInputStream(reader, outputEncoding);
    45
    outPumpIn = new ReaderInputStream(reader, outputEncoding);
    62
    errPumpIn = new ReaderInputStream(reader, errorEncoding);
    Differences
    Expression1Expression2Difference
    outPumpInerrPumpInVARIABLE_NAME_MISMATCH
    outputEncodingerrorEncodingVARIABLE_NAME_MISMATCH
    62
    errPumpIn = new ReaderInputStream(reader, errorEncoding);
    Precondition Violations (1)
    Row Violation
    1Clone fragment #1 returns variables outPumpIn, snk , while Clone fragment #2 returns variables errPumpIn, snk