From e4fb2b81f6b0ece544e287a6de69dc066cd7ecf6 Mon Sep 17 00:00:00 2001 From: Ludovic Claude <ludovic.claude54@gmail.com> Date: Wed, 20 Mar 2019 19:02:14 +0100 Subject: [PATCH] Return only data part of Experiments Fixes HBPLD-302 --- src/main/java/eu/hbp/mip/akka/ExperimentActor.java | 1 + .../eu/hbp/mip/configuration/PortalErrorAttributes.java | 8 +++++++- src/main/java/eu/hbp/mip/controllers/ExperimentApi.java | 3 ++- src/main/java/eu/hbp/mip/model/Experiment.java | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java index 21b415266..7431d7928 100644 --- a/src/main/java/eu/hbp/mip/akka/ExperimentActor.java +++ b/src/main/java/eu/hbp/mip/akka/ExperimentActor.java @@ -47,6 +47,7 @@ public class ExperimentActor extends AbstractActor { experiment.setHasServerError(true); experiment.setResult(queryResult.error().get()); } else { + // TODO: use new WokenConversions().toJson(queryResult) experiment.setResult(queryResult.data().get().compactPrint()); } experiment.setFinished(Date.from(queryResult.timestamp().toInstant())); diff --git a/src/main/java/eu/hbp/mip/configuration/PortalErrorAttributes.java b/src/main/java/eu/hbp/mip/configuration/PortalErrorAttributes.java index 0143c42ca..aba509034 100644 --- a/src/main/java/eu/hbp/mip/configuration/PortalErrorAttributes.java +++ b/src/main/java/eu/hbp/mip/configuration/PortalErrorAttributes.java @@ -19,7 +19,13 @@ public class PortalErrorAttributes extends DefaultErrorAttributes { Map<String, Object> errorAttributes = super.getErrorAttributes(requestAttributes, includeStackTrace); Throwable throwable = getError(requestAttributes); - LOGGER.warn("Reporting server error", throwable); + StringBuilder sb = new StringBuilder("["); + for (String attr: requestAttributes.getAttributeNames(RequestAttributes.SCOPE_REQUEST)) { + Object v = requestAttributes.getAttribute(attr, RequestAttributes.SCOPE_REQUEST); + sb.append(attr).append(" = ").append(v).append('\n'); + } + sb.append("]"); + LOGGER.error("Reporting server error on request with attributes " + sb.toString(), throwable); if (throwable != null) { diff --git a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java index d94514c6e..caa8ea97b 100644 --- a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java +++ b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java @@ -272,7 +272,8 @@ public class ExperimentApi extends WokenClientController { experiment.setHasServerError(true); LOGGER.error("Experiment failed with message: " + queryResult.error().get()); } - experiment.setResult(new WokenConversions().toJson(queryResult)); + // TODO: use new WokenConversions().toJson(queryResult) + experiment.setResult(queryResult.data().get().compactPrint()); experiment.setFinished(Date.from(queryResult.timestamp().toInstant())); experimentRepository.save(experiment); LOGGER.info("Experiment " + uuid + " updated (finished)"); diff --git a/src/main/java/eu/hbp/mip/model/Experiment.java b/src/main/java/eu/hbp/mip/model/Experiment.java index 4356ee755..8f4dd0a34 100644 --- a/src/main/java/eu/hbp/mip/model/Experiment.java +++ b/src/main/java/eu/hbp/mip/model/Experiment.java @@ -309,7 +309,7 @@ public class Experiment { exp.remove("result"); if (!isExaremeAlgorithm._1) { - JsonArray jsonResult = parser.parse(this.result).getAsJsonArray(); + JsonElement jsonResult = parser.parse(this.result); exp.add("result", jsonResult); } else { JsonArray jsonArrayResult = new JsonArray(); -- GitLab