diff --git a/backend/src/main/java/service/ConfigExecutorService.java b/backend/src/main/java/service/ConfigExecutorService.java index d046375..7a64299 100644 --- a/backend/src/main/java/service/ConfigExecutorService.java +++ b/backend/src/main/java/service/ConfigExecutorService.java @@ -8,6 +8,7 @@ import java.util.Date; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; @@ -81,13 +82,18 @@ public class ConfigExecutorService { catch (HttpClientErrorException e) { if (e.getStatusCode() == HttpStatus.BAD_REQUEST) { - Map responseMap = new Gson().fromJson(e.getResponseBodyAsString(), - new TypeToken>() { + Map responseMap = new Gson().fromJson(e.getResponseBodyAsString(), + new TypeToken>() { }.getType() ); - String details = responseMap.get("details"); - throw new ConfigExecutorException(details); + @SuppressWarnings("unchecked") + Map details = (Map) responseMap.get("details"); + String detailsStr = details.entrySet() + .stream() + .map(entry -> entry.getKey() + " : " + entry.getValue()) + .collect(Collectors.joining("\n")); + throw new ConfigExecutorException(detailsStr); } else { throw new RuntimeException(