<author email="javajedi@users.sf.net">Tim McCune</author>
</properties>
<body>
+ <release version="2.0.3" date="TBD">
+ <action dev="jahlborn" type="fix">
+ Fix NullPointerException in RowImpl.toString() when value is null.
+ </action>
+ </release>
<release version="2.0.2" date="2013-11-30">
<action dev="jahlborn" type="fix" system="SourceForge2" issue="99">
Rework row add/update so that constraint violations do not leave
if(isFieldSeparatorAtStart()) {
appendFieldSeparator(sb);
}
- appendInternal(sb, fieldName, iter.next(), true);
+ appendValueDetail(sb, fieldName, iter.next());
}
while(iter.hasNext()) {
sb.append(getArraySeparator());
- appendInternal(sb, fieldName, iter.next(), true);
+ appendValueDetail(sb, fieldName, iter.next());
}
// indent entire list contents another level
}
Map.Entry<?,?> e = iter.next();
sb.append(e.getKey()).append("=");
- appendInternal(sb, fieldName, e.getValue(), true);
+ appendValueDetail(sb, fieldName, e.getValue());
}
while(iter.hasNext()) {
sb.append(getArraySeparator());
Map.Entry<?,?> e = iter.next();
sb.append(e.getKey()).append("=");
- appendInternal(sb, fieldName, e.getValue(), true);
+ appendValueDetail(sb, fieldName, e.getValue());
}
// indent entire map contents another level
appendDetail(buffer, PageChannel.wrap(array));
}
+ private void appendValueDetail(StringBuffer buffer, String fieldName,
+ Object value) {
+ if (value == null) {
+ appendNullText(buffer, fieldName);
+ } else {
+ appendInternal(buffer, fieldName, value, true);
+ }
+ }
+
private static void appendDetail(StringBuffer buffer, ByteBuffer bb) {
int len = bb.remaining();
buffer.append("(").append(len).append(") ");