This is an automated email from the ASF dual-hosted git repository.

pefernan 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 33eb2842d8 [incubator-kie-issues#1989] Fix `NullPointerException` in 
`ExceptionHandlerTransaction` when setting the ProcessInstance into error state 
(#3941)
33eb2842d8 is described below

commit 33eb2842d87eee640434611e77adfd7411a4c267
Author: Pere Fernández <[email protected]>
AuthorDate: Fri May 30 16:03:08 2025 +0200

    [incubator-kie-issues#1989] Fix `NullPointerException` in 
`ExceptionHandlerTransaction` when setting the ProcessInstance into error state 
(#3941)
---
 .../transaction/ExceptionHandlerTransactionQuarkusTemplate.java   | 8 ++++----
 .../transaction/ExceptionHandlerTransactionSpringTemplate.java    | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git 
a/kogito-codegen-modules/kogito-codegen-processes/src/main/resources/class-templates/transaction/ExceptionHandlerTransactionQuarkusTemplate.java
 
b/kogito-codegen-modules/kogito-codegen-processes/src/main/resources/class-templates/transaction/ExceptionHandlerTransactionQuarkusTemplate.java
index 521b6d1a55..dd3ba59281 100644
--- 
a/kogito-codegen-modules/kogito-codegen-processes/src/main/resources/class-templates/transaction/ExceptionHandlerTransactionQuarkusTemplate.java
+++ 
b/kogito-codegen-modules/kogito-codegen-processes/src/main/resources/class-templates/transaction/ExceptionHandlerTransactionQuarkusTemplate.java
@@ -18,10 +18,8 @@
  */
 package org.kie.kogito.quarkus.workflow.handler;
 
-import org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl;
 import org.kie.kogito.Model;
 import org.kie.kogito.handler.ExceptionHandler;
-import org.kie.kogito.process.MutableProcessInstances;
 import org.kie.kogito.process.ProcessInstanceExecutionException;
 import org.kie.kogito.process.Processes;
 import org.kie.kogito.process.impl.AbstractProcessInstance;
@@ -63,8 +61,10 @@ public class ExceptionHandlerTransaction implements 
ExceptionHandler {
                 
processes.processByProcessInstanceId(processInstanceId).ifPresent(processDefinition
 -> {
                     
processDefinition.instances().findById(processInstanceId).ifPresent(instance -> 
{
                         AbstractProcessInstance<? extends Model> 
processInstance = ((AbstractProcessInstance<? extends Model>) instance);
-                        ((WorkflowProcessInstanceImpl) 
processInstance.internalGetProcessInstance()).internalSetError(processInstanceExecutionException);
-                        ((MutableProcessInstances) 
processDefinition.instances()).update(processInstanceId, processInstance);
+                        
processInstance.executeInWorkflowProcessInstanceWrite(pi -> {
+                            
pi.internalSetError(processInstanceExecutionException);
+                            return null;
+                        });
                     });
 
                 });
diff --git 
a/kogito-codegen-modules/kogito-codegen-processes/src/main/resources/class-templates/transaction/ExceptionHandlerTransactionSpringTemplate.java
 
b/kogito-codegen-modules/kogito-codegen-processes/src/main/resources/class-templates/transaction/ExceptionHandlerTransactionSpringTemplate.java
index d9996d62f1..b86575012c 100644
--- 
a/kogito-codegen-modules/kogito-codegen-processes/src/main/resources/class-templates/transaction/ExceptionHandlerTransactionSpringTemplate.java
+++ 
b/kogito-codegen-modules/kogito-codegen-processes/src/main/resources/class-templates/transaction/ExceptionHandlerTransactionSpringTemplate.java
@@ -18,10 +18,8 @@
  */
 package org.kie.kogito.process.handler;
 
-import org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl;
 import org.kie.kogito.Model;
 import org.kie.kogito.handler.ExceptionHandler;
-import org.kie.kogito.process.MutableProcessInstances;
 import org.kie.kogito.process.ProcessInstanceExecutionException;
 import org.kie.kogito.process.Processes;
 import org.kie.kogito.process.impl.AbstractProcessInstance;
@@ -59,8 +57,10 @@ public class ExceptionHandlerTransaction implements 
ExceptionHandler {
                 
processes.processByProcessInstanceId(processInstanceId).ifPresent(processDefinition
 -> {
                     
processDefinition.instances().findById(processInstanceId).ifPresent(instance -> 
{
                         AbstractProcessInstance<? extends Model> 
processInstance = ((AbstractProcessInstance<? extends Model>) instance);
-                        ((WorkflowProcessInstanceImpl) 
processInstance.internalGetProcessInstance()).internalSetError(processInstanceExecutionException);
-                        ((MutableProcessInstances) 
processDefinition.instances()).update(processInstanceId, processInstance);
+                        
processInstance.executeInWorkflowProcessInstanceWrite(pi -> {
+                            
pi.internalSetError(processInstanceExecutionException);
+                            return null;
+                        });
                     });
 
                 });


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to