From a573472f712096302051a6a08a0a00825ff18819 Mon Sep 17 00:00:00 2001 From: Pierre Date: Fri, 9 Dec 2022 15:14:44 +0100 Subject: [PATCH 1/2] Add test for serialisation inclusion --- .../frostserver/serialise/SerialisationTest.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/FROST-Server.Core/src/test/java/de/fraunhofer/iosb/ilt/frostserver/serialise/SerialisationTest.java b/FROST-Server.Core/src/test/java/de/fraunhofer/iosb/ilt/frostserver/serialise/SerialisationTest.java index c513bab01..96dda7e8b 100644 --- a/FROST-Server.Core/src/test/java/de/fraunhofer/iosb/ilt/frostserver/serialise/SerialisationTest.java +++ b/FROST-Server.Core/src/test/java/de/fraunhofer/iosb/ilt/frostserver/serialise/SerialisationTest.java @@ -26,6 +26,8 @@ import de.fraunhofer.iosb.ilt.frostserver.util.SimpleJsonMapper; import java.io.IOException; import java.util.Date; +import java.util.HashMap; +import java.util.Map; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.BeforeAll; @@ -62,6 +64,17 @@ void serialiseDate() throws IOException { assertTrue(jsonEqual(expResult, result), "Date not serialised correctly."); } + @Test + void serialiseEmptyProperties() throws IOException { + String expResult = "{\"foo\":\"bar\"}"; + Map props = new HashMap<>(); + props.put("foo","bar"); + props.put("nullable",null); + props.put("empty",""); + final String result = JsonWriter.writeObject(props); + assertTrue(jsonEqual(expResult, result), "Empty properties not serialised correctly: " + result); + } + @Test void deSerialiseDate() throws IOException { String input = "\"1987-06-05\""; From aa0e73caecfa274fac1972ef64ea3afe66130ce7 Mon Sep 17 00:00:00 2001 From: Pierre Date: Thu, 8 Dec 2022 17:00:27 +0100 Subject: [PATCH 2/2] Fix #1328 null properties in select --- .../iosb/ilt/frostserver/json/serialize/JsonWriter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FROST-Server.Core/src/main/java/de/fraunhofer/iosb/ilt/frostserver/json/serialize/JsonWriter.java b/FROST-Server.Core/src/main/java/de/fraunhofer/iosb/ilt/frostserver/json/serialize/JsonWriter.java index bfcc05ba8..e48e7aa08 100644 --- a/FROST-Server.Core/src/main/java/de/fraunhofer/iosb/ilt/frostserver/json/serialize/JsonWriter.java +++ b/FROST-Server.Core/src/main/java/de/fraunhofer/iosb/ilt/frostserver/json/serialize/JsonWriter.java @@ -60,7 +60,7 @@ private static synchronized void initObjectMapper() { private static ObjectMapper createObjectMapper() { ObjectMapper mapper = new ObjectMapper(); - mapper.setSerializationInclusion(JsonInclude.Include.ALWAYS); + mapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY); mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); mapper.disable(SerializationFeature.FLUSH_AFTER_WRITE_VALUE);