Skip to content

Commit cdebf5b

Browse files
committed
utility function OneNumberFromArray convert to Integer if possible
1 parent 2accfbe commit cdebf5b

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

src/main/java/com/oltpbenchmark/benchmarks/featurebench/utils/OneNumberFromArray.java

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,32 @@ public OneNumberFromArray(List<Object> values) {
1515
}
1616
listOfIntegers = new ArrayList<>();
1717
for (Object value : values) {
18-
listOfIntegers.add((Integer) value);
18+
listOfIntegers.add(convertToInteger(value));
1919
}
2020
}
21-
public OneNumberFromArray(List<Object> values,int workerId,int totalWorkers) {
21+
22+
public OneNumberFromArray(List<Object> values, int workerId, int totalWorkers) {
2223
if (values.size() == 0) {
2324
throw new RuntimeException("Incorrect number of parameters for util function "
2425
+ this.getClass());
2526
}
2627
listOfIntegers = new ArrayList<>();
2728
for (Object value : values) {
28-
listOfIntegers.add((Integer) value);
29+
listOfIntegers.add(convertToInteger(value));
30+
}
31+
}
32+
33+
private Integer convertToInteger(Object value) {
34+
if (value instanceof Integer) {
35+
return (Integer) value;
36+
} else if (value instanceof String) {
37+
try {
38+
return Integer.parseInt((String) value);
39+
} catch (NumberFormatException e) {
40+
throw new RuntimeException("Cannot convert value to Integer: " + value, e);
41+
}
42+
} else {
43+
throw new RuntimeException("Unsupported type for conversion to Integer: " + value.getClass());
2944
}
3045
}
3146

0 commit comments

Comments
 (0)