Skip to content

Commit 4c69378

Browse files
Migrate from Jackson 2 to Jackson 3 by updating imports and exception handling in service and controller classes
1 parent f313d88 commit 4c69378

4 files changed

Lines changed: 26 additions & 25 deletions

File tree

extensions/reports/sources/core/src/main/java/tools/dynamia/modules/reports/core/services/impl/ReportsServiceImpl.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package tools.dynamia.modules.reports.core.services.impl;
22

3-
import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
4-
import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
3+
54
import jakarta.persistence.EntityManager;
65
import jakarta.persistence.Query;
76
import org.hibernate.Hibernate;
@@ -22,6 +21,8 @@
2221
import tools.dynamia.modules.reports.core.domain.ReportFilter;
2322
import tools.dynamia.modules.reports.core.domain.ReportGroup;
2423
import tools.dynamia.modules.reports.core.services.ReportsService;
24+
import tools.jackson.databind.ser.std.SimpleBeanPropertyFilter;
25+
import tools.jackson.databind.ser.std.SimpleFilterProvider;
2526

2627
import java.io.File;
2728
import java.io.IOException;

extensions/security/sources/core/src/main/java/tools/dynamia/modules/security/domain/User.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616

1717
import com.fasterxml.jackson.annotation.JsonIgnore;
1818
import com.fasterxml.jackson.annotation.JsonInclude;
19-
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
20-
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
19+
2120
import jakarta.persistence.*;
2221
import jakarta.validation.constraints.NotNull;
2322
import jakarta.validation.constraints.Size;
@@ -37,6 +36,8 @@
3736
import tools.dynamia.modules.saas.api.AccountAware;
3837
import tools.dynamia.modules.security.services.JWTService;
3938
import tools.dynamia.modules.security.services.UserService;
39+
import tools.jackson.databind.annotation.JsonDeserialize;
40+
import tools.jackson.databind.annotation.JsonSerialize;
4041

4142
import java.time.Duration;
4243
import java.util.ArrayList;

platform/core/commons/src/main/java/tools/dynamia/commons/StringPojoParser.java

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717

1818
package tools.dynamia.commons;
1919

20-
import com.fasterxml.jackson.core.JsonProcessingException;
21-
import com.fasterxml.jackson.core.type.TypeReference;
22-
import com.fasterxml.jackson.databind.JavaType;
23-
import com.fasterxml.jackson.databind.SerializationFeature;
24-
import com.fasterxml.jackson.databind.json.JsonMapper;
25-
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
26-
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
20+
21+
import tools.jackson.core.JacksonException;
22+
import tools.jackson.core.type.TypeReference;
23+
import tools.jackson.databind.JavaType;
24+
import tools.jackson.databind.SerializationFeature;
25+
import tools.jackson.databind.json.JsonMapper;
26+
import tools.jackson.dataformat.xml.XmlMapper;
2727

2828
import java.io.IOException;
2929
import java.util.List;
@@ -54,7 +54,7 @@ public static String convertMapToJson(Map map) {
5454
}
5555
var jsonMapper = createJsonMapper();
5656
return jsonMapper.writeValueAsString(map);
57-
} catch (JsonProcessingException e) {
57+
} catch (JacksonException e) {
5858
throw new JsonParsingException(e);
5959
}
6060
}
@@ -68,7 +68,6 @@ public static JsonMapper createJsonMapper() {
6868
return JsonMapper.builder()
6969
.enable(SerializationFeature.INDENT_OUTPUT)
7070
.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS)
71-
.addModule(new JavaTimeModule())
7271
.build();
7372

