Skip to content

Commit b2bc1dc

Browse files
author
Nakul Sabharwal
committed
Added null checks and isJsonObject check to rawJson,outJson and field .
1 parent e64e922 commit b2bc1dc

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

src/main/java/com/microsoft/graph/serializer/DefaultSerializer.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -134,18 +134,21 @@ private void setChildAdditionalData(IJsonBackedObject serializedObject, JsonObje
134134
// If the item is a valid Graph object, set its additional data
135135
if (child instanceof IJsonBackedObject) {
136136
AdditionalDataManager childAdditionalDataManager = ((IJsonBackedObject) child).additionalDataManager();
137-
childAdditionalDataManager.setAdditionalData(rawJson.get(field.getName()).getAsJsonObject());
138-
setChildAdditionalData((IJsonBackedObject) child,rawJson.get(field.getName()).getAsJsonObject());
137+
if(rawJson != null && field != null && rawJson.get(field.getName()) != null && rawJson.get(field.getName()).isJsonObject()) {
138+
childAdditionalDataManager.setAdditionalData(rawJson.get(field.getName()).getAsJsonObject());
139+
setChildAdditionalData((IJsonBackedObject) child,rawJson.get(field.getName()).getAsJsonObject());
140+
}
139141
}
140142
}
141143
}
142144
// If the object is a valid Graph object, set its additional data
143145
else if (fieldObject != null && fieldObject instanceof IJsonBackedObject) {
144146
IJsonBackedObject serializedChild = (IJsonBackedObject) fieldObject;
145147
AdditionalDataManager childAdditionalDataManager = serializedChild.additionalDataManager();
146-
147-
childAdditionalDataManager.setAdditionalData(rawJson.get(field.getName()).getAsJsonObject());
148-
setChildAdditionalData((IJsonBackedObject) fieldObject,rawJson.get(field.getName()).getAsJsonObject());
148+
if(rawJson != null && field != null && rawJson.get(field.getName()) != null && rawJson.get(field.getName()).isJsonObject()) {
149+
childAdditionalDataManager.setAdditionalData(rawJson.get(field.getName()).getAsJsonObject());
150+
setChildAdditionalData((IJsonBackedObject) fieldObject,rawJson.get(field.getName()).getAsJsonObject());
151+
}
149152
}
150153
} catch (IllegalArgumentException | IllegalAccessException e) {
151154
logger.logError("Unable to access child fields of " + serializedObject.getClass().getSimpleName(), e);
@@ -229,8 +232,9 @@ private JsonObject getChildAdditionalData(IJsonBackedObject serializableObject,
229232
else if (fieldObject != null && fieldObject instanceof IJsonBackedObject) {
230233
IJsonBackedObject serializableChild = (IJsonBackedObject) fieldObject;
231234
AdditionalDataManager childAdditionalData = serializableChild.additionalDataManager();
232-
233-
addAdditionalDataToJson(childAdditionalData, outJson.get(field.getName()).getAsJsonObject());
235+
if(outJson != null && field != null && outJson.get(field.getName()) != null && outJson.get(field.getName()).isJsonObject()) {
236+
addAdditionalDataToJson(childAdditionalData, outJson.get(field.getName()).getAsJsonObject());
237+
}
234238

235239
// Serialize its children
236240
outJson = getChildAdditionalData(serializableChild, outJson);

0 commit comments

Comments
 (0)