marta-jankovics commented on code in PR #3471:
URL: https://github.com/apache/fineract/pull/3471#discussion_r1336821620
##########
fineract-core/src/main/java/org/apache/fineract/batch/exception/ErrorHandler.java:
##########
@@ -71,24 +88,68 @@ private <T extends RuntimeException> ExceptionMapper<T>
findMostSpecificExceptio
return (ExceptionMapper<T>) defaultExceptionMapper;
}
- private <T> Set<T> createSet(T[] array) {
- if (array == null) {
- return Set.of();
- } else {
- return Set.of(array);
- }
- }
-
/**
* Returns an object of ErrorInfo type containing the information
regarding the raised error.
*
* @param exception
* @return ErrorInfo
*/
- public ErrorInfo handle(final RuntimeException exception) {
+ public ErrorInfo handle(@NotNull RuntimeException exception) {
ExceptionMapper<RuntimeException> exceptionMapper =
findMostSpecificExceptionHandler(exception);
Response response = exceptionMapper.toResponse(exception);
+ MultivaluedMap<String, Object> headers = response.getHeaders();
+ Set<Header> batchHeaders = headers == null ? null
+ : headers.keySet().stream().map(e -> new Header(e,
response.getHeaderString(e))).collect(Collectors.toSet());
return new ErrorInfo(response.getStatus(), ((FineractExceptionMapper)
exceptionMapper).errorCode(),
- JSON_HELPER.toJson(response.getEntity()));
+ JSON_HELPER.toJson(response.getEntity()), batchHeaders);
+ }
+
+ public RuntimeException getMappable(@NotNull Throwable thr) {
+ return getMappable(thr, null, null, null);
+ }
+
+ public RuntimeException getMappable(@NotNull Throwable t, String msgCode,
String defaultMsg, String param,
Review Comment:
You are right, but Throwable is not handled by the mappers, only
RuntimeException.
Maybe I can simplify this method to the last line, but we need something.
return new RuntimeException(msg, t);
eg. ParseException will return more sophisticated response this way, but I
can remove.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]