From be8739c167e60137139e593dc284066764511fca Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Thu, 21 Sep 2023 10:36:37 +0200 Subject: [PATCH] Utilizzato lo stesso Gson Builder per Retrofit e altro --- .idea/deploymentTargetDropDown.xml | 17 +++++++++++ .../core/rest/RESTBuilder.java | 18 ++---------- .../rest/consumers/EntityRESTConsumer.java | 3 +- .../core/utility/UtilityGson.java | 28 +++++++++++++++++++ 4 files changed, 49 insertions(+), 17 deletions(-) create mode 100644 .idea/deploymentTargetDropDown.xml create mode 100644 app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityGson.java diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml new file mode 100644 index 00000000..f0561034 --- /dev/null +++ b/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/RESTBuilder.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/RESTBuilder.java index 87245d05..cbc9a42d 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/RESTBuilder.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/RESTBuilder.java @@ -1,24 +1,17 @@ package it.integry.integrywmsnative.core.rest; import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import java.lang.reflect.Modifier; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; -import java.time.LocalDate; -import java.time.LocalDateTime; import java.util.concurrent.TimeUnit; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; -import it.integry.integrywmsnative.core.rest.deserializer.LocalDateDeserializer; -import it.integry.integrywmsnative.core.rest.deserializer.LocalDateTimeDeserializer; -import it.integry.integrywmsnative.core.rest.serializer.LocalDateSerializer; -import it.integry.integrywmsnative.core.rest.serializer.LocalDateTimeSerializer; import it.integry.integrywmsnative.core.settings.SettingsManager; +import it.integry.integrywmsnative.core.utility.UtilityGson; import okhttp3.OkHttpClient; import retrofit2.Retrofit; import retrofit2.converter.gson.GsonConverterFactory; @@ -66,14 +59,7 @@ public class RESTBuilder { String endpoint = protocol + "://" + host + (port > 0 ? ":" + port : "") + "/" + (addEmsApi ? "ems-api/" : ""); - Gson gson = new GsonBuilder() - .setDateFormat("dd/MM/yyyy HH:mm:ss") - .excludeFieldsWithModifiers(Modifier.TRANSIENT) - .registerTypeAdapter(LocalDate.class, new LocalDateDeserializer()) - .registerTypeAdapter(LocalDate.class, new LocalDateSerializer()) - .registerTypeAdapter(LocalDateTime.class, new LocalDateTimeDeserializer()) - .registerTypeAdapter(LocalDateTime.class, new LocalDateTimeSerializer()) - .create(); + Gson gson = UtilityGson.createObject(); Retrofit retrofit = new Retrofit.Builder().addConverterFactory(GsonConverterFactory.create(gson)).baseUrl(endpoint).client(client).build(); diff --git a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/EntityRESTConsumer.java b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/EntityRESTConsumer.java index 832f293d..15a94255 100644 --- a/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/EntityRESTConsumer.java +++ b/app/src/main/java/it/integry/integrywmsnative/core/rest/consumers/EntityRESTConsumer.java @@ -15,6 +15,7 @@ import it.integry.integrywmsnative.core.model.EntityBase; import it.integry.integrywmsnative.core.rest.RESTBuilder; import it.integry.integrywmsnative.core.rest.model.EsitoType; import it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse; +import it.integry.integrywmsnative.core.utility.UtilityGson; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -83,7 +84,7 @@ public class EntityRESTConsumer extends _BaseRESTConsumer { if (response.body() != null) { ArrayList responseList = new ArrayList<>(); - Gson gson = new Gson(); + Gson gson = UtilityGson.createObject(); // Type typeOfObjectsList = new TypeToken() {}.getType(); for (ServiceRESTResponse jsonSingleObject : response.body()) { diff --git a/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityGson.java b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityGson.java new file mode 100644 index 00000000..699260d8 --- /dev/null +++ b/app/src/main/java/it/integry/integrywmsnative/core/utility/UtilityGson.java @@ -0,0 +1,28 @@ +package it.integry.integrywmsnative.core.utility; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import java.lang.reflect.Modifier; +import java.time.LocalDate; +import java.time.LocalDateTime; + +import it.integry.integrywmsnative.core.rest.deserializer.LocalDateDeserializer; +import it.integry.integrywmsnative.core.rest.deserializer.LocalDateTimeDeserializer; +import it.integry.integrywmsnative.core.rest.serializer.LocalDateSerializer; +import it.integry.integrywmsnative.core.rest.serializer.LocalDateTimeSerializer; + +public class UtilityGson { + + public static Gson createObject() { + return new GsonBuilder() + .setDateFormat("dd/MM/yyyy HH:mm:ss") + .excludeFieldsWithModifiers(Modifier.TRANSIENT) + .registerTypeAdapter(LocalDate.class, new LocalDateDeserializer()) + .registerTypeAdapter(LocalDate.class, new LocalDateSerializer()) + .registerTypeAdapter(LocalDateTime.class, new LocalDateTimeDeserializer()) + .registerTypeAdapter(LocalDateTime.class, new LocalDateTimeSerializer()) + .create(); + } + +}