From 6bb87f72ca55555e68ac1d62c8a74406f61a197a Mon Sep 17 00:00:00 2001 From: Ram Narayan Balaji Date: Sat, 23 Aug 2025 18:36:19 +0530 Subject: [PATCH] Fix DataCompletenessTask BoundaryEvent in Flowable --- .../automatedTask/DataCompletenessTask.java | 20 ++++++------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/DataCompletenessTask.java b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/DataCompletenessTask.java index df11c996387..b6e93fbc75e 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/DataCompletenessTask.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/governance/workflows/elements/nodes/automatedTask/DataCompletenessTask.java @@ -50,8 +50,13 @@ public class DataCompletenessTask implements NodeInterface { subProcess.addFlowElement(new SequenceFlow(startEvent.getId(), dataCompletenessTask.getId())); subProcess.addFlowElement(new SequenceFlow(dataCompletenessTask.getId(), endEvent.getId())); + if (workflowConfig.getStoreStageStatus()) { + attachWorkflowInstanceStageListeners(subProcess); + } + this.subProcess = subProcess; - this.runtimeExceptionBoundaryEvent = getRuntimeExceptionBoundaryEvent(dataCompletenessTask); + this.runtimeExceptionBoundaryEvent = + getRuntimeExceptionBoundaryEvent(subProcess, workflowConfig.getStoreStageStatus()); } private ServiceTask getDataCompletenessServiceTask( @@ -113,17 +118,4 @@ public class DataCompletenessTask implements NodeInterface { public BoundaryEvent getRuntimeExceptionBoundaryEvent() { return runtimeExceptionBoundaryEvent; } - - private BoundaryEvent getRuntimeExceptionBoundaryEvent(ServiceTask serviceTask) { - BoundaryEvent boundaryEvent = new BoundaryEvent(); - boundaryEvent.setId(getFlowableElementId(serviceTask.getId(), "runtimeExceptionBoundaryEvent")); - boundaryEvent.setAttachedToRefId(serviceTask.getId()); - - org.flowable.bpmn.model.ErrorEventDefinition errorEventDef = - new org.flowable.bpmn.model.ErrorEventDefinition(); - errorEventDef.setErrorCode("workflowRuntimeException"); - boundaryEvent.addEventDefinition(errorEventDef); - - return boundaryEvent; - } }