double maximum = Double.NEGATIVE_INFINITY; int seriesCount = dataset.getSeriesCount(); for (int series = 0; series < seriesCount; series++) { int itemCount = dataset.getItemCount(series); for (int item = 0; item < itemCount; item++) { double value; if (dataset instanceof IntervalXYDataset) { IntervalXYDataset intervalXYData = (IntervalXYDataset) dataset; value = intervalXYData.getEndYValue(series, item); } else if (dataset instanceof OHLCDataset) { OHLCDataset highLowData = (OHLCDataset) dataset; value = highLowData.getHighValue(series, item); } else { value = dataset.getYValue(series, item); } if (!Double.isNaN(value)) { maximum = Math.max(maximum, value); } } } if (maximum == Double.NEGATIVE_INFINITY) { return null; } else { return new Double(maximum); }
if (dataset instanceof DomainInfo) { DomainInfo info = (DomainInfo) dataset; return new Double(info.getDomainLowerBound(true)); } else { double minimum = Double.POSITIVE_INFINITY; int seriesCount = dataset.getSeriesCount(); for (int series = 0; series < seriesCount; series++) { int itemCount = dataset.getItemCount(series); for (int item = 0; item < itemCount; item++) { double value; if (dataset instanceof IntervalXYDataset) { IntervalXYDataset intervalXYData = (IntervalXYDataset) dataset; value = intervalXYData.getStartXValue(series, item); } else { value = dataset.getXValue(series, item); } if (!Double.isNaN(value)) { minimum = Math.min(minimum, value); } } } if (minimum == Double.POSITIVE_INFINITY) { result = null; } else { result = new Double(minimum); } }
Clone fragments detected by clone detection tool
File path: /jfreechart-1.0.10/src/org/jfree/data/general/DatasetUtilities.java File path: /jfreechart-1.0.10/src/org/jfree/data/general/DatasetUtilities.java
Method name: Number findMaximumRangeValue(XYDataset) Method name: Number findMinimumDomainValue(XYDataset)
Number of AST nodes: 18 Number of AST nodes: 18
1
if (dataset instanceof DomainInfo) {
2
            DomainInfo info = (DomainInfo) dataset;
3
            return new Double(info.getDomainLowerBound(true));
4
        }
5
        else {
1
double maximum = Double.NEGATIVE_INFINITY;
6
            double minimum = Double.POSITIVE_INFINITY;
2
            int seriesCount = dataset.getSeriesCount();
7
            int seriesCount = dataset.getSeriesCount();
3
            for (int series = 0; series < seriesCount; series++) {
8
            for (int series = 0; series < seriesCount; series++) {
4
                int itemCount = dataset.getItemCount(series);
9
                int itemCount = dataset.getItemCount(series);
5
                for (int item = 0; item < itemCount; item++) {
10
                for (int item = 0; item < itemCount; item++) {
6
                    double value;
11
                    double value;
7
                    if (dataset instanceof IntervalXYDataset) {
12
                    if (dataset instanceof IntervalXYDataset) {
8
                        IntervalXYDataset intervalXYData
13
                        IntervalXYDataset intervalXYData
9
                            = (IntervalXYDataset) dataset;
14
                            = (IntervalXYDataset) dataset;
10
                        value = intervalXYData.getEndYValue(series, item);
15
                        value = intervalXYData.get
11
                    }
12
                    else if (dataset instanceof OHLCDataset) {
13
                        OHLCDataset highLowData = (OHLCDataset) dataset;
14
                        value = highLowData.getHighValue(series, item);
16
StartXValue(series, item);
15
                    }
17
                    }
16
                    else {
18
                    else {
17
                        value = dataset.getYValue(series, item);
19
                        value = dataset.getXValue(series, item);
18
                    }
20
                    }
19
                    if (!Double.isNaN(value)) {
21
                    if (!Double.isNaN(value)) {
20
                        maximum = Math.max(maximum, value);
22
                        minimum = Math.min(minimum, value);
21
                    }
23
                    }
22
                }
24
                }
23
            }
25
            }
24
            if (maximum == Double.NEGATIVE_INFINITY) {
26
            if (minimum == Double.POSITIVE_INFINITY) {
25
                return null;
27
                result = null;
26
            }
28
            }
27
            else {
29
            else {
28
                return new Double(maximum);
30
                result = new Double(minimum);
29
            }
31
            }
32
        }
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.3
Clones locationClones are declared in the same class
Number of node comparisons6