Skip to content

Commit b3f665f

Browse files
committed
avniproject/avni-server#836 | Fix issues with invoking rwb users sendMsg api
1 parent 1514764 commit b3f665f

File tree

17 files changed

+34
-91
lines changed

17 files changed

+34
-91
lines changed

avni/src/main/java/org/avni_integration_service/avni/repository/AvniMessageRepository.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public AvniMessageRepository(AvniHttpClient avniHttpClient) {
2121
}
2222

2323
public String sendMessage(ManualMessageContract manualMessageContract) {
24-
ResponseEntity<String> responseEntity = avniHttpClient.post("/sendMsg", manualMessageContract, String.class);
24+
ResponseEntity<String> responseEntity = avniHttpClient.post("/web/message/sendMsg", manualMessageContract, String.class);
2525
if (responseEntity.getStatusCode().is2xxSuccessful()) {
2626
return responseEntity.getBody();
2727
}

bahmni/src/main/java/org/avni_integration_service/bahmni/client/HttpClient.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import java.io.IOException;
1111
import java.net.URI;
1212

13-
import static org.avni_integration_service.bahmni.client.ObjectMapperRepository.objectMapper;
13+
import static org.avni_integration_service.util.ObjectJsonMapper.objectMapper;
1414

1515
public class HttpClient {
1616
private Authenticator authenticator;

bahmni/src/main/java/org/avni_integration_service/bahmni/client/ObjectMapperRepository.java

-7
This file was deleted.

integration-data/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ dependencies {
5959
// implementation group: 'mysql', name: 'mysql-connector-java', version: '5.1.6'
6060

6161
implementation "log4j:log4j:1.2.17"
62-
implementation "joda-time:joda-time:2.9.4"
62+
implementation "joda-time:joda-time:2.10.10"
6363
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.6'
6464

6565
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
INSERT INTO integration_system (id, name, system_type, uuid, is_voided) VALUES (14, 'rwb', 'rwb', 'a6d29f03-0a6c-49b6-88ba-533ee5deb4e6', false);

integrator/build.gradle

+2
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ dependencies {
5555
implementation 'software.amazon.awssdk:cognitoidentity'
5656
implementation platform('com.amazonaws:aws-java-sdk-bom:1.11.939')
5757
implementation 'com.amazonaws:aws-java-sdk-cognitoidp'
58+
implementation "joda-time:joda-time:2.10.10"
59+
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.6'
5860

5961
runtimeOnly group: 'mysql', name: 'mysql-connector-java', version: '5.1.6'
6062

integrator/src/main/java/org/avni_integration_service/config/AvniSpringConfiguration.java

+9
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package org.avni_integration_service.config;
22

3+
import com.fasterxml.jackson.databind.ObjectMapper;
4+
import org.avni_integration_service.util.ObjectJsonMapper;
35
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
46
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
57
import org.springframework.context.annotation.Bean;
68
import org.springframework.context.annotation.Configuration;
9+
import org.springframework.context.annotation.Primary;
710
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
811

912
@Configuration
@@ -14,4 +17,10 @@ public class AvniSpringConfiguration {
1417
WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> enableDefaultServlet() {
1518
return (factory) -> factory.setRegisterDefaultServlet(true);
1619
}
20+
21+
@Bean
22+
@Primary
23+
public ObjectMapper objectMapper() {
24+
return ObjectJsonMapper.objectMapper;
25+
}
1726
}

integrator/src/main/java/org/avni_integration_service/service/BundleService.java

+4-7
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.fasterxml.jackson.core.PrettyPrinter;
44
import com.fasterxml.jackson.core.util.DefaultPrettyPrinter;
5-
import com.fasterxml.jackson.databind.ObjectMapper;
65
import org.apache.log4j.Logger;
76
import org.avni_integration_service.integration_data.domain.IntegrationSystem;
87
import org.avni_integration_service.integration_data.domain.MappingGroup;
@@ -17,7 +16,6 @@
1716
import org.avni_integration_service.integration_data.repository.MappingTypeRepository;
1817
import org.avni_integration_service.integration_data.repository.config.IntegrationSystemConfigRepository;
1918
import org.avni_integration_service.util.BundleFileName;
20-
import org.avni_integration_service.util.ObjectMapperSingleton;
2119
import org.avni_integration_service.web.contract.ErrorTypeContract;
2220
import org.avni_integration_service.web.contract.IntegrationSystemConfigContract;
2321
import org.avni_integration_service.web.contract.MappingMetadataContract;
@@ -33,6 +31,8 @@
3331
import java.util.zip.ZipInputStream;
3432
import java.util.zip.ZipOutputStream;
3533

34+
import static org.avni_integration_service.util.ObjectJsonMapper.objectMapper;
35+
3636
@Service
3737
public class BundleService {
3838
private static final Logger logger = Logger.getLogger(BundleService.class);
@@ -55,16 +55,14 @@ public class BundleService {
5555
add(BundleFileName.INTEGRATION_SYSTEM_CONFIG);
5656
}};
5757
private static final int BUFFER_SIZE = 2048;
58-
private final ObjectMapper objectMapper;
59-
6058

6159
@Autowired
6260
public BundleService(MappingMetaDataRepository mappingMetaDataRepository, MappingGroupRepository mappingGroupRepository,
6361
MappingTypeRepository mappingTypeRepository, ErrorTypeRepository errorTypeRepository,
6462
IntegrationSystemConfigRepository integrationSystemConfigRepository,
6563
MappingTypeService mappingTypeService, MappingGroupService mappingGroupService,
6664
MappingMetadataService mappingMetadataService, ErrorTypeService errorTypeService,
67-
IntegrationSystemConfigService integrationSystemConfigService, ObjectMapper objectMapper) {
65+
IntegrationSystemConfigService integrationSystemConfigService) {
6866
this.mappingMetaDataRepository = mappingMetaDataRepository;
6967
this.mappingGroupRepository = mappingGroupRepository;
7068
this.mappingTypeRepository = mappingTypeRepository;
@@ -75,7 +73,6 @@ public BundleService(MappingMetaDataRepository mappingMetaDataRepository, Mappin
7573
this.mappingMetadataService = mappingMetadataService;
7674
this.errorTypeService = errorTypeService;
7775
this.integrationSystemConfigService = integrationSystemConfigService;
78-
this.objectMapper = objectMapper;
7976
}
8077

8178
public void exportMappingMetadataAsJsonToZip(IntegrationSystem integrationSystem, ZipOutputStream zos) throws IOException {
@@ -232,7 +229,7 @@ private void addFileToZip(ZipOutputStream zos, String fileName, Object fileConte
232229
zos.putNextEntry(entry);
233230
if (fileContent != null) {
234231
PrettyPrinter prettyPrinter = new DefaultPrettyPrinter();
235-
byte[] bytes = ObjectMapperSingleton.getObjectMapper().writer(prettyPrinter).writeValueAsBytes(fileContent);
232+
byte[] bytes = objectMapper.writer(prettyPrinter).writeValueAsBytes(fileContent);
236233
zos.write(bytes);
237234
}
238235
zos.closeEntry();

integrator/src/main/java/org/avni_integration_service/util/ObjectMapperSingleton.java

-16
This file was deleted.

integrator/src/main/resources/integrator-application.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
spring.config.import=classpath:/int-data.application.properties,classpath:/bahmni-application.properties,classpath:/avni-application.properties,classpath:/goonj-application.properties,classpath:/amrit-application.properties,classpath:/util-application.properties,classpath:/power-application.properties,classpath:/lahi-application.properties
1+
spring.config.import=classpath:/int-data.application.properties,classpath:/bahmni-application.properties,classpath:/avni-application.properties,classpath:/goonj-application.properties,classpath:/amrit-application.properties,classpath:/util-application.properties,classpath:/power-application.properties,classpath:/lahi-application.properties,classpath:/rwb-application.properties
22

33
# Network
44
server.port=${AVNI_INT_SERVER_PORT:6013}

integrator/src/test/resources/application.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
spring.config.import=classpath:/int-data.application.properties,classpath:/bahmni-application.properties,classpath:/avni-application.properties,classpath:/goonj-application.properties,classpath:/amrit-application.properties,classpath:/util-application.properties,classpath:/power-application.properties,classpath:/lahi-application.properties
1+
spring.config.import=classpath:/int-data.application.properties,classpath:/bahmni-application.properties,classpath:/avni-application.properties,classpath:/goonj-application.properties,classpath:/amrit-application.properties,classpath:/util-application.properties,classpath:/power-application.properties,classpath:/lahi-application.properties,classpath:/rwb-application.properties
22

33
# Spring
44
spring.profiles.active=test

metadata-migrator/src/main/java/org/avni_integration_service/migrator/repository/BahmniConfigurationRepository.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import org.avni_integration_service.migrator.domain.OpenMRSForm;
55
import org.avni_integration_service.migrator.domain.StandardMappings;
66
import org.avni_integration_service.integration_data.util.FileUtil;
7-
import org.avni_integration_service.migrator.util.ObjectJsonMapper;
7+
import org.avni_integration_service.util.ObjectJsonMapper;
88
import org.springframework.beans.factory.annotation.Autowired;
99
import org.springframework.stereotype.Component;
1010

metadata-migrator/src/main/java/org/avni_integration_service/migrator/util/ObjectJsonMapper.java

-48
This file was deleted.

rwb/src/main/java/org/avni_integration_service/rwb/config/LahiEntityType.java

-5
This file was deleted.

rwb/src/main/java/org/avni_integration_service/rwb/job/IntegrationTask.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
import java.util.StringTokenizer;
77

88
public enum IntegrationTask {
9-
STUDENT_FETCH;
9+
// TODO: 24/12/24 Use IntegrationTask to filter if more than one rwb int task is present
10+
USER_NUDGE;
1011
public static List<IntegrationTask> getTasks(String taskNames) {
1112
if (taskNames.equals("all"))
1213
return Arrays.asList(IntegrationTask.values());

util/build.gradle

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ dependencies {
2424
implementation "log4j:log4j:1.2.17"
2525
implementation 'com.bugsnag:bugsnag-spring:3.6.3'
2626
testImplementation 'org.springframework.boot:spring-boot-starter-test'
27+
implementation "joda-time:joda-time:2.10.10"
28+
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.6'
2729
}
2830

2931
test {

util/src/main/java/org/avni_integration_service/util/ObjectJsonMapper.java

+8-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
import com.fasterxml.jackson.core.JsonProcessingException;
44
import com.fasterxml.jackson.core.type.TypeReference;
5+
import com.fasterxml.jackson.databind.DeserializationFeature;
56
import com.fasterxml.jackson.databind.ObjectMapper;
7+
import com.fasterxml.jackson.databind.SerializationFeature;
8+
import com.fasterxml.jackson.datatype.joda.JodaModule;
69
import org.apache.log4j.Logger;
710

811
import java.io.File;
@@ -15,7 +18,11 @@
1518

1619
public class ObjectJsonMapper {
1720
private static final Logger logger = Logger.getLogger(ObjectJsonMapper.class);
18-
private static final ObjectMapper objectMapper = new ObjectMapper();
21+
public static final ObjectMapper objectMapper = new ObjectMapper()
22+
.registerModule(new JodaModule())
23+
.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)
24+
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
25+
.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
1926

2027
public static String writeValueAsString(Object o) {
2128
try {

0 commit comments

Comments
 (0)