diff --git a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java index 5f8433b78b03fe9d9abaffd152edc760f238ca4f..f876e315ed224bfc667b6ff6fb9337a2bafb361f 100644 --- a/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java +++ b/src/main/java/eu/hbp/mip/controllers/ExperimentApi.java @@ -400,7 +400,7 @@ public class ExperimentApi { UserActionLogging.LogAction("Run workflow", "Could not find algorithm code: " + workflowId); return ResponseEntity.status(HttpStatus.BAD_REQUEST) - .body(new ErrorResponse("Could not find galaxy algorithm.", "99").toString()); + .body(new ErrorResponse("Could not find galaxy algorithm.").toString()); } final WorkflowDetails workflowDetails = workflowsClient.showWorkflow(workflow.getId()); for (Map.Entry<String, WorkflowInputDefinition> workflowParameter : workflowDetails.getInputs().entrySet()) { @@ -440,9 +440,8 @@ public class ExperimentApi { // Values are read from streams. JSONObject jObjectError = new JSONObject(msgErr); String errMsg = jObjectError.get("err_msg").toString(); - String errCode = jObjectError.get("err_code").toString(); - experiment.setResult(new ErrorResponse(errMsg, errCode).toString()); + experiment.setResult("[" + new ErrorResponse(errMsg).toString() + "]"); experiment.setHasError(response.code() >= 400); experiment.setHasServerError(response.code() >= 500); } @@ -531,7 +530,7 @@ public class ExperimentApi { experiment.setHasError(true); experiment.setHasServerError(true); } - experiment.setResult(result); + experiment.setResult("[" + result + "]"); experiment.setWorkflowStatus("completed"); resultFound = true; } @@ -539,7 +538,7 @@ public class ExperimentApi { if (!resultFound) { // If there is no visible result UserActionLogging.LogThreadAction("Update workflow experiment", "No visible result"); - experiment.setResult(new ErrorResponse("The workflow has no visible result.", "500").toString()); + experiment.setResult("[" + new ErrorResponse("The workflow has no visible result.").toString() + "]"); experiment.setHasError(true); experiment.setHasServerError(true); } @@ -566,7 +565,7 @@ public class ExperimentApi { experiment.setHasError(true); experiment.setHasServerError(true); } - experiment.setResult(result); + experiment.setResult("[" + result + "]"); experiment.setWorkflowStatus("error"); failedJobFound = true; } @@ -574,7 +573,7 @@ public class ExperimentApi { if (!failedJobFound) { // If there is no visible failed job UserActionLogging.LogThreadAction("Update workflow experiment", "No failed result"); - experiment.setResult(new ErrorResponse("The workflow has no failed result.", "500").toString()); + experiment.setResult("[" + new ErrorResponse("The workflow has no failed result.").toString() + "]"); experiment.setHasError(true); experiment.setHasServerError(true); } @@ -582,7 +581,7 @@ public class ExperimentApi { break; default: // InternalError or unexpected result - experiment.setResult(new ErrorResponse("An unexpected error occurred.", "500").toString()); + experiment.setResult("[" + new ErrorResponse("An unexpected error occurred.").toString() + "]"); experiment.setHasError(true); experiment.setHasServerError(true); finishExperiment(experiment); diff --git a/src/main/java/eu/hbp/mip/controllers/MiningApi.java b/src/main/java/eu/hbp/mip/controllers/MiningApi.java index f1a984eca2631c959067f646bcd6336ab56addfe..3adcc6269e8120147c6c81367c91b928c1d5d486 100644 --- a/src/main/java/eu/hbp/mip/controllers/MiningApi.java +++ b/src/main/java/eu/hbp/mip/controllers/MiningApi.java @@ -83,4 +83,12 @@ public class MiningApi { return new ResponseEntity<>("Not found", HttpStatus.BAD_REQUEST); } } + + @ApiOperation(value = "Check if a formula is valid", response = String.class) + @RequestMapping(value = "/checkFormula", method = RequestMethod.POST) + public ResponseEntity checkFormulaValidity(String formula) { + UserActionLogging.LogAction("Check Formula Validity", ""); + + return ResponseEntity.ok(""); + } } diff --git a/src/main/java/eu/hbp/mip/model/galaxy/ErrorResponse.java b/src/main/java/eu/hbp/mip/model/galaxy/ErrorResponse.java index e4144da6502ca26cf0f2032ace1d5d19d6c65746..77a171358b54561e3492dcb317acd835aeaa645f 100644 --- a/src/main/java/eu/hbp/mip/model/galaxy/ErrorResponse.java +++ b/src/main/java/eu/hbp/mip/model/galaxy/ErrorResponse.java @@ -7,35 +7,44 @@ package eu.hbp.mip.model.galaxy; import com.google.gson.annotations.SerializedName; -public class ErrorResponse { +import java.util.ArrayList; +import java.util.List; - @SerializedName("err_msg") - String errMsg; +public class ErrorResponse { - @SerializedName("err_code") - String errCode; + @SerializedName("result") + List<ErrorMessage> result; public ErrorResponse() { } - public ErrorResponse(String errMsg, String errCode) { - this.errMsg = errMsg; - this.errCode = errCode; + public ErrorResponse(String errMsg) { + this.result = new ArrayList<>(); + this.result.add(new ErrorMessage(errMsg)); } - public String getErrMsg() { - return errMsg; - } + public static class ErrorMessage { - public void setErrMsg(String errMsg) { - this.errMsg = errMsg; - } + @SerializedName("data") + String errMsg; - public String getErrCode() { - return errCode; - } + @SerializedName("type") + String errType; + + public ErrorMessage() { + } + + public ErrorMessage(String errMsg) { + this.errMsg = errMsg; + this.errType = "text/plain+error"; + } + + public String getErrMsg() { + return errMsg; + } - public void setErrCode(String errCode) { - this.errCode = errCode; + public void setErrMsg(String errMsg) { + this.errMsg = errMsg; + } } }