From c636df69d2456ad5106492e9d38d571294426c99 Mon Sep 17 00:00:00 2001 From: Georgios Andrianakis Date: Wed, 20 Sep 2023 10:26:52 +0300 Subject: [PATCH] Don't use RuntimeDelegate in ResponseHandler This is needed in order to avoid getting CCE when other implementations of Jakarta REST are on the classpath Closes: #36024 --- .../reactive/server/handlers/ResponseHandler.java | 6 +++--- .../reactive/server/jaxrs/ResponseBuilderImpl.java | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/independent-projects/resteasy-reactive/server/runtime/src/main/java/org/jboss/resteasy/reactive/server/handlers/ResponseHandler.java b/independent-projects/resteasy-reactive/server/runtime/src/main/java/org/jboss/resteasy/reactive/server/handlers/ResponseHandler.java index 62b7fc3ae5a49..25116ff3d8f69 100644 --- a/independent-projects/resteasy-reactive/server/runtime/src/main/java/org/jboss/resteasy/reactive/server/handlers/ResponseHandler.java +++ b/independent-projects/resteasy-reactive/server/runtime/src/main/java/org/jboss/resteasy/reactive/server/handlers/ResponseHandler.java @@ -146,13 +146,13 @@ public Response get() { if (result instanceof GenericEntity) { GenericEntity genericEntity = (GenericEntity) result; requestContext.setGenericReturnType(genericEntity.getType()); - responseBuilder = (ResponseBuilderImpl) ResponseImpl.ok(genericEntity.getEntity()); + responseBuilder = ResponseBuilderImpl.ok(genericEntity.getEntity()); } else if (result == null) { // FIXME: custom status codes depending on method? - responseBuilder = (ResponseBuilderImpl) ResponseImpl.noContent(); + responseBuilder = ResponseBuilderImpl.noContent(); } else { // FIXME: custom status codes depending on method? - responseBuilder = (ResponseBuilderImpl) ResponseImpl.ok(result); + responseBuilder = ResponseBuilderImpl.ok(result); } if (responseBuilder.getEntity() != null) { EncodedMediaType produces = requestContext.getResponseContentType(); diff --git a/independent-projects/resteasy-reactive/server/runtime/src/main/java/org/jboss/resteasy/reactive/server/jaxrs/ResponseBuilderImpl.java b/independent-projects/resteasy-reactive/server/runtime/src/main/java/org/jboss/resteasy/reactive/server/jaxrs/ResponseBuilderImpl.java index 208c1093d4fd8..f1a546ff5c846 100644 --- a/independent-projects/resteasy-reactive/server/runtime/src/main/java/org/jboss/resteasy/reactive/server/jaxrs/ResponseBuilderImpl.java +++ b/independent-projects/resteasy-reactive/server/runtime/src/main/java/org/jboss/resteasy/reactive/server/jaxrs/ResponseBuilderImpl.java @@ -96,19 +96,19 @@ protected AbstractResponseBuilder doClone() { //TODO: add the rest of static methods of Response if we need them - public static Response.ResponseBuilder withStatus(Response.Status status) { - return new ResponseBuilderImpl().status(status); + public static ResponseBuilderImpl withStatus(Response.Status status) { + return (ResponseBuilderImpl) new ResponseBuilderImpl().status(status); } - public static Response.ResponseBuilder ok() { + public static ResponseBuilderImpl ok() { return withStatus(Response.Status.OK); } - public static Response.ResponseBuilder ok(Object entity) { - return ok().entity(entity); + public static ResponseBuilderImpl ok(Object entity) { + return (ResponseBuilderImpl) ok().entity(entity); } - public static Response.ResponseBuilder noContent() { + public static ResponseBuilderImpl noContent() { return withStatus(Response.Status.NO_CONTENT); } }