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.getStartYValue(series, item); } else if (dataset instanceof OHLCDataset) { OHLCDataset highLowData = (OHLCDataset) dataset; value = highLowData.getLowValue(series, item); } else { value = dataset.getYValue(series, item); } if (!Double.isNaN(value)) { minimum = Math.min(minimum, value); } } } if (minimum == Double.POSITIVE_INFINITY) { return null; } else { return new Double(minimum); }
if (dataset instanceof DomainInfo) { DomainInfo info = (DomainInfo) dataset; return new Double(info.getDomainUpperBound(true)); } // hasn't implemented DomainInfo, so iterate... else { 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.getEndXValue(series, item); } else { value = dataset.getXValue(series, item); } if (!Double.isNaN(value)) { maximum = Math.max(maximum, value); } } } if (maximum == Double.NEGATIVE_INFINITY) { result = null; } else { result = new Double(maximum); } }
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 findMinimumRangeValue(XYDataset) Method name: Number findMaximumDomainValue(XYDataset)
Number of AST nodes: 18 Number of AST nodes: 18
1
double min
1
if (dataset instanceof DomainInfo) {
2
            DomainInfo info = (DomainInfo) dataset;
3
            return new Double(info.getDomainUpperBound(true));
4
        }
5
        // hasn't implemented DomainInfo, so iterate...
6
        else {
2
imum = Double.POSITIVE_INFINITY;
7
            double maximum = Double.NEGATIVE_INFINITY;
3
            int seriesCount = dataset.getSeriesCount();
8
            int seriesCount = dataset.getSeriesCount();
4
            for (int series = 0; series < seriesCount; series++) {
9
            for (int series = 0; series < seriesCount; series++) {
5
                int itemCount = dataset.getItemCount(series);
10
                int itemCount = dataset.getItemCount(series);
6
                for (int item = 0; item < itemCount; item++) {
11
                for (int item = 0; item < itemCount; item++) {
7
                    double value;
12
                    double value;
8
                    if (dataset instanceof IntervalXYDataset) {
13
                    if (dataset instanceof IntervalXYDataset) {
9
                        IntervalXYDataset intervalXYData
14
                        IntervalXYDataset intervalXYData
10
                            = (IntervalXYDataset) dataset;
15
                            = (IntervalXYDataset) dataset;
11
                        value = intervalXYData.getStartYValue(series, item);
16
                        value = intervalXYData.get
12
                    }
13
                    else if (dataset instanceof OHLCDataset) {
14
                        OHLCDataset highLowData = (OHLCDataset) dataset;
15
                        value = highLowData.getLowValue(series, item);
17
EndXValue(series, item);
16
                    }
18
                    }
17
                    else {
19
                    else {
18
                        value = dataset.getYValue(series, item);
20
                        value = dataset.getXValue(series, item);
19
                    }
21
                    }
20
                    if (!Double.isNaN(value)) {
22
                    if (!Double.isNaN(value)) {
21
                        minimum = Math.min(minimum, value);
23
                        maximum = Math.max(maximum, value);
22
                    }
24
                    }
23
                }
25
                }
24
            }
26
            }
25
            if (minimum == Double.POSITIVE_INFINITY) {
27
            if (maximum == Double.NEGATIVE_INFINITY) {
26
                return null;
28
                result = null;
27
            }
29
            }
28
            else {
30
            else {
29
                return new Double(minimum);
31
                result = new Double(maximum);
30
            }
32
            }
33
        }
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.4
Clones locationClones are declared in the same class
Number of node comparisons6