• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FIWARE / contract-management / #103

30 Sep 2026 02:39PM UTC coverage: 4.528% (+0.7%) from 3.796%
#103

Pull #28

vramperez
Address review: keep the standard stacktrace, only add the downstream answer

- DownstreamError no longer rewrites the cause chain into a custom format; it
  only adds what the stacktrace lacks: status and body of the downstream
  answer a failure was caused by
- The single place logging a failure attaches the exception, so the standard
  stacktrace is printed once per failure (subscription retries and faulty
  client requests stay one line)
- Removed remaining duplicate logs: the ContractManagementController and
  Oid4VpAuthHandler logged errors that are propagated and logged again; the
  OID4VP token failure is wrapped with client and scope instead

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Pull Request #28: Add failure reasons, downstream error descriptions and configurable log output

213 of 403 new or added lines in 35 files covered. (52.85%)

11 existing lines in 7 files now uncovered.

1621 of 35799 relevant lines covered (4.53%)

0.05 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/java/org/fiware/iam/exception/ConversionErrorExceptionhandler.java
1
package org.fiware.iam.exception;
2

3
import io.micronaut.context.annotation.Primary;
4
import io.micronaut.context.annotation.Requires;
5
import io.micronaut.core.convert.exceptions.ConversionErrorException;
6
import io.micronaut.http.HttpRequest;
7
import io.micronaut.http.HttpResponse;
8
import io.micronaut.http.HttpStatus;
9
import io.micronaut.http.annotation.Produces;
10
import io.micronaut.http.server.exceptions.ExceptionHandler;
11
import jakarta.inject.Singleton;
12
import lombok.extern.slf4j.Slf4j;
13
import org.fiware.iam.tmforum.productorder.model.ErrorVO;
14

15
@Produces
16
@Singleton
17
@Primary
18
@Requires(classes = {ConversionErrorException.class, ExceptionHandler.class})
19
@Slf4j
×
20
public class ConversionErrorExceptionhandler implements ExceptionHandler<ConversionErrorException, HttpResponse<ErrorVO>> {
×
21

22
    @Override
23
    public HttpResponse<ErrorVO> handle(HttpRequest request, ConversionErrorException exception) {
NEW
24
        log.warn("Rejected {} {} with 400, the request could not be converted: {}", request.getMethod(), request.getUri(), exception.getMessage());
×
25
        return HttpResponse.status(HttpStatus.BAD_REQUEST)
×
26
                .body(new ErrorVO().status(HttpStatus.BAD_REQUEST.toString())
×
27
                        .reason(HttpStatus.BAD_REQUEST.getReason())
×
28
                        .message("Request could not be answered due to faulty input."));
×
29
    }
30
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc