Skip to content

Commit d772567

Browse files
committed
Updated based on PR feedback
1 parent 161fa3e commit d772567

File tree

3 files changed

+21
-16
lines changed

3 files changed

+21
-16
lines changed

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,19 +65,19 @@ public class DefaultSerializer implements ISerializer {
6565
* @param logger the logger
6666
*/
6767
public DefaultSerializer(@Nonnull final ILogger logger) {
68-
this(false, logger);
68+
this(logger, false);
6969
}
7070

7171

7272
/**
7373
* Creates a DefaultSerializer with an option to enable serializing of the null values.
7474
*
75-
* @param serializeNulls the setting of whether or not to serialize the null values in the JSON object
7675
* @param logger the logger
76+
* @param serializeNulls the setting of whether or not to serialize the null values in the JSON object
7777
*/
78-
public DefaultSerializer(@Nonnull final boolean serializeNulls, @Nonnull final ILogger logger) {
78+
public DefaultSerializer(@Nonnull final ILogger logger, @Nonnull final boolean serializeNulls) {
7979
this.logger = Objects.requireNonNull(logger, "parameter logger cannot be null");
80-
this.gson = GsonFactory.getGsonInstance(serializeNulls, logger);
80+
this.gson = GsonFactory.getGsonInstance(logger, serializeNulls);
8181
}
8282

8383
@Override

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

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,10 @@
4444
import java.util.Arrays;
4545
import java.util.EnumSet;
4646
import java.util.GregorianCalendar;
47+
import java.util.Objects;
4748
import java.util.UUID;
4849

50+
import javax.annotation.Nonnull;
4951
import javax.xml.datatype.DatatypeFactory;
5052
import javax.xml.datatype.Duration;
5153

@@ -68,19 +70,21 @@ private GsonFactory() {
6870
* @param logger the logger
6971
* @return the new instance
7072
*/
71-
public static Gson getGsonInstance(final ILogger logger) {
72-
return getGsonInstance(false, logger);
73+
@Nonnull
74+
public static Gson getGsonInstance(@Nonnull final ILogger logger) {
75+
return getGsonInstance(logger, false);
7376
}
7477

7578
/**
7679
* Creates an instance of GSON
7780
*
78-
* @param serializeNulls the setting of whether or not to serialize the null values in the JSON object
7981
* @param logger the logger
82+
* @param serializeNulls the setting of whether or not to serialize the null values in the JSON object
8083
* @return the new instance
8184
*/
82-
public static Gson getGsonInstance(final boolean serializeNulls, final ILogger logger) {
83-
85+
@Nonnull
86+
public static Gson getGsonInstance(@Nonnull final ILogger logger, final boolean serializeNulls) {
87+
Objects.requireNonNull(logger, "parameter logger cannot be null");
8488
final JsonSerializer<OffsetDateTime> calendarJsonSerializer = new JsonSerializer<OffsetDateTime>() {
8589
@Override
8690
public JsonElement serialize(final OffsetDateTime src,
@@ -340,7 +344,7 @@ public Float deserialize(final JsonElement json,
340344
};
341345

342346
GsonBuilder builder = new GsonBuilder();
343-
if(serializeNulls) {
347+
if (serializeNulls) {
344348
builder.serializeNulls();
345349
}
346350
return builder

src/test/java/com/microsoft/graph/serializer/DefaultSerializerTest.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.mockito.Mockito;
1111

1212
import static org.junit.jupiter.api.Assertions.assertEquals;
13+
import static org.junit.jupiter.api.Assertions.assertNotNull;
1314
import static org.junit.jupiter.api.Assertions.assertTrue;
1415
import static org.mockito.Mockito.mock;
1516

@@ -18,7 +19,6 @@ public class DefaultSerializerTest {
1819
final ILogger logger = mock(ILogger.class);
1920
Gson gson = GsonFactory.getGsonInstance(logger);
2021
DefaultSerializer defaultSerializer = new DefaultSerializer(logger);
21-
DefaultSerializer defaultNullSerializer = new DefaultSerializer(true, logger);
2222

2323
@Test
2424
public void testDeserializationOfObjectWithODataTypeProperty() {
@@ -42,11 +42,11 @@ public void testDefaultSerializerDoesNotIncludeNullValuesByDefault() {
4242
"{\"@odata.type\": \"#microsoft.graph.messageStub\", \"body\": null}";
4343

4444
// When
45-
DefaultSerializer nonNullSerializer = new DefaultSerializer(logger);
46-
MessageStub message = nonNullSerializer.deserializeObject(testJsonResponse, MessageStub.class);
45+
final MessageStub message = defaultSerializer.deserializeObject(testJsonResponse, MessageStub.class);
4746

4847
// Then
49-
assertEquals("{}", nonNullSerializer.serializeObject(message));
48+
assertNotNull(message);
49+
assertEquals("{}", defaultSerializer.serializeObject(message));
5050
}
5151

5252
@Test
@@ -56,10 +56,11 @@ public void testDefaultNullSerializerDoesIncludeNullValues() {
5656
"{\"@odata.type\": \"#microsoft.graph.messageStub\",\"body\":null}";
5757

5858
// When
59-
DefaultSerializer nullSerializer = new DefaultSerializer(true, logger);
60-
MessageStub message = nullSerializer.deserializeObject(testJsonResponse, MessageStub.class);
59+
final DefaultSerializer nullSerializer = new DefaultSerializer(logger, true);
60+
final MessageStub message = nullSerializer.deserializeObject(testJsonResponse, MessageStub.class);
6161

6262
// Then
63+
assertNotNull(message);
6364
assertEquals("{\"body\":null,\"reaction\":null}", nullSerializer.serializeObject(message));
6465
}
6566

0 commit comments

Comments
 (0)