Skip to content

Commit 3d66002

Browse files
committed
adding javaTimeModule that is required by Jackson
1 parent 7988043 commit 3d66002

File tree

7 files changed

+42
-0
lines changed

7 files changed

+42
-0
lines changed

service/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ dependencies {
4141

4242
// Use version specified in spring-boot-starter-web
4343
implementation 'com.fasterxml.jackson.core:jackson-databind'
44+
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2'
4445

4546
// WebClient
4647
implementation ('org.springframework.boot:spring-boot-starter-webflux')

service/src/main/java/uk/nhs/adaptors/gp2gp/common/configuration/ObjectMapperConfig.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.fasterxml.jackson.core.StreamReadConstraints;
44
import com.fasterxml.jackson.databind.DeserializationFeature;
55
import com.fasterxml.jackson.databind.ObjectMapper;
6+
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
67
import org.springframework.context.annotation.Bean;
78
import org.springframework.context.annotation.Configuration;
89

@@ -15,6 +16,8 @@ public ObjectMapper objectMapper() {
1516
mapper.getFactory().setStreamReadConstraints(
1617
StreamReadConstraints.builder().maxStringLength(Integer.MAX_VALUE).build());
1718
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
19+
mapper.registerModule(new JavaTimeModule());
20+
1821
return mapper;
1922
}
2023
}

service/src/main/java/uk/nhs/adaptors/gp2gp/ehr/model/EhrExtractStatus.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ public EhrExtractStatus(Instant created, Instant updatedAt, String conversationI
5858
}
5959

6060
@Data
61+
@NoArgsConstructor
6162
@AllArgsConstructor
6263
@Document
6364
@Builder
@@ -74,6 +75,7 @@ public static class EhrRequest {
7475
}
7576

7677
@Data
78+
@NoArgsConstructor
7779
@AllArgsConstructor
7880
@Document
7981
@Builder
@@ -97,6 +99,7 @@ public static class GpcDocument {
9799
}
98100

99101
@Data
102+
@NoArgsConstructor
100103
@AllArgsConstructor
101104
@Document
102105
@Builder
@@ -108,6 +111,7 @@ public static class GpcAccessStructured {
108111
}
109112

110113
@Data
114+
@NoArgsConstructor
111115
@AllArgsConstructor
112116
@Document
113117
@Builder
@@ -116,6 +120,7 @@ public static class GpcAccessDocument {
116120
private String patientId;
117121

118122
@Data
123+
@NoArgsConstructor
119124
@AllArgsConstructor
120125
@Document
121126
@Builder
@@ -127,6 +132,7 @@ public static class SentToMhs {
127132
}
128133

129134
@Data
135+
@NoArgsConstructor
130136
@AllArgsConstructor
131137
@Document
132138
@Builder
@@ -136,6 +142,7 @@ public static class EhrExtractCore {
136142
}
137143

138144
@Data
145+
@NoArgsConstructor
139146
@AllArgsConstructor
140147
@Document
141148
@Builder
@@ -145,6 +152,7 @@ public static class EhrExtractCorePending {
145152
}
146153

147154
@Data
155+
@NoArgsConstructor
148156
@AllArgsConstructor
149157
@Document
150158
@Builder
@@ -153,6 +161,7 @@ public static class EhrContinue {
153161
}
154162

155163
@Data
164+
@NoArgsConstructor
156165
@AllArgsConstructor
157166
@Document
158167
@Builder
@@ -165,6 +174,7 @@ public static class AckToRequester {
165174
}
166175

167176
@Data
177+
@NoArgsConstructor
168178
@AllArgsConstructor
169179
@Document
170180
@Builder
@@ -176,6 +186,7 @@ public static class AckPending {
176186
}
177187

178188
@Data
189+
@NoArgsConstructor
179190
@AllArgsConstructor
180191
@Document
181192
@Builder
@@ -188,6 +199,7 @@ public static class EhrReceivedAcknowledgement {
188199
private String messageRef;
189200

190201
@Data
202+
@NoArgsConstructor
191203
@AllArgsConstructor
192204
@Document
193205
@Builder
@@ -198,6 +210,7 @@ public static class ErrorDetails {
198210
}
199211

200212
@Data
213+
@NoArgsConstructor
201214
@AllArgsConstructor
202215
@Document
203216
@Builder
@@ -206,6 +219,7 @@ public static class AckHistory {
206219
}
207220

208221
@Data
222+
@NoArgsConstructor
209223
@AllArgsConstructor
210224
@Document
211225
@Builder

service/src/main/java/uk/nhs/adaptors/gp2gp/ehr/status/model/EhrStatus.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,17 @@
33
import java.time.Instant;
44
import java.util.List;
55

6+
import lombok.AllArgsConstructor;
67
import lombok.Builder;
78
import lombok.Data;
9+
import lombok.NoArgsConstructor;
810
import uk.nhs.adaptors.gp2gp.ehr.model.EhrExtractStatus;
911
import uk.nhs.adaptors.gp2gp.mhs.model.Identifier;
1012

1113
@Builder
1214
@Data
15+
@NoArgsConstructor
16+
@AllArgsConstructor
1317
public class EhrStatus {
1418

1519
private List<AttachmentStatus> attachmentStatus;
@@ -21,6 +25,8 @@ public class EhrStatus {
2125

2226
@Builder
2327
@Data
28+
@NoArgsConstructor
29+
@AllArgsConstructor
2430
public static class AttachmentStatus {
2531
private List<Identifier> identifier;
2632
private FileStatus fileStatus;

service/src/main/java/uk/nhs/adaptors/gp2gp/ehr/status/model/EhrStatusRequest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,15 @@
22

33
import java.time.Instant;
44

5+
import lombok.AllArgsConstructor;
56
import lombok.Builder;
67
import lombok.Data;
8+
import lombok.NoArgsConstructor;
79

810
@Builder
911
@Data
12+
@NoArgsConstructor
13+
@AllArgsConstructor
1014
public class EhrStatusRequest {
1115

1216
private Instant initialRequestTimestamp;

service/src/main/java/uk/nhs/adaptors/gp2gp/mhs/model/Identifier.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
package uk.nhs.adaptors.gp2gp.mhs.model;
22

3+
import lombok.AllArgsConstructor;
34
import lombok.Builder;
45
import lombok.Data;
6+
import lombok.NoArgsConstructor;
57

68
@Builder
79
@Data
10+
@NoArgsConstructor
11+
@AllArgsConstructor
812
public class Identifier {
913
private String system;
1014
private String value;

service/src/test/java/uk/nhs/adaptors/gp2gp/common/configuration/ObjectMapperConfigTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
1010
import static org.junit.jupiter.api.Assertions.assertEquals;
11+
import static org.junit.jupiter.api.Assertions.assertTrue;
1112

1213
class ObjectMapperConfigTest {
1314

@@ -26,6 +27,15 @@ void objectMapperConfigSetToWorkWithUnlimitedDataSizeTest() {
2627
context.close();
2728
}
2829

30+
@Test
31+
public void javaTimeModuleIsRegisteredTest() {
32+
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ObjectMapperConfig.class);
33+
ObjectMapper objectMapper = context.getBean(ObjectMapper.class);
34+
35+
boolean javaTimeModuleRegistered = objectMapper.getRegisteredModuleIds().contains("jackson-datatype-jsr310");
36+
assertTrue(javaTimeModuleRegistered);
37+
}
38+
2939
@Test
3040
public void objectMapperConfigIgnoresUnknownPropertiesTest() {
3141

0 commit comments

Comments
 (0)