diff --git a/modules/transport-netty4/src/main/java/org/opensearch/http/netty4/Netty4HttpChannel.java b/modules/transport-netty4/src/main/java/org/opensearch/http/netty4/Netty4HttpChannel.java index bc9615e0e3691..6475a0b744c60 100644 --- a/modules/transport-netty4/src/main/java/org/opensearch/http/netty4/Netty4HttpChannel.java +++ b/modules/transport-netty4/src/main/java/org/opensearch/http/netty4/Netty4HttpChannel.java @@ -40,6 +40,7 @@ import org.opensearch.transport.netty4.Netty4TcpChannel; import java.net.InetSocketAddress; +import java.util.Optional; import io.netty.channel.Channel; import io.netty.channel.ChannelPipeline; @@ -100,7 +101,7 @@ public Channel getNettyChannel() { @SuppressWarnings("unchecked") @Override - public T get(String name, Class clazz) { + public Optional get(String name, Class clazz) { Object handler = getNettyChannel().pipeline().get(name); if (handler == null && inboundPipeline() != null) { @@ -108,10 +109,10 @@ public T get(String name, Class clazz) { } if (handler != null && clazz.isInstance(handler) == true) { - return (T) handler; + return Optional.of((T) handler); } - return null; + return Optional.empty(); } @Override diff --git a/modules/transport-netty4/src/main/java/org/opensearch/transport/netty4/Netty4TcpChannel.java b/modules/transport-netty4/src/main/java/org/opensearch/transport/netty4/Netty4TcpChannel.java index 53334926110f4..79a5bf9e95121 100644 --- a/modules/transport-netty4/src/main/java/org/opensearch/transport/netty4/Netty4TcpChannel.java +++ b/modules/transport-netty4/src/main/java/org/opensearch/transport/netty4/Netty4TcpChannel.java @@ -41,6 +41,7 @@ import org.opensearch.transport.TransportException; import java.net.InetSocketAddress; +import java.util.Optional; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; @@ -166,14 +167,14 @@ public void sendMessage(BytesReference reference, ActionListener listener) @SuppressWarnings("unchecked") @Override - public T get(String name, Class clazz) { + public Optional get(String name, Class clazz) { final Object handler = getNettyChannel().pipeline().get(name); if (handler != null && clazz.isInstance(handler) == true) { - return (T) handler; + return Optional.of((T) handler); } - return null; + return Optional.empty(); } public Channel getNettyChannel() { diff --git a/server/src/main/java/org/opensearch/http/HttpChannel.java b/server/src/main/java/org/opensearch/http/HttpChannel.java index 9505c3894b6b8..679a5d73c7837 100644 --- a/server/src/main/java/org/opensearch/http/HttpChannel.java +++ b/server/src/main/java/org/opensearch/http/HttpChannel.java @@ -36,6 +36,7 @@ import org.opensearch.core.action.ActionListener; import java.net.InetSocketAddress; +import java.util.Optional; /** * Represents an HTTP comms channel @@ -80,10 +81,9 @@ default void handleException(Exception ex) {} * @param name the name of the property * @param clazz the expected type of the property * - * @return the value of the property. - * {@code null} if there's no such property or the expected type is not compatible. + * @return the value of the property */ - default T get(String name, Class clazz) { - return null; + default Optional get(String name, Class clazz) { + return Optional.empty(); } } diff --git a/server/src/main/java/org/opensearch/telemetry/tracing/channels/TraceableHttpChannel.java b/server/src/main/java/org/opensearch/telemetry/tracing/channels/TraceableHttpChannel.java index 19e594cf97a13..0a9757310fe8b 100644 --- a/server/src/main/java/org/opensearch/telemetry/tracing/channels/TraceableHttpChannel.java +++ b/server/src/main/java/org/opensearch/telemetry/tracing/channels/TraceableHttpChannel.java @@ -18,6 +18,7 @@ import java.net.InetSocketAddress; import java.util.Objects; +import java.util.Optional; /** * Tracer wrapped {@link HttpChannel} @@ -94,7 +95,7 @@ public InetSocketAddress getRemoteAddress() { } @Override - public T get(String name, Class clazz) { + public Optional get(String name, Class clazz) { return delegate.get(name, clazz); } } diff --git a/server/src/main/java/org/opensearch/telemetry/tracing/channels/TraceableTcpTransportChannel.java b/server/src/main/java/org/opensearch/telemetry/tracing/channels/TraceableTcpTransportChannel.java index ca9308a01c6f1..bd60c35c3baac 100644 --- a/server/src/main/java/org/opensearch/telemetry/tracing/channels/TraceableTcpTransportChannel.java +++ b/server/src/main/java/org/opensearch/telemetry/tracing/channels/TraceableTcpTransportChannel.java @@ -20,6 +20,7 @@ import org.opensearch.transport.TransportChannel; import java.io.IOException; +import java.util.Optional; /** * Tracer wrapped {@link TransportChannel} @@ -111,7 +112,7 @@ public Version getVersion() { } @Override - public T get(String name, Class clazz) { + public Optional get(String name, Class clazz) { return delegate.get(name, clazz); } } diff --git a/server/src/main/java/org/opensearch/transport/TaskTransportChannel.java b/server/src/main/java/org/opensearch/transport/TaskTransportChannel.java index 611cae840a3f7..4dab0039ec878 100644 --- a/server/src/main/java/org/opensearch/transport/TaskTransportChannel.java +++ b/server/src/main/java/org/opensearch/transport/TaskTransportChannel.java @@ -37,6 +37,7 @@ import org.opensearch.core.transport.TransportResponse; import java.io.IOException; +import java.util.Optional; /** * Transport channel for tasks @@ -91,7 +92,7 @@ public TransportChannel getChannel() { } @Override - public T get(String name, Class clazz) { + public Optional get(String name, Class clazz) { return getChannel().get(name, clazz); } } diff --git a/server/src/main/java/org/opensearch/transport/TcpChannel.java b/server/src/main/java/org/opensearch/transport/TcpChannel.java index e447a038c6ff7..f98b65d0a4df1 100644 --- a/server/src/main/java/org/opensearch/transport/TcpChannel.java +++ b/server/src/main/java/org/opensearch/transport/TcpChannel.java @@ -38,6 +38,7 @@ import org.opensearch.core.common.bytes.BytesReference; import java.net.InetSocketAddress; +import java.util.Optional; /** * This is a tcp channel representing a single channel connection to another node. It is the base channel @@ -104,11 +105,10 @@ public interface TcpChannel extends CloseableChannel { * @param name the name of the property * @param clazz the expected type of the property * - * @return the value of the property. - * {@code null} if there's no such property or the expected type is not compatible. + * @return the value of the property */ - default T get(String name, Class clazz) { - return null; + default Optional get(String name, Class clazz) { + return Optional.empty(); } /** diff --git a/server/src/main/java/org/opensearch/transport/TcpTransportChannel.java b/server/src/main/java/org/opensearch/transport/TcpTransportChannel.java index e6884e115b5fe..81de0af07ea7c 100644 --- a/server/src/main/java/org/opensearch/transport/TcpTransportChannel.java +++ b/server/src/main/java/org/opensearch/transport/TcpTransportChannel.java @@ -38,6 +38,7 @@ import org.opensearch.search.query.QuerySearchResult; import java.io.IOException; +import java.util.Optional; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; @@ -131,7 +132,7 @@ public Version getVersion() { } @Override - public T get(String name, Class clazz) { + public Optional get(String name, Class clazz) { return getChannel().get(name, clazz); } } diff --git a/server/src/main/java/org/opensearch/transport/TransportChannel.java b/server/src/main/java/org/opensearch/transport/TransportChannel.java index 00f2ec9d43b7d..7423d59103302 100644 --- a/server/src/main/java/org/opensearch/transport/TransportChannel.java +++ b/server/src/main/java/org/opensearch/transport/TransportChannel.java @@ -39,6 +39,7 @@ import org.opensearch.core.transport.TransportResponse; import java.io.IOException; +import java.util.Optional; /** * A transport channel allows to send a response to a request on the channel. @@ -88,9 +89,8 @@ static void sendErrorResponse(TransportChannel channel, String actionName, Trans * @param clazz the expected type of the property * * @return the value of the property. - * {@code null} if there's no such property or the expected type is not compatible. */ - default T get(String name, Class clazz) { - return null; + default Optional get(String name, Class clazz) { + return Optional.empty(); } }