From 7a5cfd1078def47210c75a9de3d52950115412e7 Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Tue, 23 Dec 2025 17:57:45 +0530 Subject: [PATCH 1/2] change data type of isDeactivate key --- .../iemr/common/identity/data/rmnch/RMNCHHouseHoldDetails.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHHouseHoldDetails.java b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHHouseHoldDetails.java index 5b8088a..a6d9856 100644 --- a/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHHouseHoldDetails.java +++ b/src/main/java/com/iemr/common/identity/data/rmnch/RMNCHHouseHoldDetails.java @@ -361,6 +361,6 @@ public class RMNCHHouseHoldDetails { @Expose @Column(name = "isDeactivate") - private String isDeactivate; + private Boolean isDeactivate; } From e0a1f9a7b8f2477b304cbb768f5c8caaff297fc2 Mon Sep 17 00:00:00 2001 From: Saurav Mishra Date: Mon, 29 Dec 2025 13:42:02 +0530 Subject: [PATCH 2/2] add bool converter --- .../identity/utils/BooleanTypeAdapter.java | 37 +++++++++++++++++++ .../identity/utils/mapper/InputMapper.java | 3 ++ 2 files changed, 40 insertions(+) create mode 100644 src/main/java/com/iemr/common/identity/utils/BooleanTypeAdapter.java diff --git a/src/main/java/com/iemr/common/identity/utils/BooleanTypeAdapter.java b/src/main/java/com/iemr/common/identity/utils/BooleanTypeAdapter.java new file mode 100644 index 0000000..4c5ebe4 --- /dev/null +++ b/src/main/java/com/iemr/common/identity/utils/BooleanTypeAdapter.java @@ -0,0 +1,37 @@ +package com.iemr.common.identity.utils; + +import com.google.gson.TypeAdapter; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonToken; +import com.google.gson.stream.JsonWriter; + +import java.io.IOException; + +public class BooleanTypeAdapter extends TypeAdapter { + + @Override + public void write(JsonWriter out, Boolean value) throws IOException { + if (value == null) { + out.nullValue(); + } else { + out.value(value); + } + } + + @Override + public Boolean read(JsonReader in) throws IOException { + JsonToken token = in.peek(); + + if (token == JsonToken.BOOLEAN) { + return in.nextBoolean(); + } + if (token == JsonToken.STRING) { + return Boolean.parseBoolean(in.nextString()); + } + if (token == JsonToken.NUMBER) { + return in.nextInt() == 1; + } + in.skipValue(); + return false; + } + } diff --git a/src/main/java/com/iemr/common/identity/utils/mapper/InputMapper.java b/src/main/java/com/iemr/common/identity/utils/mapper/InputMapper.java index 4c8db37..48dba36 100644 --- a/src/main/java/com/iemr/common/identity/utils/mapper/InputMapper.java +++ b/src/main/java/com/iemr/common/identity/utils/mapper/InputMapper.java @@ -21,6 +21,7 @@ */ package com.iemr.common.identity.utils.mapper; +import com.iemr.common.identity.utils.BooleanTypeAdapter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; @@ -48,6 +49,8 @@ public InputMapper() { if (builder == null) { builder = new GsonBuilder(); builder.setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS"); + builder.registerTypeAdapter(Boolean.class, new BooleanTypeAdapter()); + builder.registerTypeAdapter(boolean.class, new BooleanTypeAdapter()); } }