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 findMinimumDomainValue(XYDataset)
|
Method name: Number findMaximumRangeValue(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 {↵ | |||
6 | double minimum = Double.POSITIVE_INFINITY;↵ | 1 | double maximum = Double.NEGATIVE_INFINITY;↵ | |
7 | int seriesCount = dataset.getSeriesCount();↵ | 2 | int seriesCount = dataset.getSeriesCount();↵ | |
8 | for (int series = 0; series < seriesCount; series++) {↵ | 3 | for (int series = 0; series < seriesCount; series++) {↵ | |
9 | int itemCount = dataset.getItemCount(series);↵ | 4 | int itemCount = dataset.getItemCount(series);↵ | |
10 | for (int item = 0; item < itemCount; item++) {↵ | 5 | for (int item = 0; item < itemCount; item++) {↵ | |
11 | double value;↵ | 6 | double value;↵ | |
12 | if (dataset instanceof IntervalXYDataset) {↵ | 7 | if (dataset instanceof IntervalXYDataset) {↵ | |
13 | IntervalXYDataset intervalXYData↵ | 8 | IntervalXYDataset intervalXYData↵ | |
14 | = (IntervalXYDataset) dataset;↵ | 9 | = (IntervalXYDataset) dataset;↵ | |
15 | value = intervalXYData.getStartX↵ | 10 | value = intervalXYData.getEndYValue(series, item);↵ | |
11 | }↵ | |||
12 | else if (dataset instanceof OHLCDataset) {↵ | |||
13 | OHLCDataset highLowData = (OHLCDataset) dataset;↵ | |||
16 | Value(series, item);↵ | 14 | value = highLowData.getHighValue(series, item);↵ | |
17 | }↵ | 15 | }↵ | |
18 | else {↵ | 16 | else {↵ | |
19 | value = dataset.getXValue(series, item);↵ | 17 | value = dataset.getYValue(series, item);↵ | |
20 | }↵ | 18 | }↵ | |
21 | if (!Double.isNaN(value)) {↵ | 19 | if (!Double.isNaN(value)) {↵ | |
22 | minimum = Math.min(minimum, value);↵ | 20 | maximum = Math.max(maximum, value);↵ | |
23 | }↵ | 21 | }↵ | |
24 | }↵ | 22 | }↵ | |
25 | }↵ | 23 | }↵ | |
26 | if (minimum == Double.POSITIVE_INFINITY) {↵ | 24 | if (maximum == Double.NEGATIVE_INFINITY) {↵ | |
27 | result = null;↵ | 25 | return null;↵ | |
28 | }↵ | 26 | }↵ | |
29 | else {↵ | 27 | else {↵ | |
30 | result = new Double(minimum);↵ | 28 | return new Double(maximum);↵ | |
31 | }↵ | 29 |
| |
32 | } | |||
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.8 |
Clones location | Clones are declared in the same class |
Number of node comparisons | 33 |
Number of mapped statements | 9 |
Number of unmapped statements in the first code fragment | 6 |
Number of unmapped statements in the second code fragment | 9 |
Time elapsed for statement mapping (ms) | 5.7 |
Clone type | Type 3 |
ID | Statement | ID | Statement | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7 | double minimum = Double.POSITIVE_INFINITY; |
| 6 | double maximum = Double.NEGATIVE_INFINITY; | ||||||||||||||||||
8 | int seriesCount = dataset.getSeriesCount(); | 7 | int seriesCount = dataset.getSeriesCount(); | |||||||||||||||||||
9 | for (int series = 0; series < seriesCount; series++) | 8 | for (int series = 0; series < seriesCount; series++) | |||||||||||||||||||
10 | int itemCount = dataset.getItemCount(series); | 9 | int itemCount = dataset.getItemCount(series); | |||||||||||||||||||
11 | for (int item = 0; item < itemCount; item++) | 10 | for (int item = 0; item < itemCount; item++) | |||||||||||||||||||
12 | double value; | 11 | double value; | |||||||||||||||||||
| 12 | if (dataset instanceof IntervalXYDataset) | ||||||||||||||||||||
|
| 13 | IntervalXYDataset intervalXYData = (IntervalXYDataset)dataset; | |||||||||||||||||||
|
| 14 | value = intervalXYData.getEndYValue(series, item); | |||||||||||||||||||
| 15 | else if (dataset instanceof OHLCDataset) | ||||||||||||||||||||
|
| 16 | OHLCDataset highLowData = (OHLCDataset)dataset; | |||||||||||||||||||
|
| 17 | value = highLowData.getHighValue(series, item); | |||||||||||||||||||
| else | |||||||||||||||||||||
|
| 18 | value = dataset.getYValue(series, item); | |||||||||||||||||||
13 | if (dataset instanceof IntervalXYDataset) | | ||||||||||||||||||||
14 | IntervalXYDataset intervalXYData = (IntervalXYDataset)dataset; |
| | |||||||||||||||||||
15 | value = intervalXYData.getStartXValue(series, item); |
| | |||||||||||||||||||
else | | |||||||||||||||||||||
16 | value = dataset.getXValue(series, item); |
| | |||||||||||||||||||
17 | if (!Double.isNaN(value)) | 19 | if (!Double.isNaN(value)) | |||||||||||||||||||
18 | minimum = Math.min(minimum, value); |
| 20 | maximum = Math.max(maximum, value); | ||||||||||||||||||
19 | if (minimum == Double.POSITIVE_INFINITY) |
| 21 | if (maximum == Double.NEGATIVE_INFINITY) | ||||||||||||||||||
20 | result = null; | | ||||||||||||||||||||
else | | |||||||||||||||||||||
21 | result = new Double(minimum); |
| | |||||||||||||||||||
|
| 23 | return new Double(maximum); | |||||||||||||||||||
|
| 22 | return null; |
Row | Violation |
---|---|
1 | Unmatched statement IntervalXYDataset intervalXYData=(IntervalXYDataset)dataset; cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
2 | Unmatched statement value=intervalXYData.getEndYValue(series,item); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
3 | Unmatched statement OHLCDataset highLowData=(OHLCDataset)dataset; cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
4 | Unmatched statement value=highLowData.getHighValue(series,item); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
5 | Unmatched statement value=dataset.getYValue(series,item); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
6 | Unmatched statement IntervalXYDataset intervalXYData=(IntervalXYDataset)dataset; cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
7 | Unmatched statement value=intervalXYData.getStartXValue(series,item); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
8 | Unmatched statement value=dataset.getXValue(series,item); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
9 | Expression Math.min(minimum,value) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
10 | Expression Math.max(maximum,value) cannot be parameterized, because it has dependencies to/from statements that will be extracted |
11 | Unmatched statement result=new Double(minimum); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
12 | Unmatched statement return new Double(maximum); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
13 | Unmatched return new Double(maximum); |
14 | Unmatched return null; |