Skip to content

Commit c950c0b

Browse files
GtanSndilGtanSndil
andauthored
Fix/dataset id fix import to magma fusion (#439)
* fix: sparql query when dateMiseAJourTrue * fix: management for dateMiseAJourfalse when disseminationStatus or wasGeneratedBy is null * feat: dataset/{id} --------- Co-authored-by: GtanSndil <C3JGPV@ad.insee.intra>
1 parent cf1b8e3 commit c950c0b

File tree

3 files changed

+41
-15
lines changed

3 files changed

+41
-15
lines changed

magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/modelSwagger/dataset/DataSetModelSwagger.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,4 +194,15 @@ public DataSetModelSwagger(Id id, List<LangContent> title, Uri uri, Modified mod
194194
this.validationState = validationState;
195195
this.themeModelSwaggerS = themeModelSwaggerS;
196196
}
197+
198+
public DataSetModelSwagger(Id id, List<LangContent> title, Uri uri, String validationState, CatalogRecordCreated catalogRecordCreated, CatalogRecordModified catalogRecordModified, CatalogRecordCreator catalogRecordCreator, CatalogRecordContributor catalogRecordContributor) {
199+
this.id = id.toString();
200+
this.title = title;
201+
this.uri = uri.toString();
202+
this.validationState = validationState;
203+
this.catalogRecordContributor = catalogRecordContributor;
204+
this.catalogRecordCreator = catalogRecordCreator;
205+
this.catalogRecordCreated = catalogRecordCreated;
206+
this.catalogRecordModified = catalogRecordModified;
207+
}
197208
}

magma-gestion-impl/src/main/java/fr/insee/rmes/magma/gestion/old/services/datasets/DataSetsImpl.java

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package fr.insee.rmes.magma.gestion.old.services.datasets;
22

3-
import tools.jackson.core.JacksonException;
4-
import tools.jackson.databind.JsonNode;
53
import fr.insee.rmes.magma.gestion.old.datasets.PatchDatasetDTO;
64
import fr.insee.rmes.magma.gestion.old.model.CodeList.Code;
75
import fr.insee.rmes.magma.gestion.old.model.datasets.*;
@@ -12,8 +10,6 @@
1210
import fr.insee.rmes.magma.gestion.old.utils.Constants;
1311
import fr.insee.rmes.magma.gestion.old.utils.config.Config;
1412
import fr.insee.rmes.magma.gestion.old.utils.exceptions.RmesException;
15-
import fr.insee.rmes.magma.gestion.old.model.datasets.*;
16-
import fr.insee.rmes.magma.gestion.old.modelSwagger.dataset.*;
1713
import fr.insee.rmes.magma.gestion.security.User;
1814
import org.json.JSONArray;
1915
import org.json.JSONObject;
@@ -25,6 +21,8 @@
2521
import org.springframework.http.ResponseEntity;
2622
import org.springframework.stereotype.Service;
2723
import org.springframework.web.client.RestClient;
24+
import tools.jackson.core.JacksonException;
25+
import tools.jackson.databind.JsonNode;
2826
import tools.jackson.databind.json.JsonMapper;
2927

