Skip to content

Commit 51d3338

Browse files
chore: if the bool field is null set the inlined boolean as null (#687)
1 parent 83646ce commit 51d3338

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

hollow/src/main/java/com/netflix/hollow/core/write/objectmapper/HollowObjectTypeMapper.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -631,7 +631,9 @@ public void copy(GenericHollowObject rec, Object pojo) {
631631
unsafe.putObject(pojo, fieldOffset, rec.getBytes(fieldName));
632632
break;
633633
case INLINED_BOOLEAN:
634-
unsafe.putObject(pojo, fieldOffset, Boolean.valueOf(rec.getBoolean(fieldName)));
634+
if (!rec.isNull(fieldName)) {
635+
unsafe.putObject(pojo, fieldOffset, Boolean.valueOf(rec.getBoolean(fieldName)));
636+
}
635637
break;
636638
case INLINED_INT:
637639
int inlinedIntValue = rec.getInt(fieldName);

hollow/src/test/java/com/netflix/hollow/core/write/objectmapper/HollowObjectMapperHollowRecordParserTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,18 +131,20 @@ public void testNullablesSimpleTypes() {
131131
TypeWithAllSimpleTypes result = mapper.readHollowRecord(obj);
132132
Assert.assertEquals(Integer.valueOf(1), result.boxedIntegerField);
133133
Assert.assertEquals(Character.valueOf('a'), result.boxedCharField);
134-
Assert.assertNull(result.boxedFloatField);
134+
Assert.assertNull(result.boxedBooleanField);
135135
Assert.assertNull(result.boxedDoubleField);
136+
Assert.assertNull(result.boxedFloatField);
136137
Assert.assertNull(result.boxedLongField);
137138
Assert.assertNull(result.boxedShortField);
138139
Assert.assertNull(result.boxedByteField);
139140
Assert.assertEquals(0, result.primitiveIntegerField);
141+
Assert.assertFalse(result.primitiveBooleanField);
140142
Assert.assertEquals(0.0, result.primitiveDoubleField, 0);
141143
Assert.assertEquals(0.0f, result.primitiveFloatField, 0);
142144
Assert.assertEquals(0L, result.primitiveLongField);
143145
Assert.assertEquals(0, result.primitiveShortField);
144146
Assert.assertEquals(0, result.primitiveByteField);
145-
Assert.assertEquals(false, result.inlinedBooleanField);
147+
Assert.assertNull(result.inlinedBooleanField);
146148
Assert.assertEquals(Long.valueOf(4L), result.inlinedLongField);
147149
Assert.assertNull(result.inlinedIntegerField);
148150
Assert.assertNull(result.inlinedDoubleField);

0 commit comments

Comments
 (0)