From f88d9b838101af18bf6efbdd1ba5d06b468a576b Mon Sep 17 00:00:00 2001 From: Konstantinos Spyrou Date: Thu, 19 Jan 2023 12:28:31 +0200 Subject: [PATCH] fixed deserialization issue caused from json to String --- .../repo/manager/service/RepositoryServiceImpl.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main/java/eu/dnetlib/repo/manager/service/RepositoryServiceImpl.java b/src/main/java/eu/dnetlib/repo/manager/service/RepositoryServiceImpl.java index 898bbb1..ed8f062 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/RepositoryServiceImpl.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/RepositoryServiceImpl.java @@ -287,16 +287,14 @@ public class RepositoryServiceImpl implements RepositoryService { requestFilter.setEnglishname(englishName); try { - String rs = restTemplate.postForObject(uriComponents.toUri(), requestFilter, String.class); + Map rs = restTemplate.postForObject(uriComponents.toUri(), requestFilter, Map.class); if (rs == null) { logger.error("DSM response is null : [url={}]", uriComponents.toUri()); } else { - JSONObject response = new JSONObject(rs); - JSONArray jsonArray = (JSONArray) response.get("datasourceInfo"); - Header header = mapper.readValue(response.get("header").toString(), Header.class); + Header header = mapper.readValue(mapper.writeValueAsString(rs.get("header")), Header.class); snippets = Paging.of(header, mapper.readValue( - String.valueOf(jsonArray), + mapper.writeValueAsString(rs.get("datasourceInfo")), mapper.getTypeFactory().constructCollectionType(List.class, RepositorySnippet.class))); }