7473
}
@@ -86,7 +85,7 @@ public static String convertPojoToJson(Object pojo) {
8685
}
8786
var jsonMapper = createJsonMapper();
8887
return jsonMapper.writeValueAsString(pojo);
89-
} catch (JsonProcessingException e) {
88+
} catch (JacksonException e) {
9089
throw new JsonParsingException(e);
9190
}
9291
}
@@ -142,7 +141,7 @@ public static <T> T parseJsonToPojo(String json, Class<T> pojoType) {
142141

143142
var jsonMapper = createJsonMapper();
144143
return jsonMapper.readerFor(pojoType).readValue(json);
145-
} catch (IOException e) {
144+
} catch (JacksonException e) {
146145
throw new JsonParsingException(e);
147146
}
148147
}
@@ -177,22 +176,21 @@ public static String convertPojoToXml(Object pojo) {
177176
}
178177
var xmlMapper = createXmlMapper();
179178
return xmlMapper.writeValueAsString(pojo);
180-
} catch (JsonProcessingException e) {
179+
} catch (JacksonException e) {
181180
throw new XmlParsingException(e);
182181
}
183182
}
184183

185184
/**
186185
* Create a xml {@link XmlMapper} with enable IDENT_OUTPUT and disabled FAIL_ON_EMPTY_BEANS. Also add support
187-
* to {@link JavaTimeModule} from JSR310 dependency
186+
*
188187
*
189188
* @return xml mapper
190189
*/
191190
public static XmlMapper createXmlMapper() {
192191
return XmlMapper.builder()
193192
.enable(SerializationFeature.INDENT_OUTPUT)
194193
.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS)
195-
.addModule(new JavaTimeModule())
196194
.build();
197195

198196
}
@@ -207,7 +205,7 @@ public static <T> T parseXmlToPojo(String xml, Class<T> pojoType) {
207205
}
208206
var xmlMap = createXmlMapper();
209207
return xmlMap.readerFor(pojoType).readValue(xml);
210-
} catch (JsonProcessingException e) {
208+
} catch (JacksonException e) {
211209
throw new XmlParsingException(e);
212210
}
213211
}
@@ -228,7 +226,7 @@ public static <T> List<T> parseJsonToList(String json, Class<T> pojoType) {
228226
constructCollectionType(List.class, pojoType);
229227

230228
return jsonMapper.readerFor(type).readValue(json);
231-
} catch (IOException e) {
229+
} catch (JacksonException e) {
232230
throw new JsonParsingException(e);
233231
}
234232
}
@@ -245,7 +243,7 @@ public static <T> String convertListToJson(List<T> list) {
245243
}
246244
var jsonMapper = createJsonMapper();
247245
return jsonMapper.writeValueAsString(list);
248-
} catch (JsonProcessingException e) {
246+
} catch (JacksonException e) {
249247
throw new JsonParsingException(e);
250248
}
251249
}

platform/core/web/src/main/java/tools/dynamia/web/navigation/RestNavigationController.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717
package tools.dynamia.web.navigation;
1818

1919
import com.fasterxml.jackson.annotation.JsonInclude;
20-
import com.fasterxml.jackson.core.JsonProcessingException;
21-
import com.fasterxml.jackson.databind.JsonNode;
20+
2221
import jakarta.servlet.http.HttpServletRequest;
2322
import org.springframework.core.annotation.Order;
2423
import org.springframework.http.HttpHeaders;
@@ -47,6 +46,8 @@
4746
import tools.dynamia.viewers.JsonViewDescriptorDeserializer;
4847
import tools.dynamia.viewers.ViewDescriptor;
4948
import tools.dynamia.viewers.util.Viewers;
49+
import tools.jackson.core.JacksonException;
50+
import tools.jackson.databind.JsonNode;
5051

5152
import java.io.IOException;
5253
import java.util.List;
@@ -291,7 +292,7 @@ private ResponseEntity<String> update(String path, Long id, String jsonData, Htt
291292
ObjectOperations.invokeSetMethod(entity, field.getPropertyInfo(), fieldValue);
292293
}
293294
});
294-
} catch (IOException e) {
295+
} catch (JacksonException e) {
295296
log("Error updating entity", e);
296297
}
297298

@@ -345,7 +346,7 @@ public static ResponseEntity<String> getMetadata(HttpServletRequest request, Vie
345346

346347
try {
347348
return new ResponseEntity<>(mapper.writeValueAsString(viewDescriptor), HttpStatus.OK);
348-
} catch (JsonProcessingException e) {
349+
} catch (JacksonException e) {
349350
return new ResponseEntity<>("ERROR: " + e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
350351
}
351352
}

0 commit comments

Comments
 (0)