Search in sources :

Example 1 with Error

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());
            }
        }
    }
}
Also used : ErrorDefinition(io.serverlessworkflow.api.error.ErrorDefinition) Error(io.serverlessworkflow.api.error.Error)

Aggregations

Error (io.serverlessworkflow.api.error.Error)1 ErrorDefinition (io.serverlessworkflow.api.error.ErrorDefinition)1