Skip to content

Commit

Permalink
#382 - Change display and translations structure for criteria and con…
Browse files Browse the repository at this point in the history
…cepts

- add translations to CriteriaProfileData
  • Loading branch information
michael-82 committed Jan 15, 2025
1 parent e2628fd commit 386af3b
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -108,4 +108,14 @@ public List<CriteriaProfileData> getCriteriaProfileData(List<String> criteriaIds

return results;
}

public List<CriteriaProfileData> addDisplayDataToCriteriaProfileData(List<CriteriaProfileData> criteriaProfileData, List<EsSearchResultEntry> displayData) {
var result = new ArrayList<CriteriaProfileData>();
for (CriteriaProfileData cpd : criteriaProfileData) {
var searchResultEntry = displayData.stream().filter(dd -> cpd.getId().equals(dd.id())).findFirst().orElse(null);
cpd.setDisplay(searchResultEntry == null ? null : searchResultEntry.display());
result.add(cpd);
}
return result;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
import de.numcodex.feasibility_gui_backend.common.api.DisplayEntry;
import de.numcodex.feasibility_gui_backend.common.api.TermCode;
import lombok.Builder;
import lombok.Data;
Expand All @@ -17,6 +18,8 @@
public class CriteriaProfileData {
@JsonProperty("id")
private String id;
@JsonProperty("display")
private DisplayEntry display;
@JsonProperty("context")
private TermCode context;
@JsonProperty("termCodes")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,13 @@ public EsSearchResultEntry getSearchResultEntryByHash(String hash) {
return EsSearchResultEntry.of(ontologyItem);
}

public List<EsSearchResultEntry> getSearchResultEntriesByHash(List<String> hashes) {
var ontologyItems = ontologyListItemEsRepository.findAllById(hashes);
List<EsSearchResultEntry> results = new ArrayList<>();
ontologyItems.forEach(oi -> results.add(EsSearchResultEntry.of(oi)));
return results;
}

public List<TermFilter> getAvailableFilters() {
var filterTerms = List.of(filterFields);
var list = new ArrayList<TermFilter>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@ public TerminologyRestController(TerminologyService terminologyService, Terminol

@GetMapping("criteria-profile-data")
public List<CriteriaProfileData> getCriteriaProfileData(@RequestParam List<String> ids) {
return terminologyService.getCriteriaProfileData(ids);
var criteriaProfileData = terminologyService.getCriteriaProfileData(ids);
var displayData = terminologyEsService.getSearchResultEntriesByHash(ids);
return terminologyService.addDisplayDataToCriteriaProfileData(criteriaProfileData, displayData);
}

@GetMapping(value = "systems", produces = MediaType.APPLICATION_JSON_VALUE)
Expand Down

0 comments on commit 386af3b

Please sign in to comment.