From c935b82ff3b2575681d076fb62d9fc23ef6704c2 Mon Sep 17 00:00:00 2001 From: ErykKul Date: Thu, 17 Mar 2022 09:32:57 +0100 Subject: [PATCH 1/4] fixed unmarshaling van LocalDateTime error in the DDIExporterTest.java --- .../harvard/iq/dataverse/export/DDIExporterTest.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java b/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java index 8ce823eb600..2518e2ca335 100644 --- a/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java +++ b/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java @@ -1,6 +1,6 @@ package edu.harvard.iq.dataverse.export; -import com.google.gson.Gson; +import com.google.gson.*; import edu.harvard.iq.dataverse.ControlledVocabularyValue; import edu.harvard.iq.dataverse.DatasetFieldType; import edu.harvard.iq.dataverse.DatasetFieldType.FieldType; @@ -17,10 +17,15 @@ import java.io.File; import java.io.IOException; import java.io.StringReader; +import java.lang.reflect.Type; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.time.Instant; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.Arrays; import java.util.HashSet; import java.util.Set; @@ -42,7 +47,10 @@ public class DDIExporterTest { private static final SettingsServiceBean settingsService = Mockito.mock(SettingsServiceBean.class); private static final LicenseServiceBean licenseService = Mockito.mock(LicenseServiceBean.class); private static final MockDatasetFieldSvc datasetFieldTypeSvc = new MockDatasetFieldSvc(); - private static final Gson gson = new Gson(); + private static final Gson gson = new GsonBuilder().registerTypeAdapter(LocalDate.class, (JsonDeserializer) (JsonElement json, Type type, JsonDeserializationContext jsonDeserializationContext) -> { + Instant instant = Instant.ofEpochMilli(json.getAsJsonPrimitive().getAsLong()); + return LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); + }).create(); /* * Setup and teardown mocks for BrandingUtil for atomicity. From 9eb48b70c39b5ecc144e6f18241a26e44aabee3e Mon Sep 17 00:00:00 2001 From: ErykKul Date: Tue, 22 Mar 2022 11:17:00 +0100 Subject: [PATCH 2/4] Revert "fixed unmarshaling van LocalDateTime error in the DDIExporterTest.java" This reverts commit c935b82ff3b2575681d076fb62d9fc23ef6704c2. --- .../harvard/iq/dataverse/export/DDIExporterTest.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java b/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java index 2518e2ca335..8ce823eb600 100644 --- a/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java +++ b/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java @@ -1,6 +1,6 @@ package edu.harvard.iq.dataverse.export; -import com.google.gson.*; +import com.google.gson.Gson; import edu.harvard.iq.dataverse.ControlledVocabularyValue; import edu.harvard.iq.dataverse.DatasetFieldType; import edu.harvard.iq.dataverse.DatasetFieldType.FieldType; @@ -17,15 +17,10 @@ import java.io.File; import java.io.IOException; import java.io.StringReader; -import java.lang.reflect.Type; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.time.Instant; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.ZoneId; import java.util.Arrays; import java.util.HashSet; import java.util.Set; @@ -47,10 +42,7 @@ public class DDIExporterTest { private static final SettingsServiceBean settingsService = Mockito.mock(SettingsServiceBean.class); private static final LicenseServiceBean licenseService = Mockito.mock(LicenseServiceBean.class); private static final MockDatasetFieldSvc datasetFieldTypeSvc = new MockDatasetFieldSvc(); - private static final Gson gson = new GsonBuilder().registerTypeAdapter(LocalDate.class, (JsonDeserializer) (JsonElement json, Type type, JsonDeserializationContext jsonDeserializationContext) -> { - Instant instant = Instant.ofEpochMilli(json.getAsJsonPrimitive().getAsLong()); - return LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); - }).create(); + private static final Gson gson = new Gson(); /* * Setup and teardown mocks for BrandingUtil for atomicity. From 15074157bd625543715100ea23db3adb345fd2b1 Mon Sep 17 00:00:00 2001 From: ErykKul Date: Tue, 22 Mar 2022 11:58:35 +0100 Subject: [PATCH 3/4] Revert "Revert "fixed unmarshaling van LocalDateTime error in the DDIExporterTest.java"" This reverts commit 9eb48b70c39b5ecc144e6f18241a26e44aabee3e. --- .../harvard/iq/dataverse/export/DDIExporterTest.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java b/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java index 8ce823eb600..2518e2ca335 100644 --- a/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java +++ b/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java @@ -1,6 +1,6 @@ package edu.harvard.iq.dataverse.export; -import com.google.gson.Gson; +import com.google.gson.*; import edu.harvard.iq.dataverse.ControlledVocabularyValue; import edu.harvard.iq.dataverse.DatasetFieldType; import edu.harvard.iq.dataverse.DatasetFieldType.FieldType; @@ -17,10 +17,15 @@ import java.io.File; import java.io.IOException; import java.io.StringReader; +import java.lang.reflect.Type; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.time.Instant; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.Arrays; import java.util.HashSet; import java.util.Set; @@ -42,7 +47,10 @@ public class DDIExporterTest { private static final SettingsServiceBean settingsService = Mockito.mock(SettingsServiceBean.class); private static final LicenseServiceBean licenseService = Mockito.mock(LicenseServiceBean.class); private static final MockDatasetFieldSvc datasetFieldTypeSvc = new MockDatasetFieldSvc(); - private static final Gson gson = new Gson(); + private static final Gson gson = new GsonBuilder().registerTypeAdapter(LocalDate.class, (JsonDeserializer) (JsonElement json, Type type, JsonDeserializationContext jsonDeserializationContext) -> { + Instant instant = Instant.ofEpochMilli(json.getAsJsonPrimitive().getAsLong()); + return LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); + }).create(); /* * Setup and teardown mocks for BrandingUtil for atomicity. From ddae50f916dc550b6dd5488bf609afd5c855035e Mon Sep 17 00:00:00 2001 From: ErykKul Date: Tue, 22 Mar 2022 12:07:07 +0100 Subject: [PATCH 4/4] expanded wildcard in gson imports --- .../edu/harvard/iq/dataverse/export/DDIExporterTest.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java b/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java index 2518e2ca335..c9446d7c414 100644 --- a/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java +++ b/src/test/java/edu/harvard/iq/dataverse/export/DDIExporterTest.java @@ -1,6 +1,10 @@ package edu.harvard.iq.dataverse.export; -import com.google.gson.*; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; import edu.harvard.iq.dataverse.ControlledVocabularyValue; import edu.harvard.iq.dataverse.DatasetFieldType; import edu.harvard.iq.dataverse.DatasetFieldType.FieldType;