From e2a701f801b815a1fda7aae81af99241162387ed Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Tue, 8 Oct 2024 16:14:03 +0100 Subject: [PATCH 1/2] fix: missing validationState when fetching operation --- .../operations/OperationsUtils.java | 27 +++---------------- .../rmes/model/operations/Operation.java | 14 +++++++++- 2 files changed, 16 insertions(+), 25 deletions(-) diff --git a/src/main/java/fr/insee/rmes/bauhaus_services/operations/operations/OperationsUtils.java b/src/main/java/fr/insee/rmes/bauhaus_services/operations/operations/OperationsUtils.java index 3452539bf..575b5e8d2 100644 --- a/src/main/java/fr/insee/rmes/bauhaus_services/operations/operations/OperationsUtils.java +++ b/src/main/java/fr/insee/rmes/bauhaus_services/operations/operations/OperationsUtils.java @@ -17,6 +17,7 @@ import fr.insee.rmes.persistance.sparql_queries.operations.operations.OperationsQueries; import fr.insee.rmes.persistance.sparql_queries.operations.series.OpSeriesQueries; import fr.insee.rmes.utils.DateUtils; +import fr.insee.rmes.utils.Deserializer; import org.eclipse.rdf4j.model.IRI; import org.eclipse.rdf4j.model.Model; import org.eclipse.rdf4j.model.impl.LinkedHashModel; @@ -77,32 +78,10 @@ private void getOperationSeries(String id, JSONObject operation) throws RmesExce } - private Operation buildOperationFromJson(JSONObject operationJson) { - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true); - - Operation operation = new Operation(); - + private Operation buildOperationFromJson(JSONObject operationJson) throws RmesException { + Operation operation = Deserializer.deserializeJsonString(operationJson.toString(), Operation.class); IdLabelTwoLangs series = famOpeSerIndUtils.buildIdLabelTwoLangsFromJson(operationJson.getJSONObject("series")); - - operation.setId(operationJson.getString(Constants.ID)); - if(operationJson.has(Constants.PREF_LABEL_LG1)) { - operation.setPrefLabelLg1(operationJson.getString(Constants.PREF_LABEL_LG1)); - } - if(operationJson.has(Constants.PREF_LABEL_LG2)) { - operation.setPrefLabelLg2(operationJson.getString(Constants.PREF_LABEL_LG2)); - } - if(operationJson.has(Constants.ALT_LABEL_LG1)) { - operation.setAltLabelLg1(operationJson.getString(Constants.ALT_LABEL_LG1)); - } - if(operationJson.has(Constants.ALT_LABEL_LG2)) { - operation.setAltLabelLg2(operationJson.getString(Constants.ALT_LABEL_LG2)); - } operation.setSeries(series); - if(operationJson.has(Constants.ID_SIMS)) { - operation.setIdSims(operationJson.getString(Constants.ID_SIMS)); - } return operation; } diff --git a/src/main/java/fr/insee/rmes/model/operations/Operation.java b/src/main/java/fr/insee/rmes/model/operations/Operation.java index 1dcea0750..74ff2afeb 100644 --- a/src/main/java/fr/insee/rmes/model/operations/Operation.java +++ b/src/main/java/fr/insee/rmes/model/operations/Operation.java @@ -33,8 +33,11 @@ public class Operation { @Schema(description = "Update date") private String updated; + @Schema(description = "Validation State") + private String validationState; + public Operation(String id, String prefLabelLg1, String prefLabelLg2, String altLabelLg1, String altLabelLg2, - IdLabelTwoLangs series, String idSims) { + IdLabelTwoLangs series, String idSims, String validationState) { super(); this.id = id; this.prefLabelLg1 = prefLabelLg1; @@ -43,6 +46,7 @@ public Operation(String id, String prefLabelLg1, String prefLabelLg2, String alt this.altLabelLg2 = altLabelLg2; this.series = series; this.idSims = idSims; + this.validationState = validationState; } public Operation() { @@ -133,4 +137,12 @@ public String getUpdated() { public void setUpdated(String updated) { this.updated = updated; } + + public String getValidationState() { + return validationState; + } + + public void setValidationState(String validationState) { + this.validationState = validationState; + } } From 5026473f836df7dab7b6e80921c591a49c0fa5df Mon Sep 17 00:00:00 2001 From: Emmanuel Date: Tue, 8 Oct 2024 16:18:51 +0100 Subject: [PATCH 2/2] fix: solve unit test --- .../rmes/webservice/operations/OperationsResourcesTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/fr/insee/rmes/webservice/operations/OperationsResourcesTest.java b/src/test/java/fr/insee/rmes/webservice/operations/OperationsResourcesTest.java index 7fb9ea8f6..ad212c201 100644 --- a/src/test/java/fr/insee/rmes/webservice/operations/OperationsResourcesTest.java +++ b/src/test/java/fr/insee/rmes/webservice/operations/OperationsResourcesTest.java @@ -40,7 +40,7 @@ class OperationsResourcesTest { @CsvSource({ "1, '"+MediaType.APPLICATION_JSON_VALUE+"', '{\"id\":\"1\"}'", - "1, '"+MediaType.APPLICATION_XML_VALUE+"', '1'", + "1, '"+MediaType.APPLICATION_XML_VALUE+"', '1'", }) @ParameterizedTest void getOperationByID_resultFormatFitAccessHeader(String id, String mediaType, String expected) throws Exception {