add support for custom status

Signed-off-by: salaboy <Salaboy@gmail.com>
This commit is contained in:
salaboy 2025-08-18 09:45:54 +01:00
parent 04b19e1cf7
commit 13754b5879
3 changed files with 34 additions and 3 deletions

View File

@ -526,4 +526,12 @@ public interface WorkflowContext {
default UUID newUuid() {
throw new RuntimeException("No implementation found.");
}
/**
* Set a custom status to a workflow execution.
*
* @param status to be set to the current execution
*/
void setCustomStatus(Object status);
}

View File

@ -294,4 +294,13 @@ public class DefaultWorkflowContext implements WorkflowContext {
return workflowTaskRetryHandler.handle(workflowRetryContext);
};
}
/**
* Set custom status to a workflow execution.
*
* @param status to set to the execution
*/
public void setCustomStatus(Object status) {
innerContext.setCustomStatus(status);
}
}

View File

@ -135,6 +135,11 @@ public class DefaultWorkflowContextTest {
@Override
public void continueAsNew(Object input, boolean preserveUnprocessedEvents) {
}
@Override
public void setCustomStatus(Object status) {
}
};
}
@ -403,6 +408,15 @@ public class DefaultWorkflowContextTest {
verify(mockInnerContext, times(1)).callSubOrchestrator(expectedName, expectedInput, null, null, String.class);
}
@Test
public void setCustomStatusWorkflow() {
String customStatus = "CustomStatus";
context.setCustomStatus(customStatus);
verify(mockInnerContext, times(1)).setCustomStatus(customStatus);
}
@Test
public void newUuidTest() {
context.newUuid();