Shreyas arya

Generation

generate functionTue, 24 Jan 2023

All validators are injected into WorkflowExecutionValidator. private List<Validator> validators WorkflowExecutionValidator will pick up an appropriate validator from a list and check if transition is allowed. Validators are implemented for each workflow execution status Validators are applied in production code

public void validate(WorkflowExecution workflowExecution) { if (workflowExecution.getTransition() == null) { throw new IllegalArgumentException("Transition is not set."); } final WorkflowExecutionStatus fromStatus = workflowExecution.getStatus(); if (fromStatus == null) { throw new IllegalArgumentException("Status is not set."); } final Transition transition = workflowExecution.getTransition(); final List<Validator> validators = getValidators(fromStatus); for (Validator validator : validators) { if (!validator.isTransitionAllowed(transition)) { throw new IllegalStateException("Transition from " + fromStatus + " to " + transition + " is forbidden."); } } }

Questions about programming?Chat with your personal AI assistant