Skip to content

Commit 84a32dc

Browse files
committed
Fix NPE error with ConventionSetPrivateField
JAVA-2951
1 parent 5257d60 commit 84a32dc

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

bson/src/main/org/bson/codecs/pojo/ConventionSetPrivateFieldImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ public void apply(final ClassModelBuilder<?> classModelBuilder) {
3333
}
3434
PropertyAccessorImpl<?> defaultAccessor = (PropertyAccessorImpl<?>) propertyModelBuilder.getPropertyAccessor();
3535
PropertyMetadata<?> propertyMetaData = defaultAccessor.getPropertyMetadata();
36-
if (!propertyMetaData.isDeserializable() && isPrivate(propertyMetaData.getField().getModifiers())) {
36+
if (!propertyMetaData.isDeserializable() && propertyMetaData.getField() != null
37+
&& isPrivate(propertyMetaData.getField().getModifiers())) {
3738
setPropertyAccessor(propertyModelBuilder);
3839
}
3940
}

bson/src/test/unit/org/bson/codecs/pojo/PojoCustomTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ public void testSetPrivateFieldConvention() {
184184
builder.conventions(conventions);
185185

186186
roundTrip(builder, new PrivateSetterFieldModel(1, "2", asList("a", "b")),
187-
"{'integerField': 1, 'stringField': '2', listField: ['a', 'b']}");
187+
"{'someMethod': 'some method', 'integerField': 1, 'stringField': '2', listField: ['a', 'b']}");
188188
}
189189

190190
@Test

bson/src/test/unit/org/bson/codecs/pojo/entities/PrivateSetterFieldModel.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ public PrivateSetterFieldModel(final Integer integerField, final String stringFi
3333
this.listField = listField;
3434
}
3535

36+
public String getSomeMethod() {
37+
return "some method";
38+
}
39+
3640
public Integer getIntegerField() {
3741
return integerField;
3842
}

0 commit comments

Comments
 (0)