This is an automated email from the git hooks/post-receive script. New commit to branch feature/8124-VerifConfigurationSource in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 56e84cc52c8e0e14c044a37dee916213c8330324 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Mar 16 13:50:46 2016 +0100 Ajoutd'un adaptateur Gson pour les form (see #8124). --- .../ird/observe/services/dto/gson/FormAdapter.java | 38 ++++++++++++++++++++++ .../services/dto/gson/ObserveDtoGsonSupplier.java | 3 +- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/FormAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/FormAdapter.java new file mode 100644 index 0000000..4b82b44 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/FormAdapter.java @@ -0,0 +1,38 @@ +package fr.ird.observe.services.dto.gson; + +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.IdDto; + +import java.lang.reflect.Type; + +/** + * @author Sylvain Bavencoff - bavencoff@codelutin.com + */ +public class FormAdapter<R extends IdDto> implements JsonDeserializer<Form<R>> { + + @Override + public Form<R> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + + JsonObject jsonForm = json.getAsJsonObject(); + + JsonElement jsonType = jsonForm.get(Form.PROPERTY_TYPE); + Class<R> type = context.deserialize(jsonType, Class.class); + + JsonElement jsonObject = jsonForm.get(Form.PROPERTY_OBJECT); + R object = context.deserialize(jsonObject, type); + + JsonElement jsonRef = jsonForm.get(Form.PROPERTY_REFERENTIAL_REFERENCE_SETS_REQUEST_NAME); + String referentialReferenceSetsRequestName = context.deserialize(jsonRef, String.class); + + JsonElement jsonData = jsonForm.get(Form.PROPERTY_DATA_REFERENCE_SETS_REQUEST_NAME); + String dataReferenceSetsRequestName = context.deserialize(jsonData, String.class); + + return Form.newFormDto(type, object, referentialReferenceSetsRequestName, dataReferenceSetsRequestName); + + } +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java index f385d6b..6d84326 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java @@ -30,6 +30,7 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.actions.report.ReportVariable; import fr.ird.observe.services.dto.gson.reference.DataReferenceAdapter; import fr.ird.observe.services.dto.gson.reference.DataReferenceSetAdapter; @@ -104,7 +105,7 @@ public class ObserveDtoGsonSupplier implements Supplier<Gson> { gsonBuilder.registerTypeAdapter(DataReferenceSet.class, new DataReferenceSetAdapter()); gsonBuilder.registerTypeAdapter(ReferentialReferenceSet.class, new ReferentialReferenceSetAdapter()); -// gsonBuilder.registerTypeAdapter(FormDto.class, new FormDtoAdapter()); + gsonBuilder.registerTypeAdapter(Form.class, new FormAdapter()); gsonBuilder.registerTypeAdapter(ReportVariable.class, new ReportVariableAdapter()); gsonBuilder.registerTypeAdapter(Version.class, new VersionAdapter()); gsonBuilder.enableComplexMapKeySerialization(); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm