Skip to content

Commit 01e61d8

Browse files
authored
Merge pull request #237 from microsoftgraph/hotfix/serialization-additional-data
hotfix for additional data serialization
2 parents 51aa1d1 + 083e678 commit 01e61d8

File tree

4 files changed

+7
-10
lines changed

4 files changed

+7
-10
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ mavenGroupId = com.microsoft.graph
2525
mavenArtifactId = microsoft-graph-core
2626
mavenMajorVersion = 2
2727
mavenMinorVersion = 0
28-
mavenPatchVersion = 5
28+
mavenPatchVersion = 6
2929
mavenArtifactSuffix =
3030

3131
#These values are used to run functional tests

readme.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ repositories {
2222
2323
dependencies {
2424
// Include the sdk as a dependency
25-
implementation 'com.microsoft.graph:microsoft-graph-core:2.0.5'
25+
implementation 'com.microsoft.graph:microsoft-graph-core:2.0.6'
2626
// This dependency is only needed if you are using the TokenCrendentialAuthProvider
2727
implementation 'com.azure:azure-identity:1.3.1'
2828
}
@@ -37,7 +37,7 @@ Add the dependency in `dependencies` in pom.xml
3737
<!-- Include the sdk as a dependency -->
3838
<groupId>com.microsoft.graph</groupId>
3939
<artifactId>microsoft-graph-core</artifactId>
40-
<version>2.0.5</version>
40+
<version>2.0.6</version>
4141
<!-- This dependency is only needed if you are using the TokenCrendentialAuthProvider -->
4242
<groupId>com.azure</groupId>
4343
<artifactId>azure-identity</artifactId>

src/main/java/com/microsoft/graph/httpcore/TelemetryHandler.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.io.IOException;
44
import java.lang.reflect.Field;
55

6-
import javax.annotation.Nullable;
76
import javax.annotation.Nonnull;
87

98
import com.microsoft.graph.httpcore.middlewareoption.TelemetryOptions;
@@ -25,7 +24,7 @@ public class TelemetryHandler implements Interceptor{
2524
/**
2625
* Current SDK version
2726
*/
28-
public static final String VERSION = "v2.0.5";
27+
public static final String VERSION = "v2.0.6";
2928
/**
3029
* Verion prefix
3130
*/

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
package com.microsoft.graph.serializer;
2424

25-
import com.google.common.annotations.VisibleForTesting;
2625
import com.google.common.base.CaseFormat;
2726
import com.google.gson.Gson;
2827
import com.google.gson.JsonArray;
@@ -35,7 +34,6 @@
3534
import java.io.InputStream;
3635
import java.io.InputStreamReader;
3736
import java.lang.reflect.Field;
38-
import java.lang.reflect.Type;
3937
import java.util.HashMap;
4038
import java.util.Iterator;
4139
import java.util.List;
@@ -241,8 +239,9 @@ private void getChildAdditionalData(final Object serializableObject, final JsonE
241239
if(outJson == null || serializableObject == null || !outJson.isJsonObject())
242240
return;
243241
final JsonObject outJsonObject = outJson.getAsJsonObject();
242+
addAdditionalDataFromJsonObjectToJson(serializableObject, outJsonObject);
244243
// Use reflection to iterate through fields for eligible Graph children
245-
for (java.lang.reflect.Field field : serializableObject.getClass().getFields()) {
244+
for (Field field : serializableObject.getClass().getFields()) {
246245
try {
247246
final Object fieldObject = field.get(serializableObject);
248247
final JsonElement fieldJsonElement = outJsonObject.get(field.getName());
@@ -275,7 +274,7 @@ else if (fieldObject instanceof List && fieldJsonElement.isJsonArray()) {
275274
} else if(fieldJsonElement.isJsonObject()) {
276275
// If the object is a valid Graph object, add its additional data
277276
final JsonObject fieldJsonObject = fieldJsonElement.getAsJsonObject();
278-
addAdditionalDataFromJsonObjectToJson(fieldObject, fieldJsonObject);
277+
getChildAdditionalData(fieldObject, fieldJsonObject);
279278
}
280279
} catch (IllegalArgumentException | IllegalAccessException e) {
281280
logger.logError("Unable to access child fields of " + serializableObject.getClass().getSimpleName(), e);
@@ -294,7 +293,6 @@ private void addAdditionalDataFromJsonObjectToJson (final Object item, final Jso
294293
final IJsonBackedObject serializableItem = (IJsonBackedObject) item;
295294
final AdditionalDataManager itemAdditionalData = serializableItem.additionalDataManager();
296295
addAdditionalDataFromManagerToJson(itemAdditionalData, itemJsonObject);
297-
getChildAdditionalData(serializableItem, itemJsonObject);
298296
}
299297
}
300298

0 commit comments

Comments
 (0)