diff --git a/cucumber-core/src/main/java/io/cucumber/core/plugin/JsonFormatter.java b/cucumber-core/src/main/java/io/cucumber/core/plugin/JsonFormatter.java index dba97e9619..416fef67f4 100644 --- a/cucumber-core/src/main/java/io/cucumber/core/plugin/JsonFormatter.java +++ b/cucumber-core/src/main/java/io/cucumber/core/plugin/JsonFormatter.java @@ -1,6 +1,7 @@ package io.cucumber.core.plugin; import io.cucumber.jsonformatter.MessagesToJsonWriter; +import io.cucumber.messages.MessageToNdjsonWriter.Serializer; import io.cucumber.messages.types.Envelope; import io.cucumber.plugin.ConcurrentEventListener; import io.cucumber.plugin.event.EventPublisher; @@ -8,11 +9,12 @@ import java.io.File; import java.io.IOException; import java.io.OutputStream; +import java.io.Writer; import java.net.URI; import static io.cucumber.jsonformatter.MessagesToJsonWriter.builder; -public final class JsonFormatter implements ConcurrentEventListener { +public final class JsonFormatter implements ConcurrentEventListener, Serializer { private final MessagesToJsonWriter writer; @@ -45,4 +47,9 @@ private void write(Envelope event) { } } } + + @Override + public void writeValue(Writer writer, Envelope value) throws IOException { + Jackson.OBJECT_MAPPER.writeValue(writer, value); + } }