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