From 13b45692a9eceb45a5682dec40c91b2d97fc014d Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 15 Jun 2021 07:38:14 -0400 Subject: [PATCH 1/2] - fixes #232 a bug where additional data serialization would fail in some cases --- .../com/microsoft/graph/serializer/DefaultSerializer.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/microsoft/graph/serializer/DefaultSerializer.java b/src/main/java/com/microsoft/graph/serializer/DefaultSerializer.java index 54a7d24ed..2d9d5d2e8 100644 --- a/src/main/java/com/microsoft/graph/serializer/DefaultSerializer.java +++ b/src/main/java/com/microsoft/graph/serializer/DefaultSerializer.java @@ -22,7 +22,6 @@ package com.microsoft.graph.serializer; -import com.google.common.annotations.VisibleForTesting; import com.google.common.base.CaseFormat; import com.google.gson.Gson; import com.google.gson.JsonArray; @@ -35,7 +34,6 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.lang.reflect.Field; -import java.lang.reflect.Type; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -241,8 +239,9 @@ private void getChildAdditionalData(final Object serializableObject, final JsonE if(outJson == null || serializableObject == null || !outJson.isJsonObject()) return; final JsonObject outJsonObject = outJson.getAsJsonObject(); + addAdditionalDataFromJsonObjectToJson(serializableObject, outJsonObject); // Use reflection to iterate through fields for eligible Graph children - for (java.lang.reflect.Field field : serializableObject.getClass().getFields()) { + for (Field field : serializableObject.getClass().getFields()) { try { final Object fieldObject = field.get(serializableObject); final JsonElement fieldJsonElement = outJsonObject.get(field.getName()); @@ -275,7 +274,7 @@ else if (fieldObject instanceof List && fieldJsonElement.isJsonArray()) { } else if(fieldJsonElement.isJsonObject()) { // If the object is a valid Graph object, add its additional data final JsonObject fieldJsonObject = fieldJsonElement.getAsJsonObject(); - addAdditionalDataFromJsonObjectToJson(fieldObject, fieldJsonObject); + getChildAdditionalData(fieldObject, fieldJsonObject); } } catch (IllegalArgumentException | IllegalAccessException e) { logger.logError("Unable to access child fields of " + serializableObject.getClass().getSimpleName(), e); @@ -294,7 +293,6 @@ private void addAdditionalDataFromJsonObjectToJson (final Object item, final Jso final IJsonBackedObject serializableItem = (IJsonBackedObject) item; final AdditionalDataManager itemAdditionalData = serializableItem.additionalDataManager(); addAdditionalDataFromManagerToJson(itemAdditionalData, itemJsonObject); - getChildAdditionalData(serializableItem, itemJsonObject); } } From 083e678d0cdcc113383fbdb3974e047793c4c90c Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 15 Jun 2021 07:40:29 -0400 Subject: [PATCH 2/2] - bumps patch version --- gradle.properties | 2 +- readme.md | 4 ++-- .../java/com/microsoft/graph/httpcore/TelemetryHandler.java | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/gradle.properties b/gradle.properties index 6663f2b4c..712d6fa0e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,7 +25,7 @@ mavenGroupId = com.microsoft.graph mavenArtifactId = microsoft-graph-core mavenMajorVersion = 2 mavenMinorVersion = 0 -mavenPatchVersion = 5 +mavenPatchVersion = 6 mavenArtifactSuffix = #These values are used to run functional tests diff --git a/readme.md b/readme.md index 9da26ba4c..bdbc34d58 100644 --- a/readme.md +++ b/readme.md @@ -22,7 +22,7 @@ repositories { dependencies { // Include the sdk as a dependency - implementation 'com.microsoft.graph:microsoft-graph-core:2.0.5' + implementation 'com.microsoft.graph:microsoft-graph-core:2.0.6' // This dependency is only needed if you are using the TokenCrendentialAuthProvider implementation 'com.azure:azure-identity:1.3.1' } @@ -37,7 +37,7 @@ Add the dependency in `dependencies` in pom.xml com.microsoft.graph microsoft-graph-core - 2.0.5 + 2.0.6 com.azure azure-identity diff --git a/src/main/java/com/microsoft/graph/httpcore/TelemetryHandler.java b/src/main/java/com/microsoft/graph/httpcore/TelemetryHandler.java index 40072fc03..32a9fe6bd 100644 --- a/src/main/java/com/microsoft/graph/httpcore/TelemetryHandler.java +++ b/src/main/java/com/microsoft/graph/httpcore/TelemetryHandler.java @@ -3,7 +3,6 @@ import java.io.IOException; import java.lang.reflect.Field; -import javax.annotation.Nullable; import javax.annotation.Nonnull; import com.microsoft.graph.httpcore.middlewareoption.TelemetryOptions; @@ -25,7 +24,7 @@ public class TelemetryHandler implements Interceptor{ /** * Current SDK version */ - public static final String VERSION = "v2.0.5"; + public static final String VERSION = "v2.0.6"; /** * Verion prefix */