From 21b0f3412b494ad94bbfca7405d430dc5084409e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Thu, 15 Jan 2026 14:50:36 +0100 Subject: [PATCH 1/5] chore: upgrade to Spring Boot 4.0.0 --- magma-diffusion-impl/pom.xml | 4 ++-- .../rmes/magma/diffusion/config/MetadataConfig.java | 2 +- .../testcontainers/queries/ConceptsQueriesTest.java | 3 ++- .../GeoAireDAttractionDesVillesQueriesTest.java | 11 ++++++++--- .../GeoArrondissementMunicipalQueriesTest.java | 2 +- .../queries/GeoArrondissementQueriesTest.java | 2 +- .../queries/GeoBassinDeVieQueriesTest.java | 2 +- .../queries/GeoCantonOuVilleQueriesTest.java | 2 +- .../testcontainers/queries/GeoCantonQueriesTest.java | 2 +- .../GeoCirconscriptionTerritorialeQueriesTest.java | 2 +- .../queries/GeoCollectiviteDOutreMerQueriesTest.java | 2 +- .../queries/GeoCommuneAssocieeQueriesTest.java | 2 +- .../queries/GeoCommuneDelegueeQueriesTest.java | 2 +- .../testcontainers/queries/GeoCommuneQueriesTest.java | 2 +- .../queries/GeoDepartementQueriesTest.java | 2 +- .../queries/GeoDistrictQueriesTest.java | 2 +- .../queries/GeoIntercommunaliteQueriesTest.java | 2 +- .../testcontainers/queries/GeoIrisQueriesTest.java | 2 +- .../testcontainers/queries/GeoPaysQueriesTest.java | 2 +- ...artiersPrioritairesDeLaPolitiqueDeLaVilleTest.java | 2 +- .../testcontainers/queries/GeoRegionQueriesTest.java | 2 +- .../queries/GeoUniteUrbaineQueriesTest.java | 2 +- .../queries/GeoZoneDEmploiQueriesTest.java | 2 +- magma-gestion-impl/pom.xml | 6 +++--- .../SecurityConfigWithAccessControl.java | 7 +++---- pom.xml | 2 +- 26 files changed, 39 insertions(+), 34 deletions(-) diff --git a/magma-diffusion-impl/pom.xml b/magma-diffusion-impl/pom.xml index f9dd30a3..0a7e4353 100644 --- a/magma-diffusion-impl/pom.xml +++ b/magma-diffusion-impl/pom.xml @@ -59,7 +59,7 @@ org.springframework.boot - spring-boot-starter-test + spring-boot-starter-webmvc-test test @@ -69,7 +69,7 @@ org.springframework.boot - spring-boot-starter-web + spring-boot-starter-webmvc joda-time diff --git a/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/config/MetadataConfig.java b/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/config/MetadataConfig.java index 748858a5..4b5898ba 100644 --- a/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/config/MetadataConfig.java +++ b/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/config/MetadataConfig.java @@ -7,7 +7,7 @@ import freemarker.template.TemplateExceptionHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; -import org.springframework.boot.web.servlet.ServletComponentScan; +import org.springframework.boot.web.server.servlet.context.ServletComponentScan; import org.springframework.context.annotation.Bean; import java.io.IOException; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/ConceptsQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/ConceptsQueriesTest.java index 04d97259..ac73a828 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/ConceptsQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/ConceptsQueriesTest.java @@ -5,8 +5,8 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.test.web.servlet.MockMvc; import java.net.URI; @@ -20,6 +20,7 @@ @AutoConfigureMockMvc @Tag("integration") + public class ConceptsQueriesTest extends TestcontainerTest { @Autowired diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoAireDAttractionDesVillesQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoAireDAttractionDesVillesQueriesTest.java index 2a6fec51..f470d61f 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoAireDAttractionDesVillesQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoAireDAttractionDesVillesQueriesTest.java @@ -1,15 +1,20 @@ package fr.insee.rmes.magma.diffusion.api.testcontainers.queries; import fr.insee.rmes.magma.diffusion.api.GeoAireDAttractionDesVillesEndpoints; -import fr.insee.rmes.magma.diffusion.model.*; +import fr.insee.rmes.magma.diffusion.model.AireDAttractionDesVilles2020; +import fr.insee.rmes.magma.diffusion.model.TerritoireTousAttributs; +import fr.insee.rmes.magma.diffusion.model.TypeEnumDescendantsAireDAttractionDesVilles; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.test.web.servlet.MockMvc; + import java.time.LocalDate; -import static org.junit.jupiter.api.Assertions.*; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; @SpringBootTest @AutoConfigureMockMvc diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoArrondissementMunicipalQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoArrondissementMunicipalQueriesTest.java index ba2bdcee..430a6ce9 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoArrondissementMunicipalQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoArrondissementMunicipalQueriesTest.java @@ -7,7 +7,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoArrondissementQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoArrondissementQueriesTest.java index 0876b637..5d207fa8 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoArrondissementQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoArrondissementQueriesTest.java @@ -9,7 +9,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoBassinDeVieQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoBassinDeVieQueriesTest.java index d83a7ef2..5093387a 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoBassinDeVieQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoBassinDeVieQueriesTest.java @@ -8,7 +8,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCantonOuVilleQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCantonOuVilleQueriesTest.java index 8b37e6c1..a86fd8c3 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCantonOuVilleQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCantonOuVilleQueriesTest.java @@ -5,7 +5,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCantonQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCantonQueriesTest.java index 1eb2a044..c352104a 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCantonQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCantonQueriesTest.java @@ -6,7 +6,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCirconscriptionTerritorialeQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCirconscriptionTerritorialeQueriesTest.java index 04f1272e..86974b4b 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCirconscriptionTerritorialeQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCirconscriptionTerritorialeQueriesTest.java @@ -7,7 +7,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCollectiviteDOutreMerQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCollectiviteDOutreMerQueriesTest.java index e3c54be5..6a19587e 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCollectiviteDOutreMerQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCollectiviteDOutreMerQueriesTest.java @@ -7,7 +7,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCommuneAssocieeQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCommuneAssocieeQueriesTest.java index 1cd38e68..3c71212f 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCommuneAssocieeQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCommuneAssocieeQueriesTest.java @@ -6,7 +6,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCommuneDelegueeQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCommuneDelegueeQueriesTest.java index 779c12cc..2403ce93 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCommuneDelegueeQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCommuneDelegueeQueriesTest.java @@ -6,7 +6,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCommuneQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCommuneQueriesTest.java index 41d19a8b..8507e8b4 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCommuneQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoCommuneQueriesTest.java @@ -6,7 +6,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoDepartementQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoDepartementQueriesTest.java index 529eadeb..5d45b6a6 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoDepartementQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoDepartementQueriesTest.java @@ -6,7 +6,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoDistrictQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoDistrictQueriesTest.java index eceb64c0..2504bf2c 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoDistrictQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoDistrictQueriesTest.java @@ -7,7 +7,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoIntercommunaliteQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoIntercommunaliteQueriesTest.java index 13e10c6f..46b07f94 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoIntercommunaliteQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoIntercommunaliteQueriesTest.java @@ -8,7 +8,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoIrisQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoIrisQueriesTest.java index f25be7ee..1e45448a 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoIrisQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoIrisQueriesTest.java @@ -8,7 +8,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoPaysQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoPaysQueriesTest.java index 46723bcf..a600cade 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoPaysQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoPaysQueriesTest.java @@ -6,7 +6,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoQuartiersPrioritairesDeLaPolitiqueDeLaVilleTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoQuartiersPrioritairesDeLaPolitiqueDeLaVilleTest.java index 61e8e081..189dd861 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoQuartiersPrioritairesDeLaPolitiqueDeLaVilleTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoQuartiersPrioritairesDeLaPolitiqueDeLaVilleTest.java @@ -9,7 +9,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoRegionQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoRegionQueriesTest.java index b423cbfb..fcc88fce 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoRegionQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoRegionQueriesTest.java @@ -7,7 +7,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoUniteUrbaineQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoUniteUrbaineQueriesTest.java index a4bb0aa1..aa58e500 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoUniteUrbaineQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoUniteUrbaineQueriesTest.java @@ -7,7 +7,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoZoneDEmploiQueriesTest.java b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoZoneDEmploiQueriesTest.java index d7584df8..99c3607d 100644 --- a/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoZoneDEmploiQueriesTest.java +++ b/magma-diffusion-impl/src/test/java/fr/insee/rmes/magma/diffusion/api/testcontainers/queries/GeoZoneDEmploiQueriesTest.java @@ -7,7 +7,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; diff --git a/magma-gestion-impl/pom.xml b/magma-gestion-impl/pom.xml index 50dec23e..6f0add38 100644 --- a/magma-gestion-impl/pom.xml +++ b/magma-gestion-impl/pom.xml @@ -12,7 +12,7 @@ 21 20250517 5.1.5 - 2.8.3 + 3.0.0 0.8.13 inseefr @@ -26,11 +26,11 @@ org.springframework.boot - spring-boot-starter-web + spring-boot-starter-webmvc org.springframework.boot - spring-boot-starter-test + spring-boot-starter-webmvc-test com.vaadin.external.google diff --git a/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/configuration/SecurityConfigWithAccessControl.java b/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/configuration/SecurityConfigWithAccessControl.java index cf76fdfa..4b1c9576 100644 --- a/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/configuration/SecurityConfigWithAccessControl.java +++ b/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/configuration/SecurityConfigWithAccessControl.java @@ -11,7 +11,7 @@ import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; import org.springframework.security.web.SecurityFilterChain; -import org.springframework.security.web.util.matcher.AntPathRequestMatcher; +import org.springframework.security.web.servlet.util.matcher.PathPatternRequestMatcher; import org.springframework.security.web.util.matcher.RequestMatcher; import java.util.Arrays; @@ -54,15 +54,14 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { .authorizeHttpRequests(authorize -> authorize.requestMatchers( Arrays.stream(whiteList) .filter(not(String::isEmpty)) - .map(AntPathRequestMatcher::antMatcher) + .map(pattern -> PathPatternRequestMatcher.withDefaults().matcher(pattern)) .toArray(RequestMatcher[]::new) ).permitAll() - .requestMatchers(AntPathRequestMatcher.antMatcher(HttpMethod.PATCH, "/dataset/**")).hasAnyRole(administrateurRole, gestionnaireDataset) + .requestMatchers(PathPatternRequestMatcher.withDefaults().matcher(HttpMethod.PATCH, "/dataset/**")).hasAnyRole(administrateurRole, gestionnaireDataset) .requestMatchers(HttpMethod.OPTIONS).permitAll() .anyRequest().authenticated() ) .oauth2ResourceServer(oauth2ResourceServer -> oauth2ResourceServer.jwt(withDefaults())); return http.build(); } - } diff --git a/pom.xml b/pom.xml index 67e34214..c48def58 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.boot spring-boot-dependencies - 3.4.2 + 4.0.0 fr.insee.rmes magma-parent From a31e1f617a8eec13ea24e659b1a429994a83eb82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Thu, 15 Jan 2026 15:00:03 +0100 Subject: [PATCH 2/5] chore: upgrade dependencies --- magma-gestion-impl/pom.xml | 6 +++--- pom.xml | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/magma-gestion-impl/pom.xml b/magma-gestion-impl/pom.xml index 6f0add38..4e457dce 100644 --- a/magma-gestion-impl/pom.xml +++ b/magma-gestion-impl/pom.xml @@ -10,9 +10,9 @@ 21 - 20250517 - 5.1.5 - 3.0.0 + 20251224 + 5.3.0-M1 + 3.0.1 0.8.13 inseefr diff --git a/pom.xml b/pom.xml index c48def58..44af245b 100644 --- a/pom.xml +++ b/pom.xml @@ -16,16 +16,16 @@ 21 ${java.version} ${java.version} - 4.0.0-M1 - 2.17.2 + 4.0.0 + 2.20.1 6.1.0 2.18.0 - 2.2.22 - 5.12.0 + 2.2.41 + 5.21.0 2.3.34 - 2.10.0 + 2.11.0 7.17.0 - 0.2.6 + 0.2.8 10.0.0 UTF-8 UTF-8 @@ -44,7 +44,7 @@ reuseReports java 3.9.0.2155 - 0.8.7 + 0.8.14 -Xms256m -Xmx512m -ea -Dfile.encoding=UTF-8 From 66e9a9337ea5caad9e55742d22acafadd54bdc07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Wed, 21 Jan 2026 17:18:52 +0100 Subject: [PATCH 3/5] chore: jackson2 -> jackson3 --- magma-diffusion-impl/pom.xml | 6 +-- .../queryexecutor/QueryExecutor.java | 8 ++-- .../unmarshaller/JacksonUnmarshaller.java | 37 +++++++------------ .../old/services/concepts/ConceptsImpl.java | 10 ++--- .../old/services/datasets/DataSetsImpl.java | 25 +++++++------ .../services/datasets/DataSetsServices.java | 10 ++--- .../services/structures/StructuresImpl.java | 8 ++-- pom.xml | 8 ++-- 8 files changed, 51 insertions(+), 61 deletions(-) diff --git a/magma-diffusion-impl/pom.xml b/magma-diffusion-impl/pom.xml index 0a7e4353..b8458df4 100644 --- a/magma-diffusion-impl/pom.xml +++ b/magma-diffusion-impl/pom.xml @@ -28,13 +28,9 @@ spring-webmvc - com.fasterxml.jackson.dataformat + tools.jackson.dataformat jackson-dataformat-csv - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - org.openapitools jackson-databind-nullable diff --git a/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/queryexecutor/QueryExecutor.java b/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/queryexecutor/QueryExecutor.java index 834901d0..1c0ad343 100644 --- a/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/queryexecutor/QueryExecutor.java +++ b/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/queryexecutor/QueryExecutor.java @@ -1,7 +1,7 @@ package fr.insee.rmes.magma.diffusion.queryexecutor; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; import fr.insee.rmes.magma.diffusion.queries.Query; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; @@ -13,6 +13,7 @@ import org.springframework.http.client.ClientHttpResponse; import org.springframework.stereotype.Component; import org.springframework.web.client.RestClient; +import tools.jackson.databind.json.JsonMapper; import java.io.IOException; @@ -97,7 +98,8 @@ private Boolean parseAskResponse(String jsonResponse) { try { // Example of a Json response for an ASK request : // {"head":{},"boolean":true} - JsonNode rootNode = new ObjectMapper().readTree(jsonResponse); + ObjectMapper mapper = JsonMapper.builder().build(); + JsonNode rootNode = mapper.readTree(jsonResponse); return rootNode.path("boolean").asBoolean(); } catch (Exception e) { log.error("Failed to parse SPARQL ASK response: {}", jsonResponse, e); diff --git a/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/unmarshaller/JacksonUnmarshaller.java b/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/unmarshaller/JacksonUnmarshaller.java index edeade25..ecf49c0e 100644 --- a/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/unmarshaller/JacksonUnmarshaller.java +++ b/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/unmarshaller/JacksonUnmarshaller.java @@ -1,12 +1,12 @@ package fr.insee.rmes.magma.diffusion.unmarshaller; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.*; -import com.fasterxml.jackson.databind.Module; -import com.fasterxml.jackson.databind.module.SimpleModule; -import com.fasterxml.jackson.dataformat.csv.CsvMapper; -import com.fasterxml.jackson.dataformat.csv.CsvSchema; -import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.ValueDeserializer; +import tools.jackson.databind.*; +import tools.jackson.databind.JacksonModule; +import tools.jackson.databind.module.SimpleModule; +import tools.jackson.dataformat.csv.CsvMapper; +import tools.jackson.dataformat.csv.CsvSchema; import fr.insee.rmes.magma.diffusion.model.*; import fr.insee.rmes.magma.diffusion.queryexecutor.Csv; import lombok.NonNull; @@ -25,7 +25,7 @@ public record JacksonUnmarshaller(CsvMapper csvMapper) implements Unmarshaller { public JacksonUnmarshaller() { - this(CsvMapper.csvBuilder().enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS) + this(CsvMapper.builder().enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS) .addModule(enumModule(TerritoireBase.TypeArticleEnum.class)) .addModule(enumModule(TerritoireTousAttributs.TypeArticleEnum.class)) .addModule(enumModule(TerritoireBaseChefLieu.TypeArticleEnum.class)) @@ -46,25 +46,19 @@ public JacksonUnmarshaller() { .addModule(enumModule(Region.TypeArticleEnum.class)) .addModule(enumModule(UniteUrbaine2020.TypeArticleEnum.class)) .addModule(enumModule(ZoneDEmploi2020.TypeArticleEnum.class)) - .addModule(new JavaTimeModule()) .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) .build()); } - private static > Module enumModule(Class enumClass) { + private static > JacksonModule enumModule(Class enumClass) { var module = new SimpleModule(); - module.addDeserializer(enumClass, new JsonDeserializer<>() { + module.addDeserializer(enumClass, new ValueDeserializer<>() { @Override public E deserialize(JsonParser parser, DeserializationContext ctxt) { - try { - String value = parser.getValueAsString(); - // Transformation des valeurs numériques en noms d'enum valides - String enumName = value.matches("\\d+") ? "_" + value : value; - return Enum.valueOf(enumClass, enumName); - } - catch (IOException e) { - return null; - } + String value = parser.getValueAsString(); + // Transformation des valeurs numériques en noms d'enum valides + String enumName = value.matches("\\d+") ? "_" + value : value; + return Enum.valueOf(enumClass, enumName); } }); return module; @@ -96,9 +90,6 @@ private R unmarshallAll(String csv, Class targetClass, R resultEmpty, List results; try (MappingIterator mappingIterator = reader.readValues(csv)) { results = mappingIterator.readAll(); - } catch (IOException e) { - log.error("While reading \n{}\nMESSAGE : {}\n===> RETURN WILL BE EMPTY", csv, e.getMessage()); - return resultEmpty; } return extractResults.apply(results); } diff --git a/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/concepts/ConceptsImpl.java b/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/concepts/ConceptsImpl.java index 43510369..73a6d85c 100644 --- a/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/concepts/ConceptsImpl.java +++ b/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/concepts/ConceptsImpl.java @@ -1,7 +1,7 @@ package fr.insee.rmes.magma.gestion.old.services.concepts; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; import fr.insee.rmes.magma.gestion.old.model.concept.ConceptById; import fr.insee.rmes.magma.gestion.old.model.concept.ConceptDefCourte; import fr.insee.rmes.magma.gestion.old.model.concept.ConceptSDMX; @@ -40,7 +40,7 @@ public ConceptsImpl(FreeMarkerUtils freeMarkerUtils) { @Override - public String getDetailedConcept(String id) throws RmesException, JsonProcessingException { + public String getDetailedConcept(String id) throws RmesException, JacksonException { Map params = initParams(); params.put("ID", id); @@ -99,7 +99,7 @@ public String getDetailedConcept(String id) throws RmesException, JsonProcessing } @Override - public String getDetailedConceptDateMAJ(String id) throws RmesException, JsonProcessingException { + public String getDetailedConceptDateMAJ(String id) throws RmesException, JacksonException { Map params = initParams(); params.put("ID", id); JSONObject concept = repoGestion.getResponseAsObject(buildRequest(Constants.CONCEPTS_QUERIES_PATH,"getDetailedConceptDateMAJ.ftlh", params)); @@ -140,7 +140,7 @@ public Map initParams() { } @Override - public String getCollectionOfConcepts(String id) throws RmesException, JsonProcessingException { + public String getCollectionOfConcepts(String id) throws RmesException, JacksonException { ObjectMapper mapper = new ObjectMapper(); Map params = initParams(); diff --git a/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/datasets/DataSetsImpl.java b/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/datasets/DataSetsImpl.java index 012b3a13..6eb71639 100644 --- a/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/datasets/DataSetsImpl.java +++ b/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/datasets/DataSetsImpl.java @@ -1,8 +1,8 @@ package fr.insee.rmes.magma.gestion.old.services.datasets; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; import fr.insee.rmes.magma.gestion.old.datasets.PatchDatasetDTO; import fr.insee.rmes.magma.gestion.old.model.CodeList.Code; import fr.insee.rmes.magma.gestion.old.model.datasets.*; @@ -26,6 +26,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.web.client.RestClient; +import tools.jackson.databind.json.JsonMapper; import java.util.*; @Service @@ -39,7 +40,7 @@ public class DataSetsImpl extends RdfService implements DataSetsServices { public static final String DATASET_LIST ="getListDatasets/"; private final Map params = initParams(); - private final ObjectMapper objectMapper = new ObjectMapper(); + private final ObjectMapper objectMapper = JsonMapper.builder().build(); private final RestClient restClient; private final CodeListsServices codeListsServices; @@ -69,7 +70,7 @@ private List getStatisticalUnit(List uriStatistical, String i } @Override - public String getListDataSets(String dateMiseAJour) throws RmesException, JsonProcessingException { + public String getListDataSets(String dateMiseAJour) throws RmesException, JacksonException { JSONArray listDataSet; if (dateMiseAJour.isEmpty()){ listDataSet = repoGestion.getResponseAsArray(buildRequest(Constants.DATASETS_QUERIES_PATH+DATASET_LIST,"getListDatasets.ftlh", params)); @@ -96,7 +97,7 @@ public String getListDataSets(String dateMiseAJour) throws RmesException, JsonPr @Override - public String getDataSetByID (String id) throws RmesException, JsonProcessingException { + public String getDataSetByID (String id) throws RmesException, JacksonException { JsonNode dataSetFinalNode = emptyDataSetModelSwagger(findDataSetModelSwagger(id)); return dataSetFinalNode.toString(); } @@ -107,7 +108,7 @@ private JsonNode emptyDataSetModelSwagger(DataSetModelSwagger dataSetModelSwagge while (it.hasNext()) { JsonNode node = it.next(); - if (node.isContainerNode() && node.isEmpty()) { + if (node.isContainer() && node.isEmpty()) { it.remove(); } } @@ -135,7 +136,7 @@ protected ResponseEntity httpPatchRequest(String token, PatchDatasetDTO return ResponseEntity.status(response.getStatusCode()).build(); } - protected DataSetModelSwagger findDataSetModelSwagger(String id) throws RmesException, JsonProcessingException { + protected DataSetModelSwagger findDataSetModelSwagger(String id) throws RmesException, JacksonException { //paramétrage de la requête params.put("ID", id); JSONObject catalogue_result = repoGestion.getResponseAsObject(buildRequest(Constants.DATASETS_QUERIES_PATH +DATASET_BY_ID_PATH, "getDataSetById_catalogue.ftlh", params)); @@ -176,7 +177,7 @@ private void removeEmptyKeys(JSONObject jsonObject) { } } - protected void testPresenceVariablePuisAjout(DataSetModelSwagger reponse, JSONObject catalogue_result, JSONObject adms_result, JSONObject codes_result, JSONObject organisations_result, JSONObject structures_result) throws RmesException, JsonProcessingException { + protected void testPresenceVariablePuisAjout(DataSetModelSwagger reponse, JSONObject catalogue_result, JSONObject adms_result, JSONObject codes_result, JSONObject organisations_result, JSONObject structures_result) throws RmesException, JacksonException { //récupération de le date de mofidication if (catalogue_result.has("dateModification")) { Modified modified = new Modified(catalogue_result.getString("dateModification")); @@ -395,7 +396,7 @@ protected void testPresenceVariablePuisAjout(DataSetModelSwagger reponse, JSONOb } @Override - public String getDataSetByIDSummary(String id) throws RmesException, JsonProcessingException { + public String getDataSetByIDSummary(String id) throws RmesException, JacksonException { //parametrage de la requête params.put("ID", id); @@ -418,7 +419,7 @@ public String getDataSetByIDSummary(String id) throws RmesException, JsonProcess } @Override - public Distributions[] getDataSetDistributionsById(String id) throws RmesException, JsonProcessingException { + public Distributions[] getDataSetDistributionsById(String id) throws RmesException, JacksonException { //parametrage de la requête params.put("ID", id); @@ -575,7 +576,7 @@ private List getSpatialResolution(List urisSpatialResolution) t return spatialResolution; } - private List getThemeModelSwaggerS(JSONObject dataSetId) throws RmesException, JsonProcessingException { + private List getThemeModelSwaggerS(JSONObject dataSetId) throws RmesException, JacksonException { String[] parts = dataSetId.getString("names").split(","); List themeListModelSwaggerS = new ArrayList<>(); diff --git a/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/datasets/DataSetsServices.java b/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/datasets/DataSetsServices.java index 53e6f785..ad82837a 100644 --- a/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/datasets/DataSetsServices.java +++ b/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/datasets/DataSetsServices.java @@ -1,6 +1,6 @@ package fr.insee.rmes.magma.gestion.old.services.datasets; -import com.fasterxml.jackson.core.JsonProcessingException; +import tools.jackson.core.JacksonException; import fr.insee.rmes.magma.gestion.old.datasets.PatchDatasetDTO; import fr.insee.rmes.magma.gestion.old.model.datasets.Distributions; import fr.insee.rmes.magma.gestion.old.utils.exceptions.RmesException; @@ -13,13 +13,13 @@ public interface DataSetsServices { - String getListDataSets(String dateMiseAJour) throws RmesException, JsonProcessingException; + String getListDataSets(String dateMiseAJour) throws RmesException, JacksonException; - String getDataSetByID(String id) throws RmesException, JsonProcessingException; + String getDataSetByID(String id) throws RmesException, JacksonException; - String getDataSetByIDSummary(String id) throws RmesException, JsonProcessingException; + String getDataSetByIDSummary(String id) throws RmesException, JacksonException; - Distributions[] getDataSetDistributionsById(String id) throws RmesException, JsonProcessingException; + Distributions[] getDataSetDistributionsById(String id) throws RmesException, JacksonException; ResponseEntity patchDataset(String datasetId, PatchDatasetDTO patchDataset, String token, Optional user) throws RmesException, MalformedURLException; } diff --git a/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/structures/StructuresImpl.java b/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/structures/StructuresImpl.java index e9803465..ae94eb5e 100644 --- a/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/structures/StructuresImpl.java +++ b/magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/structures/StructuresImpl.java @@ -1,7 +1,7 @@ package fr.insee.rmes.magma.gestion.old.services.structures; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.ObjectMapper; import fr.insee.rmes.magma.gestion.old.modelSwagger.structure.StructureByIdModelSwagger; import fr.insee.rmes.magma.gestion.old.persistence.FreeMarkerUtils; import fr.insee.rmes.magma.gestion.old.persistence.RdfService; @@ -84,7 +84,7 @@ public String getAllStructures(String dateMiseAJour) throws RmesException { } @Override - public String getStructure(String id) throws RmesException, JsonProcessingException { + public String getStructure(String id) throws RmesException, JacksonException { HashMap params = new HashMap<>(); params.put(STRUCTURES_GRAPH, config.getBaseGraph() + config.getStructuresGraph()); params.put(STRUCTURE_ID, id); @@ -153,7 +153,7 @@ public String getStructure(String id) throws RmesException, JsonProcessingExcept @Override - public String getStructureDateMAJ(String id) throws RmesException, JsonProcessingException { + public String getStructureDateMAJ(String id) throws RmesException, JacksonException { HashMap params = new HashMap<>(); params.put(STRUCTURES_GRAPH, config.getBaseGraph() + config.getStructuresGraph()); params.put(STRUCTURE_ID, id); diff --git a/pom.xml b/pom.xml index 44af245b..6f5c6526 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ ${java.version} ${java.version} 4.0.0 - 2.20.1 + 3.0.0 6.1.0 2.18.0 2.2.41 @@ -178,18 +178,18 @@ - com.fasterxml.jackson.dataformat + tools.jackson.dataformat jackson-dataformat-csv ${jackson.version} - com.fasterxml.jackson.dataformat + tools.jackson.dataformat jackson-dataformat-xml ${jackson.version} - com.fasterxml.jackson.jakarta.rs + tools.jackson.jakarta.rs jackson-jakarta-rs-json-provider 2.17.2 From e34be68e811640e78fa30c1e33d9df147afa6658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Tue, 27 Jan 2026 11:23:36 +0100 Subject: [PATCH 4/5] fix: dependencies xmlunit and mockito versions are managed by spring boot tools.jackson.jakarta.rs dependency does not exist --- pom.xml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index 6f5c6526..b1c77c62 100644 --- a/pom.xml +++ b/pom.xml @@ -21,9 +21,7 @@ 6.1.0 2.18.0 2.2.41 - 5.21.0 2.3.34 - 2.11.0 7.17.0 0.2.8 10.0.0 @@ -159,19 +157,16 @@ org.mockito mockito-junit-jupiter - ${mockito.version} test org.mockito mockito-core - ${mockito.version} test org.xmlunit xmlunit-core - ${xmlunit.version} test @@ -189,15 +184,13 @@ ${jackson.version} - tools.jackson.jakarta.rs + com.fasterxml.jackson.jakarta.rs jackson-jakarta-rs-json-provider - 2.17.2 com.fasterxml.jackson.jakarta.rs jackson-jakarta-rs-xml-provider - 2.17.2 jakarta.servlet From 48b8cc9757294f2a3250fdcda8b99076e475eac2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Tue, 27 Jan 2026 15:52:52 +0100 Subject: [PATCH 5/5] fix: reintroduce catches --- .../unmarshaller/JacksonUnmarshaller.java | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/unmarshaller/JacksonUnmarshaller.java b/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/unmarshaller/JacksonUnmarshaller.java index ecf49c0e..d452b732 100644 --- a/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/unmarshaller/JacksonUnmarshaller.java +++ b/magma-diffusion-impl/src/main/java/fr/insee/rmes/magma/diffusion/unmarshaller/JacksonUnmarshaller.java @@ -1,19 +1,17 @@ package fr.insee.rmes.magma.diffusion.unmarshaller; -import tools.jackson.core.JsonParser; -import tools.jackson.databind.ValueDeserializer; -import tools.jackson.databind.*; -import tools.jackson.databind.JacksonModule; -import tools.jackson.databind.module.SimpleModule; -import tools.jackson.dataformat.csv.CsvMapper; -import tools.jackson.dataformat.csv.CsvSchema; import fr.insee.rmes.magma.diffusion.model.*; import fr.insee.rmes.magma.diffusion.queryexecutor.Csv; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import tools.jackson.core.JacksonException; +import tools.jackson.core.JsonParser; +import tools.jackson.databind.*; +import tools.jackson.databind.module.SimpleModule; +import tools.jackson.dataformat.csv.CsvMapper; +import tools.jackson.dataformat.csv.CsvSchema; -import java.io.IOException; import java.util.List; import java.util.Optional; import java.util.function.Function; @@ -55,10 +53,15 @@ private static > JacksonModule enumModule(Class enumClass) module.addDeserializer(enumClass, new ValueDeserializer<>() { @Override public E deserialize(JsonParser parser, DeserializationContext ctxt) { - String value = parser.getValueAsString(); - // Transformation des valeurs numériques en noms d'enum valides - String enumName = value.matches("\\d+") ? "_" + value : value; - return Enum.valueOf(enumClass, enumName); + try { + String value = parser.getValueAsString(); + // Transformation des valeurs numériques en noms d'enum valides + String enumName = value.matches("\\d+") ? "_" + value : value; + return Enum.valueOf(enumClass, enumName); + } + catch (JacksonException e) { + return null; + } } }); return module; @@ -90,6 +93,9 @@ private R unmarshallAll(String csv, Class targetClass, R resultEmpty, List results; try (MappingIterator mappingIterator = reader.readValues(csv)) { results = mappingIterator.readAll(); + } catch (JacksonException e) { + log.error("While reading \n{}\nMESSAGE : {}\n===> RETURN WILL BE EMPTY", csv, e.getMessage()); + return resultEmpty; } return extractResults.apply(results); }