Skip to content

Commit

Permalink
Support RPB entries as external-record (RPB-184)
Browse files Browse the repository at this point in the history
  • Loading branch information
fsteeg committed Jan 28, 2025
1 parent 32b5761 commit bce39c4
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion app/controllers/nwbib/Application.java
Original file line number Diff line number Diff line change
Expand Up @@ -1003,14 +1003,15 @@ private static JsonNode transform(JsonNode jsonBody)

private static Promise<JsonNode> addToLobidData(JsonNode transformedJson) {
String lobidUrl = transformedJson.get("hbzId").textValue();
WSRequest lobidRequest = WS.url(lobidUrl).setHeader("Content-Type", "application/json");
WSRequest lobidRequest = WS.url(lobidUrl).setQueryParameter("format", "json");
Promise<JsonNode> lobidPromise = lobidRequest.get().map(WSResponse::asJson);
Promise<JsonNode> merged = lobidPromise.map(lobidJson -> mergeRecords(transformedJson, lobidJson));
return merged;
}

private static JsonNode mergeRecords(JsonNode transformedJson, JsonNode lobidJson)
throws JsonMappingException, JsonProcessingException {
lobidJson = lobidJson.has("member") ? lobidJson.get("member").iterator().next() : lobidJson;
ObjectMapper objectMapper = new ObjectMapper();
MapType mapType = TypeFactory.defaultInstance().constructMapType(Map.class, String.class, Object.class);
Map<String, Object> transformedMap = objectMapper.readValue(transformedJson.toString(), mapType);
Expand Down

0 comments on commit bce39c4

Please sign in to comment.