From 08ee5d0cf2288c6e8cb733a442765f2cc0461a2b Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 22 Sep 2022 12:02:23 +0200 Subject: [PATCH] Optimize getFilterInstance() This is a purely-private method, there is no point in using a Stream where a nullable object suffices. Change-Id: Ibcec056f3235022ffb4f7b2814d5e5250d436eed Signed-off-by: Robert Varga --- .../CustomFilterAdapterConfigurationImpl.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/aaa-filterchain/src/main/java/org/opendaylight/aaa/filterchain/configuration/impl/CustomFilterAdapterConfigurationImpl.java b/aaa-filterchain/src/main/java/org/opendaylight/aaa/filterchain/configuration/impl/CustomFilterAdapterConfigurationImpl.java index 4848c240c..557f3b16c 100644 --- a/aaa-filterchain/src/main/java/org/opendaylight/aaa/filterchain/configuration/impl/CustomFilterAdapterConfigurationImpl.java +++ b/aaa-filterchain/src/main/java/org/opendaylight/aaa/filterchain/configuration/impl/CustomFilterAdapterConfigurationImpl.java @@ -19,9 +19,9 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; +import java.util.Objects; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; -import java.util.stream.Stream; import javax.servlet.Filter; import javax.servlet.FilterConfig; import javax.servlet.ServletContext; @@ -174,28 +174,25 @@ public final class CustomFilterAdapterConfigurationImpl implements CustomFilterA */ private ImmutableList convertCustomFilterList(final Optional listenerServletContext) { return Streams.concat(namedFilterDTOs.stream(), instanceFilterDTOs.stream()) - .flatMap(filter -> getFilterInstance(filter, listenerServletContext)) + .map(filter -> getFilterInstance(filter, listenerServletContext)) + .filter(Objects::nonNull) .collect(ImmutableList.toImmutableList()); } /** * Utility method used to create and initialize a Filter from a FilterDTO. * - * @param customFilter - * DTO containing Filter and properties path, if one exists. - * @param servletContext - * Scoped to the listener - * @return A Stream containing the Filter, or empty if one cannot be instantiated. + * @param customFilter DTO containing Filter and properties path, if one exists. + * @param servletContext Scoped to the listener + * @return The Filter, or null */ - private static Stream getFilterInstance(final FilterDTO customFilter, + private static @Nullable Filter getFilterInstance(final FilterDTO customFilter, final Optional servletContext) { - final Filter filter = customFilter.getInstance(servletContext); + final var filter = customFilter.getInstance(servletContext); if (filter != null) { LOG.info("Successfully loaded custom Filter {} for context {}", filter, servletContext); - return Stream.of(filter); } - - return Stream.empty(); + return filter; } /** -- 2.36.6