diff --git a/interweb-core/src/main/java/de/l3s/interweb/core/util/DateUtils.java b/interweb-core/src/main/java/de/l3s/interweb/core/util/DateUtils.java index a15a9a74..6d0474ec 100644 --- a/interweb-core/src/main/java/de/l3s/interweb/core/util/DateUtils.java +++ b/interweb-core/src/main/java/de/l3s/interweb/core/util/DateUtils.java @@ -21,7 +21,7 @@ public static Instant parse(String str) { try { return Instant.from(PARSE_FORMAT.parse(str)); } catch (DateTimeParseException e) { - throw new ConnectorException("Unable to parse date: " + str, e); + throw new ConnectorException("Unable to parse date in a string `" + str + "`", e); } } diff --git a/interweb-server/src/main/java/de/l3s/interweb/server/config/ExceptionMappers.java b/interweb-server/src/main/java/de/l3s/interweb/server/config/ExceptionMappers.java index 9ffcc5ff..ea24a7b1 100644 --- a/interweb-server/src/main/java/de/l3s/interweb/server/config/ExceptionMappers.java +++ b/interweb-server/src/main/java/de/l3s/interweb/server/config/ExceptionMappers.java @@ -1,12 +1,23 @@ package de.l3s.interweb.server.config; import jakarta.ws.rs.BadRequestException; +import jakarta.ws.rs.NotFoundException; import jakarta.ws.rs.core.Response; import org.jboss.resteasy.reactive.RestResponse; import org.jboss.resteasy.reactive.server.ServerExceptionMapper; public class ExceptionMappers { + @ServerExceptionMapper + public RestResponse mapException(Exception x) { + return RestResponse.status(Response.Status.INTERNAL_SERVER_ERROR, HttpError.of(x)); + } + + @ServerExceptionMapper + public RestResponse mapException(NotFoundException x) { + return RestResponse.status(Response.Status.NOT_FOUND, HttpError.of(x)); + } + @ServerExceptionMapper public RestResponse mapException(BadRequestException x) { return RestResponse.status(Response.Status.BAD_REQUEST, HttpError.of(x)); diff --git a/interweb-server/src/main/java/de/l3s/interweb/server/features/chat/ChatService.java b/interweb-server/src/main/java/de/l3s/interweb/server/features/chat/ChatService.java index fde771f3..d2b1e486 100644 --- a/interweb-server/src/main/java/de/l3s/interweb/server/features/chat/ChatService.java +++ b/interweb-server/src/main/java/de/l3s/interweb/server/features/chat/ChatService.java @@ -24,7 +24,7 @@ public Uni completions(CompletionsQuery query) { return completions(query, model, chatConnector); } - return Uni.createFrom().failure(new ConnectorException("Model doesn't support chat: " + query.getModel())); + return Uni.createFrom().failure(new ConnectorException("Model `" + query.getModel() + "` is not a chat model")); }); } diff --git a/interweb-server/src/main/java/de/l3s/interweb/server/features/describe/DescribeService.java b/interweb-server/src/main/java/de/l3s/interweb/server/features/describe/DescribeService.java index 20a89fb3..add82d55 100644 --- a/interweb-server/src/main/java/de/l3s/interweb/server/features/describe/DescribeService.java +++ b/interweb-server/src/main/java/de/l3s/interweb/server/features/describe/DescribeService.java @@ -36,7 +36,7 @@ private DescribeConnector getConnector(Set services) { String val = services.iterator().next(); DescribeConnector connector = this.services.get(val.toLowerCase(Locale.ROOT)); if (connector == null) { - throw new ConnectorException("Unknown service: " + val); + throw new ConnectorException("Service `" + val + "` is unknown"); } return connector; } diff --git a/interweb-server/src/main/java/de/l3s/interweb/server/features/models/ModelsService.java b/interweb-server/src/main/java/de/l3s/interweb/server/features/models/ModelsService.java index 4c199262..8c6ca422 100644 --- a/interweb-server/src/main/java/de/l3s/interweb/server/features/models/ModelsService.java +++ b/interweb-server/src/main/java/de/l3s/interweb/server/features/models/ModelsService.java @@ -66,6 +66,6 @@ public Uni> getModels() { public Uni getModel(String modelId) { return getModels().map(models -> models.stream() .filter(model -> model.getId().equalsIgnoreCase(modelId.toLowerCase(Locale.ROOT))) - .findFirst().orElseThrow(() -> new NotFoundException("Model not found: " + modelId))); + .findFirst().orElseThrow(() -> new NotFoundException("Model `" + modelId + "` not found"))); } } diff --git a/interweb-server/src/main/java/de/l3s/interweb/server/features/search/SearchService.java b/interweb-server/src/main/java/de/l3s/interweb/server/features/search/SearchService.java index 7aab0d88..dff18a30 100644 --- a/interweb-server/src/main/java/de/l3s/interweb/server/features/search/SearchService.java +++ b/interweb-server/src/main/java/de/l3s/interweb/server/features/search/SearchService.java @@ -49,7 +49,7 @@ private Collection getConnectors(Set services) { return services.stream().map(val -> { SearchConnector connector = this.providers.get(val.toLowerCase(Locale.ROOT)); if (connector == null) { - throw new ConnectorException("Unknown service: " + val); + throw new ConnectorException("Service `" + val + "` is unknown"); } return connector; }).toList(); diff --git a/interweb-server/src/main/java/de/l3s/interweb/server/features/suggest/SuggestService.java b/interweb-server/src/main/java/de/l3s/interweb/server/features/suggest/SuggestService.java index c4da0aee..f670e70a 100644 --- a/interweb-server/src/main/java/de/l3s/interweb/server/features/suggest/SuggestService.java +++ b/interweb-server/src/main/java/de/l3s/interweb/server/features/suggest/SuggestService.java @@ -39,7 +39,7 @@ private Collection getConnectors(Set services) { return services.stream().map(val -> { SuggestConnector connector = this.services.get(val.toLowerCase(Locale.ROOT)); if (connector == null) { - throw new ConnectorException("Unknown service: " + val); + throw new ConnectorException("Service `" + val + "` is unknown"); } return connector; }).toList(); @@ -52,7 +52,7 @@ public void validateServices(Set services) { if (services != null && !services.isEmpty()) { for (String service : services) { if (!this.services.containsKey(service)) { - throw new ValidationException("Service unknown."); + throw new ValidationException("Service unknown"); } } }