- [x] Fix Batch API internal error

This commit is contained in:
Janos Haber
2023-05-10 10:58:07 +02:00
committed by Arnold Gálovics
parent ac1aeea12d
commit 0f1559cc7a
@@ -217,7 +217,10 @@ public class BatchApiServiceImpl implements BatchApiService {
BatchCallHandler callHandler = new BatchCallHandler(this.batchFilters, commandStrategy::execute); BatchCallHandler callHandler = new BatchCallHandler(this.batchFilters, commandStrategy::execute);
if (BatchRequestContextHolder.getEnclosingTransaction().isPresent()) { if (BatchRequestContextHolder.getEnclosingTransaction().isPresent()) {
if (BatchRequestContextHolder.getEnclosingTransaction().get().isRollbackOnly()) { if (BatchRequestContextHolder.getEnclosingTransaction().get().isRollbackOnly()) {
return new BatchResponse(); BatchResponse br = new BatchResponse();
br.setBody("Parent request was erroneous!");
br.setRequestId(request.getRequestId());
return br;
} }
entityManager.flush(); entityManager.flush();
} }
@@ -314,7 +317,11 @@ public class BatchApiServiceImpl implements BatchApiService {
errResponse.setBody("Transaction is being rolled back. First erroneous request: \n" + new Gson().toJson(res)); errResponse.setBody("Transaction is being rolled back. First erroneous request: \n" + new Gson().toJson(res));
errResponse.setRequestId(res.getRequestId()); errResponse.setRequestId(res.getRequestId());
if (statusCode == -1) { if (statusCode == -1) {
statusCode = res.getStatusCode(); if (res.getStatusCode() != null) {
statusCode = res.getStatusCode();
} else {
statusCode = Status.INTERNAL_SERVER_ERROR.getStatusCode();
}
} }
break; break;
} }