From 24d5417415a72e98bf8f1b4daa2883897803041b Mon Sep 17 00:00:00 2001 From: Peter Havekes Date: Wed, 7 Jan 2026 10:25:45 +0100 Subject: [PATCH 1/2] Handle 404 error differently in InstitutionAttributeAggregator Addition to #144 --- .../institution/InstitutionAttributeAggregator.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/aa/aggregators/institution/InstitutionAttributeAggregator.java b/src/main/java/aa/aggregators/institution/InstitutionAttributeAggregator.java index f1d805c8..851a60f6 100644 --- a/src/main/java/aa/aggregators/institution/InstitutionAttributeAggregator.java +++ b/src/main/java/aa/aggregators/institution/InstitutionAttributeAggregator.java @@ -67,8 +67,12 @@ public List aggregate(List input, Map Date: Wed, 7 Jan 2026 10:35:44 +0100 Subject: [PATCH 2/2] Use HttpStatusCodeException --- .../institution/InstitutionAttributeAggregator.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/aa/aggregators/institution/InstitutionAttributeAggregator.java b/src/main/java/aa/aggregators/institution/InstitutionAttributeAggregator.java index 851a60f6..c2550ae3 100644 --- a/src/main/java/aa/aggregators/institution/InstitutionAttributeAggregator.java +++ b/src/main/java/aa/aggregators/institution/InstitutionAttributeAggregator.java @@ -10,6 +10,7 @@ import org.springframework.core.io.Resource; import org.springframework.http.client.support.BasicAuthenticationInterceptor; import org.springframework.util.CollectionUtils; +import org.springframework.web.client.HttpStatusCodeException; import org.springframework.web.client.RestTemplate; import java.util.ArrayList; @@ -65,14 +66,18 @@ public List aggregate(List input, Map> body; try { body = restTemplate.getForEntity(url, Map.class).getBody(); - } catch (RuntimeException e) { + } catch (HttpStatusCodeException e) { String msg = String.format("InstitutionEndpoint %s configured for: %s, returned an error", institutionEndpoint, spEntityID); - // A 404 if the user wasn't found is not an error if (e.getStatusCode().value() == 404) { LOG.info(msg + " 404 Not Found"); } else { LOG.error(msg, e); } + return errorResponse(input); + } catch (RuntimeException e) { + // Voor netwerkfouten of andere runtime issues + LOG.error("System error calling InstitutionEndpoint", e); + return errorResponse(input); } LOG.debug("Received response {} from {} for SP {}", body, institutionEndpoint.getBaseURL(), spEntityID);