use of io.serverlessworkflow.api.error.Error in project kogito-runtimes by kiegroup.
the class StateHandler method handleErrors.
protected void handleErrors(RuleFlowNodeContainerFactory<?, ?> factory) {
for (Error error : state.getOnErrors()) {
for (ErrorDefinition errorDef : getErrorDefinitions(error)) {
String eventType = "Error-" + node.getNode().getMetaData().get("UniqueId");
BoundaryEventNodeFactory<?> boundaryNode = factory.boundaryEventNode(parserContext.newId()).attachedTo(node.getNode().getId()).metaData("EventType", Metadata.EVENT_TYPE_ERROR).metaData("HasErrorEvent", true);
if (errorDef.getCode() != null) {
boundaryNode.metaData("ErrorEvent", errorDef.getCode());
eventType += "-" + errorDef.getCode();
}
boundaryNode.eventType(eventType).name("Error-" + node.getNode().getName() + "-" + errorDef.getCode());
factory.exceptionHandler(eventType, errorDef.getCode());
if (error.getEnd() != null) {
connect(boundaryNode, endNodeFactory(factory, error.getEnd().getProduceEvents()));
} else {
handleTransitions(factory, error.getTransition(), boundaryNode.getNode().getId());
}
}
}
}
Aggregations