3028
import java.util.*;
@@ -152,13 +150,22 @@ protected DataSetModelSwagger findDataSetModelSwagger(String id) throws RmesExce
152150
List<LangContent> title = constructLangContent(catalogue_result.getString("titleLg1"), catalogue_result.getString("titleLg2"));
153151
Id id1=new Id(catalogue_result.getString("id"));
154152
Uri uri = new Uri(catalogue_result.getString("uri"));
155-
DisseminationStatus disseminationStatus = new DisseminationStatus(ontologies_result.getString("labeldisseminationStatusLg1"));
153+
156154
CatalogRecordCreated catalogRecordCreated = new CatalogRecordCreated(catalogue_result.getString("catalogRecordCreated"));
157155
CatalogRecordModified catalogRecordModified = new CatalogRecordModified(catalogue_result.getString("catalogRecordModified"));
158156
CatalogRecordCreator catalogRecordCreator = new CatalogRecordCreator(catalogue_result.getString("catalogRecordCreator"));
159157
CatalogRecordContributor catalogRecordContributor = new CatalogRecordContributor(catalogue_result.getString("catalogRecordContributor"));
160158
String validationState = catalogue_result.getString("statutValidation");
161-
DataSetModelSwagger response = new DataSetModelSwagger(id1, title, uri, validationState, disseminationStatus, catalogRecordCreated,catalogRecordModified,catalogRecordCreator,catalogRecordContributor);
159+
160+
DisseminationStatus disseminationStatus = null;
161+
DataSetModelSwagger response = null;
162+
if (ontologies_result.has("labeldisseminationStatusLg1")){
163+
disseminationStatus = new DisseminationStatus(ontologies_result.getString("labeldisseminationStatusLg1"));
164+
response = new DataSetModelSwagger(id1, title, uri, validationState, disseminationStatus, catalogRecordCreated, catalogRecordModified, catalogRecordCreator, catalogRecordContributor);
165+
} else {
166+
response = new DataSetModelSwagger(id1, title, uri, validationState, catalogRecordCreated, catalogRecordModified, catalogRecordCreator, catalogRecordContributor);
167+
}
168+
162169
testPresenceVariablePuisAjout(response,catalogue_result,adms_result,codes_result,organisations_result,structures_result);
163170
return response;
164171
} else {
@@ -524,10 +531,14 @@ private List<IdLabel> getWasGeneratedBy(List<String> operationStat) throws RmesE
524531
params.put("URI", s.replace(" ", ""));
525532

526533
JSONObject wasGeneratedByQuery = repoGestion.getResponseAsObject(buildRequest(Constants.DATASETS_QUERIES_PATH+DATASET_BY_ID_PATH, "getDataSetByIdWasGeneratedBy.ftlh", params));
527-
List<LangContent> wasGeneratedByTitles = constructLangContent(wasGeneratedByQuery.getString("labelwasGeneratedByLg1"),wasGeneratedByQuery.getString("labelwasGeneratedByLg2"));
528-
IdLabel wasGeneratedByIdLabel = new IdLabel(wasGeneratedByQuery.getString("wasGeneratedById"),wasGeneratedByTitles);
529-
wasGeneratedByIdLabel.setType(wasGeneratedByQuery.getString("typeWasGeneratedBy"));
530-
wasGeneratedBy.add(wasGeneratedByIdLabel);
534+
List<LangContent> wasGeneratedByTitles = null;
535+
IdLabel wasGeneratedByIdLabel = null;
536+
if (wasGeneratedByQuery.has("wasGeneratedById")) {
537+
wasGeneratedByTitles = constructLangContent(wasGeneratedByQuery.getString("labelwasGeneratedByLg1"), wasGeneratedByQuery.getString("labelwasGeneratedByLg2"));
538+
wasGeneratedByIdLabel = new IdLabel(wasGeneratedByQuery.getString("wasGeneratedById"), wasGeneratedByTitles);
539+
wasGeneratedByIdLabel.setType(wasGeneratedByQuery.getString("typeWasGeneratedBy"));
540+
wasGeneratedBy.add(wasGeneratedByIdLabel);
541+
}
531542
}
532543
return wasGeneratedBy;
533544
}

magma-gestion-impl/src/main/resources/queries/dataSets/getDatasetById/getDataSetByIDSummary.ftlh

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@ select distinct ?id ?dateModification
22
FROM <http://rdf.insee.fr/graphes/catalogue>
33

44
where {
5-
?uri a dcat:Dataset ;
6-
dcterms:identifier "${ID}" ;
7-
dcterms:identifier ?id ;
8-
OPTIONAL {?uri dcterms:modified ?dateModification . }
5+
?uri a dcat:Dataset ;
6+
dcterms:identifier "${ID}" ;
7+
dcterms:identifier ?id ;
8+
OPTIONAL {
9+
?record a dcat:CatalogRecord ;
10+
foaf:primaryTopic ?uri ;
11+
dcterms:modified ?dateModification .
12+
}
913

10-
} group by ?id ?dateModification
14+
}

0 commit comments

Comments
 (0)