From a5da40d109a2d2787a296affe4741387ad7e6019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Fri, 10 Oct 2025 14:39:12 +0200 Subject: [PATCH 01/10] feat: beginning for geo/iris/{code} --- .../rmes/metadata/api/GeoIrisEndpoints.java | 27 +++------- .../requestprocessor/RequestProcessor.java | 30 ++--------- .../IrisListRequestParametizer.java | 19 ------- .../parameters/IrisRequestParametizer.java | 31 +++++++++++ .../metadata/queryexecutor/QueryExecutor.java | 52 +++++++++++++++++++ .../request/geographie/hasIrisDescendant.ftlh | 29 +++++------ oas/src/main/resources/openapi.yaml | 2 +- 7 files changed, 110 insertions(+), 80 deletions(-) delete mode 100644 impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/IrisListRequestParametizer.java create mode 100644 impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/IrisRequestParametizer.java diff --git a/impl/src/main/java/fr/insee/rmes/metadata/api/GeoIrisEndpoints.java b/impl/src/main/java/fr/insee/rmes/metadata/api/GeoIrisEndpoints.java index cc6032515..df61827eb 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/api/GeoIrisEndpoints.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/api/GeoIrisEndpoints.java @@ -1,14 +1,14 @@ package fr.insee.rmes.metadata.api; import fr.insee.rmes.metadata.api.requestprocessor.RequestProcessor; -import fr.insee.rmes.metadata.model.Commune; import fr.insee.rmes.metadata.model.Iris; import fr.insee.rmes.metadata.model.TerritoireTousAttributs; -import fr.insee.rmes.metadata.queries.parameters.IrisListRequestParametizer; +import fr.insee.rmes.metadata.queries.parameters.IrisRequestParametizer; import fr.insee.rmes.metadata.queries.parameters.TerritoireRequestParametizer; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; +import java.net.URI; import java.time.LocalDate; import java.util.List; @@ -24,24 +24,11 @@ public GeoIrisEndpoints(RequestProcessor requestProcessor) { @Override public ResponseEntity getcogiris(String code, LocalDate date) { - //cf carte https://github.com/orgs/InseeFr/projects/9/views/5?filterQuery=-application%3AColectica+-scope%3Atechnique+iris&pane=issue&itemId=49451501&issue=InseeFr%7CMetadata-API%7C103 - String code_commune=code.substring(0, 5); -// RequestProcessor.ListResult types = requestProcessor.queryforFindIrisDescendantsCommune() -// .with(new TerritoireRequestParametizer(code_commune, Commune.class)) -// .executeQuery().listResult(String.class); + String codeCommune=code.substring(0, 5); + var queryResult = requestProcessor.queryToFindIrisDescendantsCommune() + .with(new IrisRequestParametizer(codeCommune, date)) + .executeAskQuery(); - // Exécuter la requête et obtenir le résultat - RequestProcessor.ListeResultatsIris types = requestProcessor.queryforFindIrisDescendantsCommune() - .with(new TerritoireRequestParametizer(code_commune, Commune.class)) - .executeQuery() - .listeResultatsIris(String.class); -//plante à la méthode unmarshallAll' - - // Obtenir la liste des résultats - List typeList = types.getList(); - -//condition à mettre : si l'un des types de la liste finit par "#Iris\r\n", cf https://github.com/InseeFr/Metadata-API/blob/main/src/main/java/fr/insee/rmes/utils/IrisUtils.java#L8 - boolean containsIris = typeList.contains("http://rdf.insee.fr/def/geo#Iris"); //bloc de fin pour que ça compile mais à revoir @@ -56,7 +43,7 @@ public ResponseEntity getcogiris(String code, LocalDate date) { public ResponseEntity> getcogirislist (LocalDate date, Boolean com) { boolean finalcom = (com != null) && com; return requestProcessor.queryToFindIrisList() - .with(new IrisListRequestParametizer(date, finalcom)) + .with(new IrisRequestParametizer(date, finalcom)) .executeQuery() .listResult(TerritoireTousAttributs.class) .toResponseEntity(); diff --git a/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java b/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java index 2d3368cff..bb17cbc8a 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java @@ -61,7 +61,7 @@ public RequestProcessor.QueryBuilder queryToFindCommunesOfCanton() { return new RequestProcessor.QueryBuilder(CANTON_COMMUNES, this); } - public RequestProcessor.QueryBuilder queryforFindIrisDescendantsCommune() { + public RequestProcessor.QueryBuilder queryToFindIrisDescendantsCommune() { return new RequestProcessor.QueryBuilder(LIEN_COMMUNE_IRIS, this); } @@ -117,7 +117,7 @@ public ExecutableQuery with(ProjetesRequestParametizer projetesRequestParametize } - public ExecutableQuery with(IrisListRequestParametizer irisListRequestParametizer) { + public ExecutableQuery with(IrisRequestParametizer irisListRequestParametizer) { return new ExecutableQuery(requestProcessor.queryBuilder().build(irisListRequestParametizer.toParameters(), queryPath), requestProcessor);} } @@ -128,10 +128,11 @@ public QueryResult executeQuery() { return new QueryResult(requestProcessor.queryExecutor().execute(query), requestProcessor); } + public Boolean executeAskQuery() { + return requestProcessor.queryExecutor().executeAskQuery(query); + } } - - public record QueryResult(Csv csv, RequestProcessor requestProcessor) { public ListResult listResult(Class clazz) { return new ListResult<>(requestProcessor.unmarshaller().unmarshalList(csv, clazz)); @@ -141,11 +142,6 @@ public SingleResult singleResult(Class clazz) { return new SingleResult<>(requestProcessor.unmarshaller().unmarshalOrNull(csv, clazz)); } - public ListeResultatsIris listeResultatsIris(Class clazz) { - List list = requestProcessor.unmarshaller().unmarshalList(csv, clazz); - return new ListeResultatsIris<>(list); - } - } @@ -157,26 +153,10 @@ public ResponseEntity> toResponseEntity() { } public record SingleResult(E result) { - // public ResponseEntity toResponseEntity() {return new ResponseEntity<>(result, HttpStatus.OK);} public ResponseEntity toResponseEntity() { return EndpointsUtils.toResponseEntity(result); } } - public record ListeResultatsIris(List result) { - public boolean contains(String value) { - return result.stream().anyMatch(item -> item.toString().equals(value)); - } - - public ListeResultatsIris(List result) { - this.result = result; - } - - public List getList() { - return result; - } - - } - } diff --git a/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/IrisListRequestParametizer.java b/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/IrisListRequestParametizer.java deleted file mode 100644 index d3444bbc5..000000000 --- a/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/IrisListRequestParametizer.java +++ /dev/null @@ -1,19 +0,0 @@ -package fr.insee.rmes.metadata.queries.parameters; - -import java.lang.reflect.RecordComponent; -import java.time.LocalDate; - -public record IrisListRequestParametizer (LocalDate date, - boolean com) implements ParametersForQuery{ - - @Override - public ParameterValueDecoder findParameterValueDecoder(RecordComponent recordComponent) { - return ParametersForQuery.super.findParameterValueDecoder(recordComponent); - } - - -} - - - - diff --git a/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/IrisRequestParametizer.java b/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/IrisRequestParametizer.java new file mode 100644 index 000000000..b01ed9c43 --- /dev/null +++ b/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/IrisRequestParametizer.java @@ -0,0 +1,31 @@ +package fr.insee.rmes.metadata.queries.parameters; + +import java.lang.reflect.RecordComponent; +import java.time.LocalDate; + +public record IrisRequestParametizer(String code, + LocalDate date, + boolean com) implements ParametersForQuery{ + + //for geo/iris + public IrisRequestParametizer(LocalDate date, + boolean com) { + this("none", date, com); + } + + //for geo/iris/{code} hasIrisDescendant + public IrisRequestParametizer(String code, LocalDate date) { + this(code, date, true); //com could be true or false + } + + @Override + public ParameterValueDecoder findParameterValueDecoder(RecordComponent recordComponent) { + return ParametersForQuery.super.findParameterValueDecoder(recordComponent); + } + + +} + + + + diff --git a/impl/src/main/java/fr/insee/rmes/metadata/queryexecutor/QueryExecutor.java b/impl/src/main/java/fr/insee/rmes/metadata/queryexecutor/QueryExecutor.java index 4fc853d32..9e35d6197 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/queryexecutor/QueryExecutor.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/queryexecutor/QueryExecutor.java @@ -1,6 +1,11 @@ package fr.insee.rmes.metadata.queryexecutor; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import fr.insee.rmes.metadata.queries.Query; +import jakarta.ws.rs.client.Client; +import jakarta.ws.rs.client.ClientBuilder; +import jakarta.ws.rs.core.MediaType; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -12,6 +17,8 @@ import org.springframework.stereotype.Component; import org.springframework.web.client.RestClient; +import java.io.IOException; + @Slf4j @Component public record QueryExecutor(RestClient restClient, String urlTemplate) { @@ -56,4 +63,49 @@ public Csv execute(@NonNull Query query) { .body(String.class)); } +public Boolean executeAskQuery(@NonNull Query query) { + String prefixedQuery = PREFIXES + query.value(); + log.debug("Executing SPARQL ASK query: {}", prefixedQuery); + + try { + String response = restClient.get() + .uri(urlTemplate, prefixedQuery) + .header("Accept", "application/sparql-results+json") // Format standard pour les résultats SPARQL + .retrieve() + .onStatus(HttpStatusCode::is4xxClientError, (request, reponse) -> { + String errorMessage = "SPARQL ASK query failed: " + request.getURI(); + try { + String body = new String(reponse.getBody().readAllBytes()); + errorMessage += " - Response: " + body; + } catch (IOException e) { + errorMessage += " - Error reading response body: " + e.getMessage(); + } + log.error(errorMessage); + throw new RuntimeException("SPARQL query error: " + reponse.getStatusText()); + }) + .body(String.class); + + log.debug("SPARQL ASK response: {}", response); + + // Parse la réponse JSON pour extraire le booléen + return parseAskResponse(response); + } catch (Exception e) { + log.error("Unexpected error while executing SPARQL ASK query: {}", e.getMessage(), e); + throw new RuntimeException("Failed to execute SPARQL ASK query", e); + } +} + + // Method to parse the JSON response of a SPARQL ASK request + private Boolean parseAskResponse(String jsonResponse) { + try { + // Example of a Json response for an ASK request : + // {"head":{},"boolean":true} + JsonNode rootNode = new ObjectMapper().readTree(jsonResponse); + return rootNode.path("boolean").asBoolean(); + } catch (Exception e) { + log.error("Failed to parse SPARQL ASK response: {}", jsonResponse, e); + throw new RuntimeException("Invalid SPARQL ASK response format", e); + } + } + } diff --git a/impl/src/main/resources/request/geographie/hasIrisDescendant.ftlh b/impl/src/main/resources/request/geographie/hasIrisDescendant.ftlh index 449c200e1..1cecc8dac 100644 --- a/impl/src/main/resources/request/geographie/hasIrisDescendant.ftlh +++ b/impl/src/main/resources/request/geographie/hasIrisDescendant.ftlh @@ -1,16 +1,15 @@ -SELECT DISTINCT ?type -FROM +ASK FROM WHERE { - { - ?origine a igeo:Commune ; - igeo:codeINSEE '${code}' . - } - UNION - { - ?origine a igeo:ArrondissementMunicipal ; - igeo:codeINSEE '${code}' . - } - ?uri igeo:subdivisionDirecteDe+ ?origine . - ?uri a ?type . -} -ORDER BY ?type \ No newline at end of file + { + ?origine a igeo:Commune ; + igeo:codeINSEE '${code}' . + } + UNION + { + ?origine a igeo:ArrondissementMunicipal ; + igeo:codeINSEE '${code}' . + } + ?uri igeo:subdivisionDirecteDe+ ?origine . + ?uri a ?type . + FILTER(STRENDS(STR(?type), "#Iris")) +} \ No newline at end of file diff --git a/oas/src/main/resources/openapi.yaml b/oas/src/main/resources/openapi.yaml index cf0b22f48..8eb6c6314 100644 --- a/oas/src/main/resources/openapi.yaml +++ b/oas/src/main/resources/openapi.yaml @@ -6839,7 +6839,7 @@ components: CodeIris: description: 'Code d''une Iris' - pattern: '([0-9]{9})' + pattern: '[0-9][0-9AB][0-9]{7}' type: string xml: attribute: true From 05a9a9b95cd1129868fd59cc54679876a4d0ad96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Fri, 10 Oct 2025 14:39:46 +0200 Subject: [PATCH 02/10] style: comments in tests --- .../testcontainers/queries/GeoArrondissementQueriesTest.java | 2 +- .../api/testcontainers/queries/GeoBassinDeVieQueriesTest.java | 2 +- .../api/testcontainers/queries/GeoDepartementQueriesTest.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoArrondissementQueriesTest.java b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoArrondissementQueriesTest.java index a4ec31adf..a13243eb4 100644 --- a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoArrondissementQueriesTest.java +++ b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoArrondissementQueriesTest.java @@ -155,7 +155,7 @@ void should_return_748_arrondissements_when_Arrondissements_dateEtoile() { var response = endpoints.getcogarrliste("*"); var result = response.getBody(); var resultItem1 = result.getFirst(); - assertEquals(748, result.size()); // Remplacez 350 par le nombre réel attendu + assertEquals(748, result.size()); assertEquals("011", resultItem1.getCode()); assertEquals("http://id.insee.fr/geo/arrondissement/d693d3ca-5851-4c40-a19e-dba1d750bfcf", resultItem1.getUri()); assertEquals(Arrondissement.TypeEnum.ARRONDISSEMENT, resultItem1.getType()); diff --git a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoBassinDeVieQueriesTest.java b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoBassinDeVieQueriesTest.java index 754e50d09..08eab48b9 100644 --- a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoBassinDeVieQueriesTest.java +++ b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoBassinDeVieQueriesTest.java @@ -108,7 +108,7 @@ void should_return_1_bassinDeVie2022_when_BassinsDeVie2022_date20250904_filtreNo var resultItem1 = result.getFirst(); // Vérification du nombre total de bassins de vie - assertEquals(1, result.size()); // Remplacez 1254 par le nombre réel attendu + assertEquals(1, result.size()); assertEquals("01004", resultItem1.getCode()); assertEquals("http://id.insee.fr/geo/bassinDeVie2022/0e5bcc78-f043-404d-92af-d3d660772675", resultItem1.getUri()); diff --git a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoDepartementQueriesTest.java b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoDepartementQueriesTest.java index e35147fac..83b80d9d4 100644 --- a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoDepartementQueriesTest.java +++ b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoDepartementQueriesTest.java @@ -191,7 +191,7 @@ void should_return_1_departement_when_DepartementCodePrecedents_code22_date20250 // geo/departement/21/precedents?date=2025-09-04 @Test - //le département 21 n'a pas de départments précédents + //département 21 has no départments précédents void should_return_404_when_DepartementCodePrecedents_code21_date20250904() throws Exception{ mockMvc.perform(get("/geo/departement/21/precedents") .param("date", "2025-09-01")) From 0eb352b3ec1d7e9ad87ff2861da563805358b597 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Fri, 10 Oct 2025 14:40:07 +0200 Subject: [PATCH 03/10] test: for geo/iris/{code} --- .../queries/GeoIrisQueriesTest.java | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoIrisQueriesTest.java b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoIrisQueriesTest.java index 980a3bf0e..fdd56ea40 100644 --- a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoIrisQueriesTest.java +++ b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoIrisQueriesTest.java @@ -2,7 +2,10 @@ import fr.insee.rmes.metadata.api.GeoIntercommunaliteEndpoints; import fr.insee.rmes.metadata.api.GeoIrisEndpoints; +import fr.insee.rmes.metadata.model.District; +import fr.insee.rmes.metadata.model.Iris; import fr.insee.rmes.metadata.model.TerritoireTousAttributs; +import org.junit.Assert; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -14,6 +17,8 @@ import static org.junit.jupiter.api.Assertions.assertAll; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; @SpringBootTest @AutoConfigureMockMvc @@ -26,6 +31,51 @@ public class GeoIrisQueriesTest extends TestcontainerTest { @Autowired private MockMvc mockMvc; + //////////////////////////////////////////////////////////////////// + /// geo/iris/{code} /// + //////////////////////////////////////////////////////////////////// + +// geo/iris/010040101?date=2025-09-04 (hasIrisDescendant = true, does not end with 0000) + @Test + void should_return_irisCode_010040101_when_code010040101_date20250904() { + var response = endpoints.getcogiris("010040101", LocalDate.of(2025, 9, 4)); + var result = response.getBody(); + assertAll( + () -> assertEquals("98411", result.getCode()), + () -> assertEquals("http://id.insee.fr/geo/iris/b8c772de-9551-4f13-81c5-eca5bb0f2f7d", result.getUri()), + () -> assertEquals(Iris.TypeEnum.IRIS, result.getType()), + () -> assertEquals(LocalDate.of(2008,1,1), result.getDateCreation()), + () -> assertEquals("H", result.getTypeDIris()), + () -> assertEquals("Pérouses-Triangle d'Activités", result.getIntituleSansArticle()), + () -> assertEquals(Iris.TypeArticleEnum._4, result.getTypeArticle()), + () -> assertEquals("Les Pérouses-Triangle d'Activités", result.getIntitule()) + ); + } + +// geo/iris/010020000?date=2025-09-04 (hasIrisDescendant = false, ends with 0000) + @Test + void should_return_irisCode_010020000_when_code010020000_date20250904() { + var response = endpoints.getcogiris("010020000", LocalDate.of(2025, 9, 4)); + var result = response.getBody(); + assertAll( + () -> assertEquals("010020000", result.getCode()), + () -> assertEquals("http://id.insee.fr/geo/commune/43018c68-c278-433a-b285-3531e8d5347e", result.getUri()), + () -> assertEquals(Iris.TypeEnum.COMMUNE, result.getType()), + () -> assertEquals(LocalDate.of(1943,1,1), result.getDateCreation()), + () -> assertEquals("Abergement-de-Varey", result.getIntituleSansArticle()), + () -> assertEquals(Iris.TypeArticleEnum._5, result.getTypeArticle()), + () -> assertEquals("L'Abergement-de-Varey", result.getIntitule()) + ); + } + +// geo/iris/010040000?date=2025-09-04 (hasIrisDescendant = true, ends with 0000) + @Test + void should_return_404_when_code010040000_date20250904() throws Exception { + mockMvc.perform(get("/geo/iris/010040000") + .param("date", "2025-09-01")) + .andExpect(status().isNotFound()); + } + //////////////////////////////////////////////////////////////////// /// geo/iris /// //////////////////////////////////////////////////////////////////// From ce5ab0fc4a0dbe1a3e21b7b925ad9d0c33d2bf4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Fri, 10 Oct 2025 15:39:06 +0200 Subject: [PATCH 04/10] style --- .../metadata/api/requestprocessor/RequestProcessor.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java b/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java index bb17cbc8a..ff38c0fa7 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java @@ -45,6 +45,10 @@ public RequestProcessor.QueryBuilder queryforFindTerritoire() { return new RequestProcessor.QueryBuilder(TERRITOIRE, this); } + public RequestProcessor.QueryBuilder queryToFindIrisAndFauxIris() { + return new RequestProcessor.QueryBuilder(IRIS_FAUX_IRIS, this); + } + public RequestProcessor.QueryBuilder queryforFindIris() { return new RequestProcessor.QueryBuilder(IRIS, this); } @@ -117,8 +121,8 @@ public ExecutableQuery with(ProjetesRequestParametizer projetesRequestParametize } - public ExecutableQuery with(IrisRequestParametizer irisListRequestParametizer) { - return new ExecutableQuery(requestProcessor.queryBuilder().build(irisListRequestParametizer.toParameters(), queryPath), requestProcessor);} + public ExecutableQuery with(IrisRequestParametizer irisRequestParametizer) { + return new ExecutableQuery(requestProcessor.queryBuilder().build(irisRequestParametizer.toParameters(), queryPath), requestProcessor);} } From 82d4f744d2a2ba240b8739c4cf3185ad6cf1eca1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Fri, 10 Oct 2025 16:01:35 +0200 Subject: [PATCH 05/10] test --- .../metadata/api/testcontainers/queries/GeoIrisQueriesTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoIrisQueriesTest.java b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoIrisQueriesTest.java index fdd56ea40..d3a14df64 100644 --- a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoIrisQueriesTest.java +++ b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoIrisQueriesTest.java @@ -41,7 +41,7 @@ void should_return_irisCode_010040101_when_code010040101_date20250904() { var response = endpoints.getcogiris("010040101", LocalDate.of(2025, 9, 4)); var result = response.getBody(); assertAll( - () -> assertEquals("98411", result.getCode()), + () -> assertEquals("010040101", result.getCode()), () -> assertEquals("http://id.insee.fr/geo/iris/b8c772de-9551-4f13-81c5-eca5bb0f2f7d", result.getUri()), () -> assertEquals(Iris.TypeEnum.IRIS, result.getType()), () -> assertEquals(LocalDate.of(2008,1,1), result.getDateCreation()), From 7ac5f53f5381e3d38d885db738744640187c5970 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Fri, 10 Oct 2025 17:14:10 +0200 Subject: [PATCH 06/10] feat: for geo/iris/{code} --- .../rmes/metadata/api/GeoIrisEndpoints.java | 41 +++++++++++++++---- .../rmes/metadata/queries/QueryBuilder.java | 2 +- .../metadata/queryexecutor/QueryExecutor.java | 2 +- 3 files changed, 34 insertions(+), 11 deletions(-) diff --git a/impl/src/main/java/fr/insee/rmes/metadata/api/GeoIrisEndpoints.java b/impl/src/main/java/fr/insee/rmes/metadata/api/GeoIrisEndpoints.java index df61827eb..110d99630 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/api/GeoIrisEndpoints.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/api/GeoIrisEndpoints.java @@ -1,10 +1,15 @@ package fr.insee.rmes.metadata.api; import fr.insee.rmes.metadata.api.requestprocessor.RequestProcessor; +import fr.insee.rmes.metadata.model.Commune; import fr.insee.rmes.metadata.model.Iris; import fr.insee.rmes.metadata.model.TerritoireTousAttributs; +import fr.insee.rmes.metadata.queries.parameters.ConceptRequestParametizer; import fr.insee.rmes.metadata.queries.parameters.IrisRequestParametizer; import fr.insee.rmes.metadata.queries.parameters.TerritoireRequestParametizer; +import fr.insee.rmes.metadata.utils.ConceptDTO; +import fr.insee.rmes.metadata.utils.EndpointsUtils; +import jakarta.ws.rs.core.Response; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; @@ -24,21 +29,39 @@ public GeoIrisEndpoints(RequestProcessor requestProcessor) { @Override public ResponseEntity getcogiris(String code, LocalDate date) { - String codeCommune=code.substring(0, 5); - var queryResult = requestProcessor.queryToFindIrisDescendantsCommune() + String codeCommune = code.substring(0, 5); + boolean comHasIrisDescendant = requestProcessor.queryToFindIrisDescendantsCommune() .with(new IrisRequestParametizer(codeCommune, date)) .executeAskQuery(); + if (comHasIrisDescendant){ - -//bloc de fin pour que ça compile mais à revoir - return requestProcessor.queryforFindIris() - .with(new TerritoireRequestParametizer(code, date, Iris.class, "none")) - .executeQuery() - .singleResult(Iris.class) - .toResponseEntity(); + if (!code.endsWith("0000")) { + Iris iris = requestProcessor.queryToFindIrisAndFauxIris() + .with(new IrisRequestParametizer(code, date)) + .executeQuery() + .singleResult(Iris.class).result(); + return EndpointsUtils.toResponseEntity(iris); + } else { + return ResponseEntity.notFound().build(); + } + } + else { //it is a false-Iris + if (!code.endsWith("0000")) { + return ResponseEntity.notFound().build(); + } + else {//return the COMMUNE + Iris iris = requestProcessor.queryforFindTerritoire() + .with(new TerritoireRequestParametizer(codeCommune, date, Commune.class, "none")) + .executeQuery() + .singleResult(Iris.class).result(); + iris.setCode(code); //modify code property to have in output the Iris code and not the commune code + return EndpointsUtils.toResponseEntity(iris); + } + } } + @Override public ResponseEntity> getcogirislist (LocalDate date, Boolean com) { boolean finalcom = (com != null) && com; diff --git a/impl/src/main/java/fr/insee/rmes/metadata/queries/QueryBuilder.java b/impl/src/main/java/fr/insee/rmes/metadata/queries/QueryBuilder.java index bd81f7e52..380175744 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/queries/QueryBuilder.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/queries/QueryBuilder.java @@ -24,7 +24,7 @@ public record QueryBuilder(Configuration freemarkerConfiguration) { public static final String CANTON_COMMUNES = "geographie/getCantonCommunesByCodeDate.ftlh"; public static final String PRECEDENTS = "geographie/getPreviousOrNextByCodeTypeDate.ftlh"; public static final String PROJETES = "geographie/getProjectionByCodeTypeDate.ftlh"; - // public static final String IRIS = "geographie/getIrisByCodeDate.ftlh"; + public static final String IRIS_FAUX_IRIS = "geographie/getIrisByCodeDate.ftlh"; public static final String IRIS = "geographie/getTerritoireByCodeDateNomCommune.ftlh"; public static final String IRIS_LIST = "geographie/getIrisList.ftlh"; public static final String LIEN_COMMUNE_IRIS = "geographie/hasIrisDescendant.ftlh"; diff --git a/impl/src/main/java/fr/insee/rmes/metadata/queryexecutor/QueryExecutor.java b/impl/src/main/java/fr/insee/rmes/metadata/queryexecutor/QueryExecutor.java index 9e35d6197..0e6bfa56c 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/queryexecutor/QueryExecutor.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/queryexecutor/QueryExecutor.java @@ -87,7 +87,7 @@ public Boolean executeAskQuery(@NonNull Query query) { log.debug("SPARQL ASK response: {}", response); - // Parse la réponse JSON pour extraire le booléen + // Parse the Json response to extract the boolean return parseAskResponse(response); } catch (Exception e) { log.error("Unexpected error while executing SPARQL ASK query: {}", e.getMessage(), e); From 7832be97d62bc75c36574590ee595d2ff6006eec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Fri, 10 Oct 2025 17:22:32 +0200 Subject: [PATCH 07/10] style --- .../rmes/metadata/api/requestprocessor/RequestProcessor.java | 4 ---- .../api/testcontainers/queries/GeoIrisQueriesTest.java | 3 --- 2 files changed, 7 deletions(-) diff --git a/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java b/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java index ff38c0fa7..b04c66f5b 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java @@ -49,10 +49,6 @@ public RequestProcessor.QueryBuilder queryToFindIrisAndFauxIris() { return new RequestProcessor.QueryBuilder(IRIS_FAUX_IRIS, this); } - public RequestProcessor.QueryBuilder queryforFindIris() { - return new RequestProcessor.QueryBuilder(IRIS, this); - } - public RequestProcessor.QueryBuilder queryToFindIrisList() { return new RequestProcessor.QueryBuilder(IRIS_LIST, this); } diff --git a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoIrisQueriesTest.java b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoIrisQueriesTest.java index d3a14df64..4a44543f8 100644 --- a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoIrisQueriesTest.java +++ b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoIrisQueriesTest.java @@ -1,11 +1,8 @@ package fr.insee.rmes.metadata.api.testcontainers.queries; -import fr.insee.rmes.metadata.api.GeoIntercommunaliteEndpoints; import fr.insee.rmes.metadata.api.GeoIrisEndpoints; -import fr.insee.rmes.metadata.model.District; import fr.insee.rmes.metadata.model.Iris; import fr.insee.rmes.metadata.model.TerritoireTousAttributs; -import org.junit.Assert; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; From eb5ae856fb861bd18340cc638832c23f21a6c60c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Mon, 13 Oct 2025 10:52:58 +0200 Subject: [PATCH 08/10] refactor : code sharing --- .../rmes/metadata/api/GeoIrisEndpoints.java | 11 ++----- .../requestprocessor/RequestProcessor.java | 3 -- .../parameters/IrisRequestParametizer.java | 31 ------------------- .../TerritoireRequestParametizer.java | 21 ++++++++----- 4 files changed, 16 insertions(+), 50 deletions(-) delete mode 100644 impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/IrisRequestParametizer.java diff --git a/impl/src/main/java/fr/insee/rmes/metadata/api/GeoIrisEndpoints.java b/impl/src/main/java/fr/insee/rmes/metadata/api/GeoIrisEndpoints.java index 110d99630..2c59a0009 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/api/GeoIrisEndpoints.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/api/GeoIrisEndpoints.java @@ -4,16 +4,11 @@ import fr.insee.rmes.metadata.model.Commune; import fr.insee.rmes.metadata.model.Iris; import fr.insee.rmes.metadata.model.TerritoireTousAttributs; -import fr.insee.rmes.metadata.queries.parameters.ConceptRequestParametizer; -import fr.insee.rmes.metadata.queries.parameters.IrisRequestParametizer; import fr.insee.rmes.metadata.queries.parameters.TerritoireRequestParametizer; -import fr.insee.rmes.metadata.utils.ConceptDTO; import fr.insee.rmes.metadata.utils.EndpointsUtils; -import jakarta.ws.rs.core.Response; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; -import java.net.URI; import java.time.LocalDate; import java.util.List; @@ -31,14 +26,14 @@ public GeoIrisEndpoints(RequestProcessor requestProcessor) { public ResponseEntity getcogiris(String code, LocalDate date) { String codeCommune = code.substring(0, 5); boolean comHasIrisDescendant = requestProcessor.queryToFindIrisDescendantsCommune() - .with(new IrisRequestParametizer(codeCommune, date)) + .with(new TerritoireRequestParametizer(codeCommune, date)) .executeAskQuery(); if (comHasIrisDescendant){ if (!code.endsWith("0000")) { Iris iris = requestProcessor.queryToFindIrisAndFauxIris() - .with(new IrisRequestParametizer(code, date)) + .with(new TerritoireRequestParametizer(code, date)) .executeQuery() .singleResult(Iris.class).result(); return EndpointsUtils.toResponseEntity(iris); @@ -66,7 +61,7 @@ public ResponseEntity getcogiris(String code, LocalDate date) { public ResponseEntity> getcogirislist (LocalDate date, Boolean com) { boolean finalcom = (com != null) && com; return requestProcessor.queryToFindIrisList() - .with(new IrisRequestParametizer(date, finalcom)) + .with(new TerritoireRequestParametizer(date, finalcom)) .executeQuery() .listResult(TerritoireTousAttributs.class) .toResponseEntity(); diff --git a/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java b/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java index b04c66f5b..2969843a3 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/api/requestprocessor/RequestProcessor.java @@ -116,9 +116,6 @@ public ExecutableQuery with(ProjetesRequestParametizer projetesRequestParametize return new ExecutableQuery(requestProcessor.queryBuilder().build(projetesRequestParametizer.toParameters(), queryPath), requestProcessor); } - - public ExecutableQuery with(IrisRequestParametizer irisRequestParametizer) { - return new ExecutableQuery(requestProcessor.queryBuilder().build(irisRequestParametizer.toParameters(), queryPath), requestProcessor);} } diff --git a/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/IrisRequestParametizer.java b/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/IrisRequestParametizer.java deleted file mode 100644 index b01ed9c43..000000000 --- a/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/IrisRequestParametizer.java +++ /dev/null @@ -1,31 +0,0 @@ -package fr.insee.rmes.metadata.queries.parameters; - -import java.lang.reflect.RecordComponent; -import java.time.LocalDate; - -public record IrisRequestParametizer(String code, - LocalDate date, - boolean com) implements ParametersForQuery{ - - //for geo/iris - public IrisRequestParametizer(LocalDate date, - boolean com) { - this("none", date, com); - } - - //for geo/iris/{code} hasIrisDescendant - public IrisRequestParametizer(String code, LocalDate date) { - this(code, date, true); //com could be true or false - } - - @Override - public ParameterValueDecoder findParameterValueDecoder(RecordComponent recordComponent) { - return ParametersForQuery.super.findParameterValueDecoder(recordComponent); - } - - -} - - - - diff --git a/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/TerritoireRequestParametizer.java b/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/TerritoireRequestParametizer.java index 8f56cc560..0a8893a2c 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/TerritoireRequestParametizer.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/TerritoireRequestParametizer.java @@ -1,5 +1,7 @@ package fr.insee.rmes.metadata.queries.parameters; +import fr.insee.rmes.metadata.model.Iris; + import java.lang.reflect.RecordComponent; import java.time.LocalDate; @@ -26,14 +28,17 @@ public TerritoireRequestParametizer(LocalDate date, this("none", date, typeOrigine, "*", chefLieu, com); } - //for geo/communes and geo/bassinsDeVie2022 before date * developments : unused ? -// public TerritoireRequestParametizer(LocalDate date, -// Class typeOrigine, -// String filtreNom, -// String chefLieu, -// boolean com) { -// this("none", date, typeOrigine, filtreNom, chefLieu, com); -// } + //for geo/iris + public TerritoireRequestParametizer(LocalDate date, + boolean com) { + this("none", date, Iris.class , "*", "*", com);//regardless of the values of typeOrigine, filtreNom et chefLieu + } + + //for geo/iris/{code} + public TerritoireRequestParametizer(String code, LocalDate date) { + this(code, date, Iris.class, "*", "*", true); + //regardless of the values of typeOrigine, filtreNom, chefLieu and com, + date for hasIrisDescendant + } //for geo/arrondissements, geo/aireDAttractionDesVilles2020, etc public TerritoireRequestParametizer(LocalDate date, From 24ec03522dabc6e1e31a1b2acabdbc01a60b8ff5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Mon, 13 Oct 2025 13:58:52 +0200 Subject: [PATCH 09/10] style: delete unuseful imports --- impl/src/main/java/fr/insee/rmes/metadata/Metadata.java | 1 - .../metadata/api/GeoAireDAttractionDesVillesEndpoints.java | 1 - .../fr/insee/rmes/metadata/api/GeoDepartementEndpoints.java | 4 ---- .../java/fr/insee/rmes/metadata/config/MetadataConfig.java | 3 --- .../java/fr/insee/rmes/metadata/queries/QueryBuilder.java | 1 - .../parameters/TerritoireEtoileRequestParametizer.java | 1 - .../fr/insee/rmes/metadata/queryexecutor/QueryExecutor.java | 3 --- .../main/java/fr/insee/rmes/metadata/utils/ConceptDTO.java | 1 - .../metadata/utils/TypeEnumDescendantsRegionConverter.java | 1 - .../api/testcontainers/queries/GeoCantonQueriesTest.java | 1 - .../api/testcontainers/queries/GeoDistrictQueriesTest.java | 1 - .../testcontainers/queries/GeoUniteUrbaineQueriesTest.java | 1 - .../api/testcontainers/queries/TestcontainerTest.java | 1 - 13 files changed, 20 deletions(-) diff --git a/impl/src/main/java/fr/insee/rmes/metadata/Metadata.java b/impl/src/main/java/fr/insee/rmes/metadata/Metadata.java index 414cfd657..fcede5a3a 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/Metadata.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/Metadata.java @@ -3,7 +3,6 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import java.time.Instant; @SpringBootApplication public class Metadata { diff --git a/impl/src/main/java/fr/insee/rmes/metadata/api/GeoAireDAttractionDesVillesEndpoints.java b/impl/src/main/java/fr/insee/rmes/metadata/api/GeoAireDAttractionDesVillesEndpoints.java index eb438887e..a085c5e0a 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/api/GeoAireDAttractionDesVillesEndpoints.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/api/GeoAireDAttractionDesVillesEndpoints.java @@ -2,7 +2,6 @@ import fr.insee.rmes.metadata.api.requestprocessor.RequestProcessor; import fr.insee.rmes.metadata.model.AireDAttractionDesVilles2020; -import fr.insee.rmes.metadata.model.Pays; import fr.insee.rmes.metadata.model.TerritoireTousAttributs; import fr.insee.rmes.metadata.model.TypeEnumDescendantsAireDAttractionDesVilles; import fr.insee.rmes.metadata.queries.parameters.AscendantsDescendantsRequestParametizer; diff --git a/impl/src/main/java/fr/insee/rmes/metadata/api/GeoDepartementEndpoints.java b/impl/src/main/java/fr/insee/rmes/metadata/api/GeoDepartementEndpoints.java index 6e87abb3b..7aa99514d 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/api/GeoDepartementEndpoints.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/api/GeoDepartementEndpoints.java @@ -1,9 +1,5 @@ package fr.insee.rmes.metadata.api; -import fr.insee.rmes.metadata.queries.parameters.AscendantsDescendantsRequestParametizer; -import fr.insee.rmes.metadata.queries.parameters.PrecedentsSuivantsRequestParametizer; -import fr.insee.rmes.metadata.queries.parameters.ProjetesRequestParametizer; -import fr.insee.rmes.metadata.queries.parameters.TerritoireRequestParametizer; import fr.insee.rmes.metadata.api.requestprocessor.RequestProcessor; import fr.insee.rmes.metadata.model.*; import fr.insee.rmes.metadata.queries.parameters.*; diff --git a/impl/src/main/java/fr/insee/rmes/metadata/config/MetadataConfig.java b/impl/src/main/java/fr/insee/rmes/metadata/config/MetadataConfig.java index f14ab6c47..d7fa7421a 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/config/MetadataConfig.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/config/MetadataConfig.java @@ -1,7 +1,6 @@ package fr.insee.rmes.metadata.config; import freemarker.cache.ClassTemplateLoader; -import freemarker.cache.FileTemplateLoader; import freemarker.cache.MultiTemplateLoader; import freemarker.cache.TemplateLoader; import freemarker.template.Configuration; @@ -11,10 +10,8 @@ import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.context.annotation.Bean; -import java.io.File; import java.io.IOException; import java.net.URISyntaxException; -import java.net.URL; import java.util.Locale; @org.springframework.context.annotation.Configuration diff --git a/impl/src/main/java/fr/insee/rmes/metadata/queries/QueryBuilder.java b/impl/src/main/java/fr/insee/rmes/metadata/queries/QueryBuilder.java index 380175744..b462ebf30 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/queries/QueryBuilder.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/queries/QueryBuilder.java @@ -25,7 +25,6 @@ public record QueryBuilder(Configuration freemarkerConfiguration) { public static final String PRECEDENTS = "geographie/getPreviousOrNextByCodeTypeDate.ftlh"; public static final String PROJETES = "geographie/getProjectionByCodeTypeDate.ftlh"; public static final String IRIS_FAUX_IRIS = "geographie/getIrisByCodeDate.ftlh"; - public static final String IRIS = "geographie/getTerritoireByCodeDateNomCommune.ftlh"; public static final String IRIS_LIST = "geographie/getIrisList.ftlh"; public static final String LIEN_COMMUNE_IRIS = "geographie/hasIrisDescendant.ftlh"; public static final String LIEN_PAYS = "geographie/getPays.ftlh"; diff --git a/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/TerritoireEtoileRequestParametizer.java b/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/TerritoireEtoileRequestParametizer.java index 7e8dad287..b858f5bdd 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/TerritoireEtoileRequestParametizer.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/queries/parameters/TerritoireEtoileRequestParametizer.java @@ -2,7 +2,6 @@ import java.lang.reflect.RecordComponent; -import java.time.LocalDate; public record TerritoireEtoileRequestParametizer(String code, String date, diff --git a/impl/src/main/java/fr/insee/rmes/metadata/queryexecutor/QueryExecutor.java b/impl/src/main/java/fr/insee/rmes/metadata/queryexecutor/QueryExecutor.java index 0e6bfa56c..74bd90a59 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/queryexecutor/QueryExecutor.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/queryexecutor/QueryExecutor.java @@ -3,9 +3,6 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import fr.insee.rmes.metadata.queries.Query; -import jakarta.ws.rs.client.Client; -import jakarta.ws.rs.client.ClientBuilder; -import jakarta.ws.rs.core.MediaType; import lombok.NonNull; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; diff --git a/impl/src/main/java/fr/insee/rmes/metadata/utils/ConceptDTO.java b/impl/src/main/java/fr/insee/rmes/metadata/utils/ConceptDTO.java index 0e88bbce4..c2d7c6b90 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/utils/ConceptDTO.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/utils/ConceptDTO.java @@ -5,7 +5,6 @@ import java.net.URI; import java.time.Instant; -import java.time.LocalDate; import java.time.format.DateTimeParseException; import java.util.ArrayList; import java.util.List; diff --git a/impl/src/main/java/fr/insee/rmes/metadata/utils/TypeEnumDescendantsRegionConverter.java b/impl/src/main/java/fr/insee/rmes/metadata/utils/TypeEnumDescendantsRegionConverter.java index 50be02be1..1489006b5 100644 --- a/impl/src/main/java/fr/insee/rmes/metadata/utils/TypeEnumDescendantsRegionConverter.java +++ b/impl/src/main/java/fr/insee/rmes/metadata/utils/TypeEnumDescendantsRegionConverter.java @@ -1,6 +1,5 @@ package fr.insee.rmes.metadata.utils; -import fr.insee.rmes.metadata.model.TypeEnumDescendantsIntercommunalite; import fr.insee.rmes.metadata.model.TypeEnumDescendantsRegion; import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; diff --git a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoCantonQueriesTest.java b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoCantonQueriesTest.java index 4019a31a0..5e9a55c10 100644 --- a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoCantonQueriesTest.java +++ b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoCantonQueriesTest.java @@ -2,7 +2,6 @@ import fr.insee.rmes.metadata.api.GeoCantonEndpoints; import fr.insee.rmes.metadata.model.Canton; -import fr.insee.rmes.metadata.model.TerritoireBase; import fr.insee.rmes.metadata.model.TerritoireTousAttributs; import fr.insee.rmes.metadata.model.TypeEnumAscendantsCanton; import org.junit.jupiter.api.Tag; diff --git a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoDistrictQueriesTest.java b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoDistrictQueriesTest.java index 9b6c0b79e..5c6c7056b 100644 --- a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoDistrictQueriesTest.java +++ b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoDistrictQueriesTest.java @@ -1,6 +1,5 @@ package fr.insee.rmes.metadata.api.testcontainers.queries; -import fr.insee.rmes.metadata.api.GeoCommuneDelegueeEndpoints; import fr.insee.rmes.metadata.api.GeoDistrictEndpoints; import fr.insee.rmes.metadata.model.*; import org.junit.Assert; diff --git a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoUniteUrbaineQueriesTest.java b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoUniteUrbaineQueriesTest.java index 06b371003..62592546a 100644 --- a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoUniteUrbaineQueriesTest.java +++ b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/GeoUniteUrbaineQueriesTest.java @@ -1,7 +1,6 @@ package fr.insee.rmes.metadata.api.testcontainers.queries; import fr.insee.rmes.metadata.api.GeoUniteUrbaineEndpoints; -import fr.insee.rmes.metadata.model.Region; import fr.insee.rmes.metadata.model.TerritoireTousAttributs; import fr.insee.rmes.metadata.model.TypeEnumDescendantsUniteUrbaine; import fr.insee.rmes.metadata.model.UniteUrbaine2020; diff --git a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/TestcontainerTest.java b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/TestcontainerTest.java index a85171964..eae5d5a8e 100644 --- a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/TestcontainerTest.java +++ b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/TestcontainerTest.java @@ -3,7 +3,6 @@ import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Disabled; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; From 0d6b1a0f9bea24e79dbd58057d13e04d7f85c2c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tandeau=20De=20Marsac=20Guyl=C3=A8ne?= Date: Mon, 13 Oct 2025 14:04:39 +0200 Subject: [PATCH 10/10] fix: test on concepts --- .../api/testcontainers/queries/ConceptsQueriesTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/ConceptsQueriesTest.java b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/ConceptsQueriesTest.java index 802ef341f..f49374fb7 100644 --- a/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/ConceptsQueriesTest.java +++ b/impl/src/test/java/fr/insee/rmes/metadata/api/testcontainers/queries/ConceptsQueriesTest.java @@ -135,14 +135,14 @@ void should_return_404_when_ConceptsDefinitionCode_codec1000() throws Exception{ // geo/concepts/definitions @Test - void should_return_1230_concepts_when_ConceptsDefinitions_libelleNull() { + void should_return_1232_concepts_when_ConceptsDefinitions_libelleNull() { var response = endpoints.getconceptsliste(""); var result = response.getBody(); Assertions.assertNotNull(result); var resultItem1= result.getFirst(); assertAll( - () -> assertEquals(1230, result.size()), + () -> assertEquals(1232, result.size()), () -> assertEquals("c1601", resultItem1.getId()), () -> assertEquals(URI.create("http://id.insee.fr/concepts/definition/c1601"), resultItem1.getUri()), () -> assertEquals("ADSL", resultItem1.getIntitule())