Skip to content

Commit 136ece3

Browse files
GtanSndilGtanSndil
authored andcommitted
feat: dataset/id when labelCreatorLg2 does not exist
1 parent 8bd2939 commit 136ece3

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

src/main/java/fr/insee/rmes/services/datasets/DataSetsImpl.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -514,13 +514,20 @@ public Distributions[] getDataSetDistributionsById(String id) throws RmesExcepti
514514

515515
private List<IdLabel> getCreator(List<String> creatorUris) throws RmesException {
516516
List<IdLabel> creator = new ArrayList<>();
517-
for (String s : creatorUris){
517+
for (String s : creatorUris) {
518518

519519
params.put("URI", s.replace(" ", ""));
520520

521-
JSONObject creator_result = repoGestion.getResponseAsObject(buildRequest(Constants.DATASETS_QUERIES_PATH+DATASET_BY_ID_PATH, "getDataSetByIdCreator.ftlh", params));
522-
List<LangContent> creatorTitles = constructLangContent(creator_result.getString("labelCreatorLg1"),creator_result.getString("labelCreatorLg2"));
523-
IdLabel creatorIdLabel = new IdLabel(creator_result.getString("idCreator"),creatorTitles);
521+
JSONObject creator_result = repoGestion.getResponseAsObject(buildRequest(Constants.DATASETS_QUERIES_PATH + DATASET_BY_ID_PATH, "getDataSetByIdCreator.ftlh", params));
522+
523+
List<LangContent> creatorTitles = null;
524+
if (creator_result.has("labelCreatorLg2")) {
525+
creatorTitles = constructLangContent(creator_result.getString("labelCreatorLg1"), creator_result.getString("labelCreatorLg2"));
526+
}
527+
else {
528+
creatorTitles = constructLangContent(creator_result.getString("labelCreatorLg1"), null);
529+
}
530+
IdLabel creatorIdLabel = new IdLabel(creator_result.getString("idCreator"), creatorTitles);
524531
creator.add(creatorIdLabel);
525532
}
526533
return creator;

src/main/resources/queries/dataSets/getDatasetById/getDataSetByIdCreator.ftlh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ WHERE {
1313
?creator dcterms:identifier ?idCreator .
1414
?creator skos:prefLabel ?labelCreatorLg1 .
1515
FILTER(lang(?labelCreatorLg1)= '${LG1}') .
16-
?creator skos:prefLabel ?labelCreatorLg2 .
17-
FILTER(lang(?labelCreatorLg2)= '${LG2}') .}
16+
OPTIONAL {
17+
?creator skos:prefLabel ?labelCreatorLg2 .
18+
FILTER(lang(?labelCreatorLg2)= '${LG2}') .}
19+
}
1820
}

0 commit comments

Comments
 (0)