diff --git a/src/main/java/fr/insee/rmes/api/DescribeApi.java b/src/main/java/fr/insee/rmes/api/DescribeApi.java index a7a997a4..94600668 100644 --- a/src/main/java/fr/insee/rmes/api/DescribeApi.java +++ b/src/main/java/fr/insee/rmes/api/DescribeApi.java @@ -12,6 +12,8 @@ import org.apache.commons.lang3.StringUtils; +import fr.insee.rmes.modeles.utils.Header; + import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Schema; @@ -23,6 +25,7 @@ @Path("/technicalService") public class DescribeApi extends AbstractMetadataApi { + @GET @Path("/describe") @Produces(MediaType.APPLICATION_JSON) diff --git a/src/main/java/fr/insee/rmes/api/geo/PaysApi.java b/src/main/java/fr/insee/rmes/api/geo/PaysApi.java index 174a73f5..e85592f5 100644 --- a/src/main/java/fr/insee/rmes/api/geo/PaysApi.java +++ b/src/main/java/fr/insee/rmes/api/geo/PaysApi.java @@ -66,6 +66,7 @@ public Response getByCode( } return Response.ok(responseUtils.produceResponse(country, acceptHeader)).build(); } + } private boolean isValidCode(String code) { return code != null && code.matches(ConstGeoApi.PATTERN_PAYS); diff --git a/src/main/java/fr/insee/rmes/api/geo/territoire/BassinDeVie2022Api.java b/src/main/java/fr/insee/rmes/api/geo/territoire/BassinDeVie2022Api.java index 2c4cc4be..6236ad24 100644 --- a/src/main/java/fr/insee/rmes/api/geo/territoire/BassinDeVie2022Api.java +++ b/src/main/java/fr/insee/rmes/api/geo/territoire/BassinDeVie2022Api.java @@ -58,6 +58,7 @@ public class BassinDeVie2022Api extends AbstractGeoApi { description = LITTERAL_RESPONSE_DESCRIPTION) }) public Response getByCode( + @Parameter( description = ConstGeoApi.PATTERN_BASSINDEVIE_DESCRIPTION, required = true, @@ -105,6 +106,7 @@ public Response getByCode( description = LITTERAL_RESPONSE_DESCRIPTION) }) public Response getListe( + @Parameter(hidden = true) @HeaderParam(HttpHeaders.ACCEPT) String header, @Parameter( description = "Filtre pour renvoyer les bassins de vie à la date donnée. Par défaut, c’est la date courante. (Format : 'AAAA-MM-JJ')" + LITTERAL_PARAMETER_DATE_WITH_HISTORY, @@ -166,6 +168,7 @@ private String sanitizeFiltreNom(String filtreNom) { description = LITTERAL_RESPONSE_DESCRIPTION) }) public Response getDescendants( + @Parameter( description = ConstGeoApi.PATTERN_BASSINDEVIE_DESCRIPTION, required = true, @@ -195,6 +198,7 @@ public Response getDescendants( // Exécution de la requête SPARQL return this .generateResponseListOfTerritoire( + sparqlUtils.executeSparqlQuery( GeoQueries.getDescendantsBassinDeVie( code, diff --git a/src/main/java/fr/insee/rmes/api/geo/territoire/CantonOuVilleApi.java b/src/main/java/fr/insee/rmes/api/geo/territoire/CantonOuVilleApi.java index 04e5ac57..d6d57690 100644 --- a/src/main/java/fr/insee/rmes/api/geo/territoire/CantonOuVilleApi.java +++ b/src/main/java/fr/insee/rmes/api/geo/territoire/CantonOuVilleApi.java @@ -197,6 +197,7 @@ public Response getDescendants( .getDescendantsCantonOuVille( code, this.formatValidParameterDateIfIsNull(dateString), + this.formatValidParametertypeTerritoireIfIsNull(typeTerritoire), this.formatValidParameterFiltreIfIsNull(filtreNomString))), header, Territoires.class, diff --git a/src/main/java/fr/insee/rmes/api/geo/territoire/DepartementApi.java b/src/main/java/fr/insee/rmes/api/geo/territoire/DepartementApi.java index dcd8e980..fadbd57d 100644 --- a/src/main/java/fr/insee/rmes/api/geo/territoire/DepartementApi.java +++ b/src/main/java/fr/insee/rmes/api/geo/territoire/DepartementApi.java @@ -180,6 +180,7 @@ public Response getDescendants( if (date != null){ dateString = date.getString(); } + String filtreNomString = (filtreNom != null) ? sanitizeFiltreNom(filtreNom.getString()) : null; if ( ! this.verifyParametersTypeAndDateAreValid(typeTerritoire, dateString)) { return this.generateBadRequestResponse(); diff --git a/src/main/java/fr/insee/rmes/api/geo/territoire/IntercommunaliteAPI.java b/src/main/java/fr/insee/rmes/api/geo/territoire/IntercommunaliteAPI.java index f6002cde..0701dbfd 100644 --- a/src/main/java/fr/insee/rmes/api/geo/territoire/IntercommunaliteAPI.java +++ b/src/main/java/fr/insee/rmes/api/geo/territoire/IntercommunaliteAPI.java @@ -58,6 +58,7 @@ public class IntercommunaliteAPI extends AbstractGeoApi { content = @Content(schema = @Schema(implementation = Intercommunalite.class)), description = LITTERAL_RESPONSE_DESCRIPTION) }) + public Response getByCode( @Parameter(description = ConstGeoApi.PATTERN_INTERCO_DESCRIPTION, required = true, @@ -96,6 +97,7 @@ public Response getByCode( content = @Content(schema = @Schema(type = ARRAY, implementation = Intercommunalite.class)), description = LITTERAL_RESPONSE_DESCRIPTION) }) + public Response getListe( @Parameter(hidden = true) @HeaderParam(HttpHeaders.ACCEPT) String header, @Parameter(description = "Filtre pour renvoyer les intercommunalités à la date donnée. Par défaut, c’est la date courante. (Format : 'AAAA-MM-JJ')", @@ -146,6 +148,7 @@ private String sanitizeFiltreNom(String filtreNom) { content = @Content(schema = @Schema(type = ARRAY, implementation = Territoire.class)), description = LITTERAL_RESPONSE_DESCRIPTION) }) + public Response getAscendants( @Parameter(description = ConstGeoApi.PATTERN_INTERCO_DESCRIPTION, required = true, @@ -186,6 +189,7 @@ public Response getAscendants( content = @Content(schema = @Schema(type = ARRAY, implementation = Territoire.class)), description = LITTERAL_RESPONSE_DESCRIPTION) }) + public Response getDescendants( @Parameter(description = ConstGeoApi.PATTERN_INTERCO_DESCRIPTION, required = true, @@ -233,6 +237,7 @@ public Response getDescendants( content = @Content(schema = @Schema(implementation = Intercommunalite.class)), description = LITTERAL_RESPONSE_DESCRIPTION) }) + public Response getSuivant( @Parameter(description = ConstGeoApi.PATTERN_INTERCO_DESCRIPTION, required = true, @@ -274,6 +279,7 @@ public Response getSuivant( content = @Content(schema = @Schema(implementation = Intercommunalite.class)), description = LITTERAL_RESPONSE_DESCRIPTION) }) + public Response getProjection( @Parameter(description = ConstGeoApi.PATTERN_INTERCO_DESCRIPTION, required = true, @@ -304,5 +310,4 @@ public Response getProjection( Intercommunalite.class); } } - } diff --git a/src/main/java/fr/insee/rmes/api/geo/territoire/RegionApi.java b/src/main/java/fr/insee/rmes/api/geo/territoire/RegionApi.java index 85611e62..356e1ca9 100644 --- a/src/main/java/fr/insee/rmes/api/geo/territoire/RegionApi.java +++ b/src/main/java/fr/insee/rmes/api/geo/territoire/RegionApi.java @@ -103,6 +103,7 @@ public Response getByCode( description = LITTERAL_RESPONSE_DESCRIPTION) }) public Response getDescendants( + @Parameter( description = ConstGeoApi.PATTERN_REGION_DESCRIPTION, required = true, diff --git a/src/test/java/fr/insee/rmes/api/classifications/CodesAPITest.java b/src/test/java/fr/insee/rmes/api/classifications/CodesAPITest.java index 58407a92..72886cc0 100644 --- a/src/test/java/fr/insee/rmes/api/classifications/CodesAPITest.java +++ b/src/test/java/fr/insee/rmes/api/classifications/CodesAPITest.java @@ -295,6 +295,7 @@ void givenGetActivities_whenCorrectRequest_thenResponseIsOk() { codesAPI.getActivities("25.2", null, MediaType.APPLICATION_JSON); verify(mockResponseUtils, times(1)).produceResponse(Mockito.any(), Mockito.any()); + codesAPI.getActivities("25.2", new Date("*"), MediaType.APPLICATION_JSON); verify(mockResponseUtils, times(2)).produceResponse(Mockito.any(), Mockito.any()); diff --git a/src/test/java/fr/insee/rmes/api/geo/PaysApiTest.java b/src/test/java/fr/insee/rmes/api/geo/PaysApiTest.java index 8e4ab0d9..37de8b7e 100644 --- a/src/test/java/fr/insee/rmes/api/geo/PaysApiTest.java +++ b/src/test/java/fr/insee/rmes/api/geo/PaysApiTest.java @@ -40,6 +40,7 @@ void givenGetCountry_whenCorrectRequest_andHeaderContentIsJson_thenResponseIsOk( this.mockUtilsMethodsThenReturnOnePojo(country, Boolean.TRUE); // Call method + geoApi.getByCode("something",headerJSON); verify(mockResponseUtils, times(1)).produceResponse(Mockito.any(), Mockito.any()); }*/ @@ -60,6 +61,7 @@ void givenGetCountry_whenCorrectRequest_andHeaderContentIsXml_thenResponseIsOk() this.mockUtilsMethodsThenReturnOnePojo(country, Boolean.TRUE); // Mock methods + geoApi.getByCode("something",headerXML); verify(mockResponseUtils, times(1)).produceResponse(Mockito.any(), Mockito.any()); }*/ diff --git a/src/test/java/fr/insee/rmes/api/geo/territoire/CommuneApiTest.java b/src/test/java/fr/insee/rmes/api/geo/territoire/CommuneApiTest.java index 404b09d9..4b838567 100644 --- a/src/test/java/fr/insee/rmes/api/geo/territoire/CommuneApiTest.java +++ b/src/test/java/fr/insee/rmes/api/geo/territoire/CommuneApiTest.java @@ -342,6 +342,7 @@ void givenGetListeCommune_WhenCorrectRequest_thenParameterDateIsRight(String dat list.add(new Commune()); // Call method header content = xml + geoApi.getListe(MediaType.APPLICATION_XML, new Date(date), date, Boolean.TRUE);/*modifier suite a changement du nombre de variables */ geoApi.getListe(MediaType.APPLICATION_XML, new Date(date), date, Boolean.TRUE);*//*modifier suite a changement du nombre de variables *//* verify(mockResponseUtils, times(1)).produceResponse(Mockito.any(), Mockito.any()); }*/