This is an automated email from the ASF dual-hosted git repository.
fjtiradosarti pushed a commit to branch main
in repository
https://gitbox.apache.org/repos/asf/incubator-kie-kogito-runtimes.git
The following commit(s) were added to refs/heads/main by this push:
new 19e3630465 [Fix #3460] Fix ClassCastException on Exception mapping
(#3461)
19e3630465 is described below
commit 19e363046586574eafb2a02528b18b7bb2be4c99
Author: Francisco Javier Tirado Sarti
<[email protected]>
AuthorDate: Fri Apr 5 18:23:28 2024 +0200
[Fix #3460] Fix ClassCastException on Exception mapping (#3461)
* [Fix #3460] Fix ClassCastException on Exception mapping
* Revert "[Fix #3460] Fix ClassCastException on Exception mapping"
This reverts commit 6f729ffc99c7e0c32a52db1e0cd4c7ad174bddd0.
* [Fix #3460] Conservative approach
---
.../kogito/resource/exceptions/BaseExceptionsHandler.java | 15 ++++++---------
.../serving/customfunctions/it/KnativeServingAddonIT.java | 2 +-
2 files changed, 7 insertions(+), 10 deletions(-)
diff --git
a/addons/common/rest-exception-handler/src/main/java/org/kie/kogito/resource/exceptions/BaseExceptionsHandler.java
b/addons/common/rest-exception-handler/src/main/java/org/kie/kogito/resource/exceptions/BaseExceptionsHandler.java
index 30409c0f6a..6ea4f90d3e 100644
---
a/addons/common/rest-exception-handler/src/main/java/org/kie/kogito/resource/exceptions/BaseExceptionsHandler.java
+++
b/addons/common/rest-exception-handler/src/main/java/org/kie/kogito/resource/exceptions/BaseExceptionsHandler.java
@@ -176,16 +176,13 @@ public abstract class BaseExceptionsHandler<T> {
public <R extends Exception, U> T mapException(R exception) {
FunctionHolder<T, U> holder = (FunctionHolder<T, U>)
mapper.getOrDefault(exception.getClass(), defaultHolder);
U body = holder.getContentGenerator().apply(exception);
- if (exception instanceof ProcessInstanceExecutionException ||
exception instanceof WorkItemExecutionException) {
- Throwable rootCause = exception.getCause();
-
- while (rootCause != null) {
- if (mapper.containsKey(rootCause.getClass())) {
- holder = (FunctionHolder<T, U>)
mapper.get(rootCause.getClass());
- break;
- }
- rootCause = rootCause.getCause();
+ Throwable rootCause = exception.getCause();
+ while (rootCause != null) {
+ if (mapper.containsKey(rootCause.getClass())) {
+ holder = (FunctionHolder<T, U>)
mapper.get(rootCause.getClass());
+ exception = (R) rootCause;
}
+ rootCause = rootCause.getCause();
}
return holder.getResponseGenerator().apply(exception).apply(body);
}
diff --git
a/quarkus/addons/knative/serving/integration-tests/src/test/java/org/kie/kogito/addons/quarkus/knative/serving/customfunctions/it/KnativeServingAddonIT.java
b/quarkus/addons/knative/serving/integration-tests/src/test/java/org/kie/kogito/addons/quarkus/knative/serving/customfunctions/it/KnativeServingAddonIT.java
index 6154088c10..fd48c99774 100644
---
a/quarkus/addons/knative/serving/integration-tests/src/test/java/org/kie/kogito/addons/quarkus/knative/serving/customfunctions/it/KnativeServingAddonIT.java
+++
b/quarkus/addons/knative/serving/integration-tests/src/test/java/org/kie/kogito/addons/quarkus/knative/serving/customfunctions/it/KnativeServingAddonIT.java
@@ -264,7 +264,7 @@ class KnativeServingAddonIT {
.accept(ContentType.JSON).when()
.post("/serviceNotFound")
.then()
- .statusCode(HttpURLConnection.HTTP_INTERNAL_ERROR);
+ .statusCode(HttpURLConnection.HTTP_NOT_FOUND);
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]