diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..588052b
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..fa207d4
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inbound.iml b/.idea/inbound.iml
new file mode 100644
index 0000000..7622ac0
--- /dev/null
+++ b/.idea/inbound.iml
@@ -0,0 +1,414 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..2863d37
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..875035a
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..105ac06
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/inbound.iml b/inbound.iml
new file mode 100644
index 0000000..3cd13e0
--- /dev/null
+++ b/inbound.iml
@@ -0,0 +1,395 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index bea5953..5474973 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.5.7
+ 3.0.0
com.uci
@@ -16,7 +16,7 @@
inbound
- 11
+ 17
@@ -52,7 +52,7 @@
org.projectlombok
lombok
- 1.18.12
+ 1.18.22
com.google.code.gson
@@ -149,6 +149,18 @@
guice
3.0-rc3
+
+ org.springframework.boot
+ spring-boot-properties-migrator
+ 3.0.3
+ runtime
+
+
+
+ jakarta.validation
+ jakarta.validation-api
+ 3.0.2
+
diff --git a/src/main/java/com/uci/inbound/SimpleCORSFilter.java b/src/main/java/com/uci/inbound/SimpleCORSFilter.java
index 113aefb..1ef0116 100644
--- a/src/main/java/com/uci/inbound/SimpleCORSFilter.java
+++ b/src/main/java/com/uci/inbound/SimpleCORSFilter.java
@@ -1,14 +1,14 @@
package com.uci.inbound;
import java.io.IOException;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
diff --git a/src/main/java/com/uci/inbound/cdac/CDACConverter.java b/src/main/java/com/uci/inbound/cdac/CDACConverter.java
index 48aeb89..289e91a 100644
--- a/src/main/java/com/uci/inbound/cdac/CDACConverter.java
+++ b/src/main/java/com/uci/inbound/cdac/CDACConverter.java
@@ -18,7 +18,7 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
@Slf4j
@CrossOrigin
diff --git a/src/main/java/com/uci/inbound/diksha/web/DikshaWebController.java b/src/main/java/com/uci/inbound/diksha/web/DikshaWebController.java
index f066ddb..bbc6fa7 100644
--- a/src/main/java/com/uci/inbound/diksha/web/DikshaWebController.java
+++ b/src/main/java/com/uci/inbound/diksha/web/DikshaWebController.java
@@ -12,14 +12,13 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBException;
@Slf4j
@RestController
diff --git a/src/main/java/com/uci/inbound/firebase/web/FirebaseWebController.java b/src/main/java/com/uci/inbound/firebase/web/FirebaseWebController.java
index a118e96..7054d28 100644
--- a/src/main/java/com/uci/inbound/firebase/web/FirebaseWebController.java
+++ b/src/main/java/com/uci/inbound/firebase/web/FirebaseWebController.java
@@ -19,7 +19,7 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBException;
@Slf4j
@RestController
diff --git a/src/main/java/com/uci/inbound/health/ServiceStatusController.java b/src/main/java/com/uci/inbound/health/ServiceStatusController.java
index d9de1d0..16f04df 100644
--- a/src/main/java/com/uci/inbound/health/ServiceStatusController.java
+++ b/src/main/java/com/uci/inbound/health/ServiceStatusController.java
@@ -29,7 +29,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.actuate.cassandra.CassandraHealthIndicator;
+//import org.springframework.boot.actuate.cassandra.CassandraHealthIndicator;
import org.springframework.boot.actuate.health.HealthIndicator;
import org.springframework.data.cassandra.core.CassandraOperations;
import org.springframework.http.ResponseEntity;
diff --git a/src/main/java/com/uci/inbound/incoming/Campaign.java b/src/main/java/com/uci/inbound/incoming/Campaign.java
index 704d25d..8f964d1 100644
--- a/src/main/java/com/uci/inbound/incoming/Campaign.java
+++ b/src/main/java/com/uci/inbound/incoming/Campaign.java
@@ -13,18 +13,14 @@
import com.uci.utils.kafka.SimpleProducer;
import lombok.extern.slf4j.Slf4j;
import messagerosa.core.model.*;
-import org.apache.commons.lang3.tuple.Pair;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
-import reactor.core.publisher.Mono;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBException;
import java.sql.Timestamp;
-import java.time.LocalDateTime;
import java.util.UUID;
import java.util.function.Consumer;
-import java.util.function.Function;
@Slf4j
@CrossOrigin
diff --git a/src/main/java/com/uci/inbound/incoming/GupShupOptIn.java b/src/main/java/com/uci/inbound/incoming/GupShupOptIn.java
index 5c8839a..c845a93 100644
--- a/src/main/java/com/uci/inbound/incoming/GupShupOptIn.java
+++ b/src/main/java/com/uci/inbound/incoming/GupShupOptIn.java
@@ -7,7 +7,7 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
@Slf4j
@RestController
diff --git a/src/main/java/com/uci/inbound/incoming/GupShupWhatsappConverter.java b/src/main/java/com/uci/inbound/incoming/GupShupWhatsappConverter.java
index 514844d..02790a2 100644
--- a/src/main/java/com/uci/inbound/incoming/GupShupWhatsappConverter.java
+++ b/src/main/java/com/uci/inbound/incoming/GupShupWhatsappConverter.java
@@ -1,11 +1,10 @@
package com.uci.inbound.incoming;
-import javax.validation.Valid;
-import javax.xml.bind.JAXBException;
+import jakarta.validation.Valid;
+import jakarta.xml.bind.JAXBException;
import com.uci.adapter.cdn.FileCdnFactory;
import com.uci.adapter.gs.whatsapp.GupShupWhatsappAdapter;
-import com.uci.adapter.cdn.service.SunbirdCloudMediaService;
import com.uci.adapter.utils.MediaSizeLimit;
import com.uci.dao.repository.XMessageRepository;
import com.uci.utils.BotService;
@@ -23,12 +22,6 @@
import com.uci.adapter.gs.whatsapp.GSWhatsAppMessage;
import lombok.extern.slf4j.Slf4j;
-import org.sunbird.cloud.storage.BaseStorageService;
-import org.sunbird.cloud.storage.factory.StorageConfig;
-import org.sunbird.cloud.storage.factory.StorageServiceFactory;
-import scala.Option;
-
-import java.time.LocalDateTime;
@Slf4j
@RestController
diff --git a/src/main/java/com/uci/inbound/netcore/NetcoreWhatsappConverter.java b/src/main/java/com/uci/inbound/netcore/NetcoreWhatsappConverter.java
index bd540d6..e438d7a 100644
--- a/src/main/java/com/uci/inbound/netcore/NetcoreWhatsappConverter.java
+++ b/src/main/java/com/uci/inbound/netcore/NetcoreWhatsappConverter.java
@@ -4,7 +4,6 @@
import com.uci.adapter.cdn.FileCdnFactory;
import com.uci.adapter.netcore.whatsapp.inbound.NetcoreMessageFormat;
import com.uci.adapter.netcore.whatsapp.NetcoreWhatsappAdapter;
-import com.uci.adapter.cdn.service.SunbirdCloudMediaService;
import com.uci.adapter.utils.MediaSizeLimit;
import com.uci.inbound.utils.XMsgProcessingUtil;
import com.uci.dao.repository.XMessageRepository;
@@ -21,7 +20,7 @@
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBException;
@Slf4j
@RestController
diff --git a/src/main/java/com/uci/inbound/pwa/web/PwaWebController.java b/src/main/java/com/uci/inbound/pwa/web/PwaWebController.java
index af440a2..223e2d6 100644
--- a/src/main/java/com/uci/inbound/pwa/web/PwaWebController.java
+++ b/src/main/java/com/uci/inbound/pwa/web/PwaWebController.java
@@ -13,14 +13,13 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
-import javax.xml.bind.JAXBException;
+import jakarta.xml.bind.JAXBException;
@Slf4j
@RestController
diff --git a/src/main/java/com/uci/inbound/utils/XMsgProcessingUtil.java b/src/main/java/com/uci/inbound/utils/XMsgProcessingUtil.java
index f138a1a..d245bed 100644
--- a/src/main/java/com/uci/inbound/utils/XMsgProcessingUtil.java
+++ b/src/main/java/com/uci/inbound/utils/XMsgProcessingUtil.java
@@ -3,7 +3,6 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.uci.adapter.provider.factory.AbstractProvider;
import com.uci.adapter.Request.CommonMessage;
@@ -19,14 +18,9 @@
import messagerosa.core.model.SenderReceiverInfo;
import messagerosa.core.model.XMessage;
import messagerosa.core.model.XMessagePayload;
-import messagerosa.xml.XMessageParser;
import reactor.core.publisher.Mono;
-import javax.xml.bind.JAXBException;
-
-import org.apache.commons.lang3.tuple.Pair;
-import org.springframework.data.redis.core.HashOperations;
-import org.springframework.data.redis.core.RedisTemplate;
+import jakarta.xml.bind.JAXBException;
import java.time.LocalDateTime;
import java.util.*;
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 33ff08c..a1ea4e9 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -15,20 +15,20 @@ messageReport=${KAFKA_MESSAGE_REPORT_TOPIC}
kafka.logs.topic = logs
# Cassandra
-spring.data.cassandra.contactpoints=${CASSANDRA_URL}
-spring.data.cassandra.port=${CASSANDRA_PORT}
-spring.data.cassandra.keyspace-name=${CASSANDRA_KEYSPACE}
-spring.data.cassandra.local-datacenter=datacenter1
+spring.cassandra.contactpoints=${CASSANDRA_URL}
+spring.cassandra.port=${CASSANDRA_PORT}
+spring.cassandra.keyspace-name=${CASSANDRA_KEYSPACE}
+spring.cassandra.local-datacenter=datacenter1
logging.level.root=INFO
-spring.data.cassandra.request.timeout=12000000
+spring.cassandra.request.timeout=12000000
spring.data.cassandra.connect-timeout-millis=1000000
spring.data.cassandra.read-timeout-millis=1000000
spring.data.cassandra.connect-timeout=1000000
spring.data.cassandra.read-timeout=1000000
-spring.data.cassandra.pool.heartbeat-interval=50s
-spring.data.cassandra.pool.max-queue-size=20000
-spring.data.cassandra.pool.idle-timeout=50s
-spring.data.cassandra.pool.pool-timeout=50s
+spring.cassandra.pool.heartbeat-interval=50s
+spring.cassandra.request.throttler.max-queue-size=20000
+spring.cassandra.pool.idle-timeout=50s
+spring.cassandra.pool.pool-timeout=50s
# For async timeout exception
spring.mvc.async.request-timeout=-1
@@ -62,15 +62,15 @@ caffeine.cache.exprie.duration.seconds=${CAFFEINE_CACHE_EXPIRE_DURATION:#{300}}
#Redis
spring.redis.db=${REDIS_DB_INDEX:#{1}}
-spring.redis.host=${REDIS_HOST:#{"localhost"}}
+spring.data.redis.host=${REDIS_HOST:#{"localhost"}}
spring.redis.pool.max-active=8 # Max number of connections that can be allocated by the pool at a given time. Use a negative value for no limit.
spring.redis.pool.max-idle=8 # Max number of "idle" connections in the pool. Use a negative value to indicate an unlimited number of idle connections.
spring.redis.pool.max-wait=-1 # Maximum amount of time (in milliseconds) a connection allocation should block before throwing an exception when the pool is exhausted. Use a negative value to block indefinitely.
spring.redis.pool.min-idle=0 # Target for the minimum number of idle connections to maintain in the pool. This setting only has an effect if it is positive.
spring.redis.number.port=${REDIS_PORT:#{6379}}
-spring.redis.sentinel.master= # Name of Redis server.
-spring.redis.sentinel.nodes= # Comma-separated list of host:port pairs.
-spring.redis.timeout=0
+spring.data.redis.sentinel.master= # Name of Redis server.
+spring.data.redis.sentinel.nodes= # Comma-separated list of host:port pairs.
+spring.data.redis.timeout=0
#Env
spring.profile.env=${ENV}
@@ -107,3 +107,4 @@ sunbird.cloud.media.storage.key=${SUNBIRD_CLOUD_MEDIA_STORAGE_KEY:#{""}}
sunbird.cloud.media.storage.secret=${SUNBIRD_CLOUD_MEDIA_STORAGE_SECRET:#{""}}
sunbird.cloud.media.storage.url=${SUNBIRD_CLOUD_MEDIA_STORAGE_URL:#{""}}
sunbird.cloud.media.storage.container=${SUNBIRD_CLOUD_MEDIA_STORAGE_CONTAINER:#{""}}
+