protected final Event toMessage()

in maven-surefire-common/src/main/java/org/apache/maven/surefire/stream/EventDecoder.java [230:302]


    protected final Event toMessage(@Nonnull ForkedProcessEventType eventType, @Nonnull Memento memento)
            throws MalformedFrameException {
        switch (eventType) {
            case BOOTERCODE_BYE:
                checkArguments(memento, 0);
                return new ControlByeEvent();
            case BOOTERCODE_STOP_ON_NEXT_TEST:
                checkArguments(memento, 0);
                return new ControlStopOnNextTestEvent();
            case BOOTERCODE_NEXT_TEST:
                checkArguments(memento, 0);
                return new ControlNextTestEvent();
            case BOOTERCODE_JVM_EXIT_ERROR:
                checkArguments(memento, 3);
                return new JvmExitErrorEvent(toStackTraceWriter(memento.getData()));
            case BOOTERCODE_CONSOLE_ERROR:
                checkArguments(memento, 3);
                return new ConsoleErrorEvent(toStackTraceWriter(memento.getData()));
            case BOOTERCODE_CONSOLE_INFO:
                checkArguments(memento, 1);
                return new ConsoleInfoEvent((String) memento.getData().get(0));
            case BOOTERCODE_CONSOLE_DEBUG:
                checkArguments(memento, 1);
                return new ConsoleDebugEvent((String) memento.getData().get(0));
            case BOOTERCODE_CONSOLE_WARNING:
                checkArguments(memento, 1);
                return new ConsoleWarningEvent((String) memento.getData().get(0));
            case BOOTERCODE_STDOUT:
                checkArguments(memento, 3);
                return new StandardStreamOutEvent(memento.ofDataAt(0), memento.ofDataAt(1), memento.ofDataAt(2));
            case BOOTERCODE_STDOUT_NEW_LINE:
                checkArguments(memento, 3);
                return new StandardStreamOutWithNewLineEvent(
                        memento.ofDataAt(0), memento.ofDataAt(1), memento.ofDataAt(2));
            case BOOTERCODE_STDERR:
                checkArguments(memento, 3);
                return new StandardStreamErrEvent(memento.ofDataAt(0), memento.ofDataAt(1), memento.ofDataAt(2));
            case BOOTERCODE_STDERR_NEW_LINE:
                checkArguments(memento, 3);
                return new StandardStreamErrWithNewLineEvent(
                        memento.ofDataAt(0), memento.ofDataAt(1), memento.ofDataAt(2));
            case BOOTERCODE_SYSPROPS:
                checkArguments(memento, 4);
                return new SystemPropertyEvent(
                        memento.ofDataAt(0), memento.ofDataAt(1), memento.ofDataAt(2), memento.ofDataAt(3));
            case BOOTERCODE_TESTSET_STARTING:
                checkArguments(memento, 12);
                return new TestsetStartingEvent(toReportEntry(memento.getData()));
            case BOOTERCODE_TESTSET_COMPLETED:
                checkArguments(memento, 12);
                return new TestsetCompletedEvent(toReportEntry(memento.getData()));
            case BOOTERCODE_TEST_STARTING:
                checkArguments(memento, 12);
                return new TestStartingEvent(toReportEntry(memento.getData()));
            case BOOTERCODE_TEST_SUCCEEDED:
                checkArguments(memento, 12);
                return new TestSucceededEvent(toReportEntry(memento.getData()));
            case BOOTERCODE_TEST_FAILED:
                checkArguments(memento, 12);
                return new TestFailedEvent(toReportEntry(memento.getData()));
            case BOOTERCODE_TEST_SKIPPED:
                checkArguments(memento, 12);
                return new TestSkippedEvent(toReportEntry(memento.getData()));
            case BOOTERCODE_TEST_ERROR:
                checkArguments(memento, 12);
                return new TestErrorEvent(toReportEntry(memento.getData()));
            case BOOTERCODE_TEST_ASSUMPTIONFAILURE:
                checkArguments(memento, 12);
                return new TestAssumptionFailureEvent(toReportEntry(memento.getData()));
            default:
                throw new IllegalArgumentException("Missing a branch for the event type " + eventType);
        }
    }