From 9e3cd8927abfe46189316749c20e55430b2f589b Mon Sep 17 00:00:00 2001 From: Santiago Pericas-Geertsen Date: Fri, 30 Aug 2024 10:42:34 -0400 Subject: [PATCH] Clarifies deprecation in SinkProvider and SseSinkProvider. Signed-off-by: Santiago Pericas-Geertsen --- .../webserver/sse/SseSinkProvider.java | 20 +++++++++++++++- .../webserver/http/spi/SinkProvider.java | 24 +++++++++---------- 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/webserver/sse/src/main/java/io/helidon/webserver/sse/SseSinkProvider.java b/webserver/sse/src/main/java/io/helidon/webserver/sse/SseSinkProvider.java index ee73ddabb35..e0b37e94208 100644 --- a/webserver/sse/src/main/java/io/helidon/webserver/sse/SseSinkProvider.java +++ b/webserver/sse/src/main/java/io/helidon/webserver/sse/SseSinkProvider.java @@ -30,6 +30,8 @@ /** * Sink provider for SSE type. + * + * @see io.helidon.webserver.http.spi.SinkProvider */ public class SseSinkProvider implements SinkProvider { @@ -38,13 +40,29 @@ public boolean supports(GenericType> type, ServerRequest reque return SseSink.TYPE.equals(type) && request.headers().isAccepted(MediaTypes.TEXT_EVENT_STREAM); } - + /** + * Creates a Sink for SSE events. + * + * @param context the context + * @return newly created sink + * @param type of sink + */ @Override @SuppressWarnings("unchecked") public > X create(SinkProviderContext context) { return (X) new SseSink(context); } + /** + * Creates a Sink for SSE events. + * + * @param response the HTTP response + * @param eventConsumer an event consumer + * @param closeRunnable a runnable to call on close + * @param type of sink + * @return newly created sink + * @deprecated replaced by {@link #create(SinkProviderContext)} + */ @Override public > X create(ServerResponse response, BiConsumer eventConsumer, diff --git a/webserver/webserver/src/main/java/io/helidon/webserver/http/spi/SinkProvider.java b/webserver/webserver/src/main/java/io/helidon/webserver/http/spi/SinkProvider.java index f105a8ab8cd..5def0ffa764 100644 --- a/webserver/webserver/src/main/java/io/helidon/webserver/http/spi/SinkProvider.java +++ b/webserver/webserver/src/main/java/io/helidon/webserver/http/spi/SinkProvider.java @@ -42,26 +42,26 @@ public interface SinkProvider { /** * Creates a sink using this provider. * - * @param response the HTTP response - * @param eventConsumer an event consumer - * @param closeRunnable a runnable to call on close + * @param context a context for a sync provider * @param type of sink * @return newly created sink - * @deprecated Replaced by {@link #create(SinkProviderContext)} */ - @Deprecated(forRemoval = true, since = "4.1.2") - > X create(ServerResponse response, - BiConsumer eventConsumer, - Runnable closeRunnable); + default > X create(SinkProviderContext context) { + throw new UnsupportedOperationException("Not implemented"); + } /** * Creates a sink using this provider. * - * @param context a context for a sync provider + * @param response the HTTP response + * @param eventConsumer an event consumer + * @param closeRunnable a runnable to call on close * @param type of sink * @return newly created sink + * @deprecated replaced by {@link #create(SinkProviderContext)} */ - default > X create(SinkProviderContext context) { - throw new UnsupportedOperationException("Not implemented"); - } + @Deprecated(forRemoval = true, since = "4.1.2") + > X create(ServerResponse response, + BiConsumer eventConsumer, + Runnable closeRunnable); }