if (dataset != null) { if (getItemVisible(series, 0)) { String label = getLegendItemLabelGenerator().generateLabel( dataset, series); String description = label; String toolTipText = null; if (getLegendItemToolTipGenerator() != null) { toolTipText = getLegendItemToolTipGenerator().generateLabel( dataset, series); } String urlText = null; if (getLegendItemURLGenerator() != null) { urlText = getLegendItemURLGenerator().generateLabel( dataset, series); } Shape shape = new Ellipse2D.Double(-4.0, -4.0, 8.0, 8.0); Paint paint = lookupSeriesPaint(series); Paint outlinePaint = lookupSeriesOutlinePaint(series); Stroke outlineStroke = lookupSeriesOutlineStroke(series); result = new LegendItem(label, description, toolTipText, urlText, shape, paint, outlineStroke, outlinePaint); result.setDataset(dataset); result.setDatasetIndex(datasetIndex); result.setSeriesKey(dataset.getSeriesKey(series)); result.setSeriesIndex(series); } }
XYDataset dataset = p.getDataset(datasetIndex); if (dataset != null) { if (getItemVisible(series, 0)) { String label = getLegendItemLabelGenerator().generateLabel( dataset, series); String description = label; String toolTipText = null; if (getLegendItemToolTipGenerator() != null) { toolTipText = getLegendItemToolTipGenerator().generateLabel( dataset, series); } String urlText = null; if (getLegendItemURLGenerator() != null) { urlText = getLegendItemURLGenerator().generateLabel( dataset, series); } Paint paint = lookupSeriesPaint(series); Stroke stroke = lookupSeriesStroke(series); // TODO: the following hard-coded line needs generalising Line2D line = new Line2D.Double(-7.0, 0.0, 7.0, 0.0); result = new LegendItem(label, description, toolTipText, urlText, line, stroke, paint); result.setDataset(dataset); result.setDatasetIndex(datasetIndex); result.setSeriesKey(dataset.getSeriesKey(series)); result.setSeriesIndex(series); } }
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/src/org/jfree/chart/renderer/xy/XYBubbleRenderer.java File path: /jfreechart-1.0.10/src/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java
Method name: LegendItem getLegendItem(int, int) Method name: LegendItem getLegendItem(int, int)
Number of AST nodes: 19 Number of AST nodes: 19
1
XYDataset dataset = p.getDataset(datasetIndex);
1
if (dataset != null) {
2
            if (dataset != null) {
2
            if (getItemVisible(series, 0)) {
3
                if (getItemVisible(series, 0)) {
3
                String label = getLegendItemLabelGenerator().generateLabel(
4
                    String label = getLegendItemLabelGenerator().generateLabel(
4
                        dataset, series);
5
                            dataset, series);
5
                String description = label;
6
                    String description = label;
6
                String toolTipText = null;
7
                    String toolTipText = null;
7
                if (getLegendItemToolTipGenerator() != null) {
8
                    if (getLegendItemToolTipGenerator() != null) {
8
                    toolTipText 
9
                        toolTipText 
9
= getLegendItemToolTipGenerator().generateLabel(
10
                            = getLegendItemToolTipGenerator().generateLabel(
10
                            dataset, series);
11
                                    dataset, series);
11
                }
12
                    }
12
                String urlText = null;
13
                    String urlText = null;
13
                if (getLegendItemURLGenerator() != null) {
14
                    if (getLegendItemURLGenerator() != null) {
14
                    urlText = getLegendItemURLGenerator().generateLabel(
15
                        urlText = getLegendItemURLGenerator().generateLabel(
15
                            dataset, series);
16
                                dataset, series);
16
                }
17
                    }
17
                Shape shape = new Ellipse2D.Double(-4.0, -4.0, 8.0, 8.0);
18
    
18
                Paint paint = lookupSeriesPaint(series);
19
                Paint paint = lookupSeriesPaint(series);
19
                Paint outlinePaint = lookupSeriesOutlinePaint(series);
20
                    Stroke stroke = lookupSeriesStroke(series);
20
                Stroke outlineStroke = lookupSeriesOutlineStroke(series);
21
                
22
    // TODO:  the following hard-coded line needs generalising
23
                    Line2D line = new Line2D.Double(-7.0, 0.0, 7.0, 0.0);
21
                result = new LegendItem(label, description, toolTipText, 
24
                    result = new LegendItem(label, description, 
22
                        urlText, shape, paint, outlineStroke, outlinePaint);
25
                            toolTipText, urlText, line, stroke, paint);
23
                result.setDataset(dataset);
26
                    result.setDataset(dataset);
24
                result.setDatasetIndex(datasetIndex);
27
                    result.setDatasetIndex(datasetIndex);
25
                result.setSeriesKey(dataset.getSeriesKey(series));
28
                    result.setSeriesKey(dataset.getSeriesKey(series));
26
                result.setSeriesIndex(series);
29
                    result.setSeriesIndex(series);
27
            }
30
            
31
    }
28
        }
32
            }
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.5
Clones locationClones are in different classes having the same super class
Number of node comparisons196
  1. {Non-refactorable}
    Mapping Summary
    Number of mapped statements18
    Number of unmapped statements in the first code fragment1
    Number of unmapped statements in the second code fragment1
    Time elapsed for statement mapping (ms)86.8
    Clone typeType 3
    Mapped Statements
    ID Statement ID Statement
                                                                                                    
    4
    XYDataset dataset = p.getDataset(datasetIndex);
    6
    if (dataset != null)
    5
    if (dataset != null)
    7
    if (getItemVisible(series, 0))
    6
    if (getItemVisible(series, 0))
    8
    String label = getLegendItemLabelGenerator().generateLabel(dataset, series);
    7
    String label = getLegendItemLabelGenerator().generateLabel(dataset, series);
    9
    String description = label;
    8
    String description = label;
    10
    String toolTipText = null;
    9
    String toolTipText = null;
    11
    if (getLegendItemToolTipGenerator() != null)
    10
    if (getLegendItemToolTipGenerator() != null)
    12
    toolTipText = getLegendItemToolTipGenerator().generateLabel(dataset, series);
    11
    toolTipText = getLegendItemToolTipGenerator().generateLabel(dataset, series);
    13
    String urlText = null;
    12
    String urlText = null;
    14
    if (getLegendItemURLGenerator() != null)
    13
    if (getLegendItemURLGenerator() != null)
    15
    urlText = getLegendItemURLGenerator().generateLabel(dataset, series);
    14
    urlText = getLegendItemURLGenerator().generateLabel(dataset, series);
    16
    Shape shape = new Ellipse2D.Double(-4.0, -4.0, 8.0, 8.0);
    16
    Shape shape = new Ellipse2D.Double(-4.0, -4.0, 8.0, 8.0);
    17
    Line2D line = new Line2D.Double(-7.0, 0.0, 7.0, 0.0);
    Differences
    Expression1Expression2Difference
    java.awt.Shapejava.awt.geom.Line2DSUBCLASS_TYPE_MISMATCH
    shapelineVARIABLE_NAME_MISMATCH
    java.awt.Shapejava.awt.geom.Line2DSUBCLASS_TYPE_MISMATCH
    java.awt.geom.Ellipse2Djava.awt.geom.Line2DSUBCLASS_TYPE_MISMATCH
    java.awt.geom.Ellipse2D.Doublejava.awt.geom.Line2D.DoubleSUBCLASS_TYPE_MISMATCH
    4.07.0LITERAL_VALUE_MISMATCH
    -4.00.0TYPE_COMPATIBLE_REPLACEMENT
    8.07.0LITERAL_VALUE_MISMATCH
    8.00.0LITERAL_VALUE_MISMATCH
    Preondition Violations
    Expression new Ellipse2D.Double(-4.0,-4.0,8.0,8.0) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new Line2D.Double(-7.0,0.0,7.0,0.0) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    17
    Line2D line = new Line2D.Double(-7.0, 0.0, 7.0, 0.0);
    17
    Paint paint = lookupSeriesPaint(series);
    15
    Paint paint = lookupSeriesPaint(series);
    18
    Paint outlinePaint = lookupSeriesOutlinePaint(series);
    18
    Paint outlinePaint = lookupSeriesOutlinePaint(series);
    Preondition Violations
    Unmatched statement Paint outlinePaint=lookupSeriesOutlinePaint(series); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
                                                                                                                    
    19
    Stroke outlineStroke = lookupSeriesOutlineStroke(series);
    19
    Stroke outlineStroke = lookupSeriesOutlineStroke(series);
    16
    Stroke stroke = lookupSeriesStroke(series);
    Differences
    Expression1Expression2Difference
    outlineStrokestrokeVARIABLE_NAME_MISMATCH
    lookupSeriesOutlineStrokelookupSeriesStrokeMETHOD_INVOCATION_NAME_MISMATCH
    Preondition Violations
    Expression lookupSeriesOutlineStroke(series) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression lookupSeriesStroke(series) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    16
    Stroke stroke = lookupSeriesStroke(series);
    20
    result = new LegendItem(label, description, toolTipText, urlText, shape, paint, outlineStroke, outlinePaint);
    20
    result = new LegendItem(label, description, toolTipText, urlText, shape, paint, outlineStroke, outlinePaint);
    18
    result = new LegendItem(label, description, toolTipText, urlText, line, stroke, paint);
    Differences
    Expression1Expression2Difference
    new LegendItem(label,description,toolTipText,urlText,shape,paint,outlineStroke,outlinePaint)new LegendItem(label,description,toolTipText,urlText,line,stroke,paint)ARGUMENT_NUMBER_MISMATCH
    Preondition Violations
    Expression new LegendItem(label,description,toolTipText,urlText,shape,paint,outlineStroke,outlinePaint) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    Expression new LegendItem(label,description,toolTipText,urlText,line,stroke,paint) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    18
    result = new LegendItem(label, description, toolTipText, urlText, line, stroke, paint);
    21
    result.setDataset(dataset);
    19
    result.setDataset(dataset);
    22
    result.setDatasetIndex(datasetIndex);
    20
    result.setDatasetIndex(datasetIndex);
    23
    result.setSeriesKey(dataset.getSeriesKey(series));
    21
    result.setSeriesKey(dataset.getSeriesKey(series));
    24
    result.setSeriesIndex(series);
    22
    result.setSeriesIndex(series);
    Precondition Violations (7)
    Row Violation
    1Expression new Ellipse2D.Double(-4.0,-4.0,8.0,8.0) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    2Expression new Line2D.Double(-7.0,0.0,7.0,0.0) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    3Unmatched statement Paint outlinePaint=lookupSeriesOutlinePaint(series); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted
    4Expression lookupSeriesOutlineStroke(series) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    5Expression lookupSeriesStroke(series) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    6Expression new LegendItem(label,description,toolTipText,urlText,shape,paint,outlineStroke,outlinePaint) cannot be parameterized, because it has dependencies to/from statements that will be extracted
    7Expression new LegendItem(label,description,toolTipText,urlText,line,stroke,paint) cannot be parameterized, because it has dependencies to/from statements that will be extracted