package betsy.bpmn.model; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.nio.file.Path; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public enum BPMNAssertions { SCRIPT_task1("SCRIPT_task1"), SCRIPT_task2("SCRIPT_task2"), SCRIPT_task3("SCRIPT_task3"), SCRIPT_task4("SCRIPT_task4"), SCRIPT_task5("SCRIPT_task5"), ERROR_RUNTIME("ERROR_runtime"), ERROR_DEPLOYMENT("ERROR_deployment"), ERROR_PROCESS_ABORTED("ERROR_processAborted"), ERROR_THROWN_ERROR_EVENT("ERROR_thrownErrorEvent"), ERROR_THROWN_ESCALATION_EVENT("ERROR_thrownEscalationEvent"), ERROR_GENERIC("ERROR"), EXECUTION_PARALLEL("EXECUTION_parallel"), MARKER_EXISTS("MARKER_exists"), DATA_CORRECT("DATA_correct"), INCREMENT("INCREMENT_correct"); private final String name; BPMNAssertions(String name) { this.name = name; } public static List<String> getScriptAssertions() { return Stream.of(values()).map(Object::toString).filter((x) -> x.startsWith("SCRIPT")).collect(Collectors.toList()); } @Override public String toString() { return name; } public static void appendToFile(Path fileName, BPMNAssertions s) { try(BufferedWriter bw = new BufferedWriter(new FileWriter(fileName.toFile(), true))) { bw.append(s.toString()); bw.newLine(); } catch (IOException e) { throw new RuntimeException("Could not append assertion " + s + " to " + fileName, e); } } }