diff --git a/src/main/java/ru/ulstu/extractor/http/HttpService.java b/src/main/java/ru/ulstu/extractor/http/HttpService.java index 9a5d660..6d79315 100644 --- a/src/main/java/ru/ulstu/extractor/http/HttpService.java +++ b/src/main/java/ru/ulstu/extractor/http/HttpService.java @@ -21,15 +21,20 @@ public class HttpService { public JSONObject post(String url, JSONObject postData) { log.debug("Service call: {}", url); - JSONObject response = new JSONObject(Optional.ofNullable(client - .post() - .uri(url) - .contentType(MediaType.APPLICATION_JSON) - .body(BodyInserters.fromValue(postData.toString())) - .accept(MediaType.APPLICATION_JSON) - .retrieve() - .bodyToMono(String.class) - .block()).orElse("{response:\"empty\"}")); + JSONObject response = null; + try { + response = new JSONObject(Optional.ofNullable(client + .post() + .uri(url) + .contentType(MediaType.APPLICATION_JSON) + .body(BodyInserters.fromValue(postData.toString())) + .accept(MediaType.APPLICATION_JSON) + .retrieve() + .bodyToMono(String.class) + .toFuture().get()).orElse("{response:\"empty\"}")); + } catch (Exception e) { + return new JSONObject("{response:\"empty\"}"); + } log.debug("Service response: {}", response); return response; } diff --git a/src/main/java/ru/ulstu/extractor/ts/service/TimeSeriesService.java b/src/main/java/ru/ulstu/extractor/ts/service/TimeSeriesService.java index a901e84..3f8f6cd 100644 --- a/src/main/java/ru/ulstu/extractor/ts/service/TimeSeriesService.java +++ b/src/main/java/ru/ulstu/extractor/ts/service/TimeSeriesService.java @@ -119,7 +119,9 @@ public class TimeSeriesService { if (ts != null && ts.getValues().size() > 5) { JSONObject response = httpService.post(TIME_SERIES_TENDENCY_URL, new JSONObject(new SmoothingTimeSeries(ts))); LOG.debug("Успешно отправлен на сервис сглаживания"); - response.get("timeSeries"); + if (response.has("response") && response.getString("response").equals("empty")) { + return 0.0; + } JSONArray jsonArray = response.getJSONObject("timeSeries").getJSONArray("values"); return jsonArray.getJSONObject(jsonArray.length() - 1).getDouble("value"); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index f9422ed..193890c 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -11,6 +11,9 @@ logging.level.sun.rmi.transport=off logging.level.javax.management.remote.rmi=off logging.level.java.rmi.server=off extractor.custom-projects-dir= +server.error.include-stacktrace=always +server.error.include-exception=true +server.error.include-message=always # Thymeleaf Settings spring.thymeleaf.cache=false messages.basename.path=messages_en.properties diff --git a/src/main/resources/templates/error.html b/src/main/resources/templates/error.html index ce4f465..47f0e37 100644 --- a/src/main/resources/templates/error.html +++ b/src/main/resources/templates/error.html @@ -32,16 +32,26 @@

-

${url}
-

-
- ${exception.message} +
+ Status + +
+
+ Error + +
+
+ Message + +
+
+ Exception + +
+
+ Stacktrace +
-