--- a/java/sql-dk/src/info/globalcode/sql/dk/formatting/BarChartFormatter.java Sun Sep 06 21:46:03 2015 +0200
+++ b/java/sql-dk/src/info/globalcode/sql/dk/formatting/BarChartFormatter.java Sun Sep 06 21:48:54 2015 +0200
@@ -61,9 +61,10 @@
BigDecimal minimum = BigDecimal.ZERO;
int lastIndex = currentHeader.getColumnCount() - 1;
+ Object valueObject = null;
try {
for (Object[] row : currentResultSet) {
- Object valueObject = row[lastIndex];
+ valueObject = row[lastIndex];
if (valueObject != null) {
BigDecimal value = new BigDecimal(valueObject.toString());
maximum = maximum.max(value);
@@ -74,8 +75,10 @@
BigDecimal range = maximum.subtract(minimum);
for (Object[] row : currentResultSet) {
- Object valueObject = row[lastIndex];
- if (valueObject != null) {
+ valueObject = row[lastIndex];
+ if (valueObject == null) {
+ row[lastIndex] = "";
+ } else {
BigDecimal value = new BigDecimal(valueObject.toString());
BigDecimal valueFromMinimum = value.subtract(minimum);
@@ -87,7 +90,7 @@
} catch (NumberFormatException e) {
// https://en.wiktionary.org/wiki/parsable
- log.log(Level.SEVERE, "Last column must be number or an object with toString() value parsable to a number.");
+ log.log(Level.SEVERE, "Last column must be number or an object with toString() value parsable to a number. But was „{0}“", valueObject);
// FIXME: throw FormatterException
throw e;
}