From 65b46079a2d58899b1d1c146cd347d3701be6d13 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Fri, 22 Mar 2019 20:24:26 -0400 Subject: [PATCH] Replace stream with loop in RequestCondition's --- .../result/condition/HeadersRequestCondition.java | 8 +++++++- .../result/condition/ParamsRequestCondition.java | 8 +++++++- .../result/condition/PatternsRequestCondition.java | 13 ++++++++----- .../mvc/condition/HeadersRequestCondition.java | 8 +++++++- .../mvc/condition/ParamsRequestCondition.java | 8 +++++++- 5 files changed, 36 insertions(+), 9 deletions(-) diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/HeadersRequestCondition.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/HeadersRequestCondition.java index f486cd2933c..9136c6d9a15 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/HeadersRequestCondition.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/HeadersRequestCondition.java @@ -142,7 +142,13 @@ public final class HeadersRequestCondition extends AbstractRequestCondition expressions) { - return expressions.stream().filter(e -> e.getValue() != null && !e.isNegated()).count(); + long count = 0; + for (HeaderExpression e : expressions) { + if (e.getValue() != null && !e.isNegated()) { + count++; + } + } + return count; } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/ParamsRequestCondition.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/ParamsRequestCondition.java index be35f2b1cfe..544726cafc1 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/ParamsRequestCondition.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/ParamsRequestCondition.java @@ -124,7 +124,13 @@ public final class ParamsRequestCondition extends AbstractRequestCondition expressions) { - return expressions.stream().filter(e -> e.getValue() != null && !e.isNegated()).count(); + long count = 0; + for (ParamExpression e : expressions) { + if (e.getValue() != null && !e.isNegated()) { + count++; + } + } + return count; } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/PatternsRequestCondition.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/PatternsRequestCondition.java index 0dd91b2b73a..75c09038f67 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/PatternsRequestCondition.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/PatternsRequestCondition.java @@ -24,7 +24,6 @@ import java.util.List; import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; -import java.util.stream.Collectors; import org.springframework.http.server.PathContainer; import org.springframework.lang.Nullable; @@ -53,7 +52,7 @@ public final class PatternsRequestCondition extends AbstractRequestCondition patterns) { this(new TreeSet<>(patterns)); @@ -136,9 +135,13 @@ public final class PatternsRequestCondition extends AbstractRequestCondition getMatchingPatterns(ServerWebExchange exchange) { PathContainer lookupPath = exchange.getRequest().getPath().pathWithinApplication(); - return this.patterns.stream() - .filter(pattern -> pattern.matches(lookupPath)) - .collect(Collectors.toCollection(TreeSet::new)); + TreeSet pathPatterns = new TreeSet<>(); + for (PathPattern pattern : this.patterns) { + if (pattern.matches(lookupPath)) { + pathPatterns.add(pattern); + } + } + return pathPatterns; } /** diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/HeadersRequestCondition.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/HeadersRequestCondition.java index b30c53aeab2..061305dd42a 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/HeadersRequestCondition.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/HeadersRequestCondition.java @@ -142,7 +142,13 @@ public final class HeadersRequestCondition extends AbstractRequestCondition expressions) { - return expressions.stream().filter(e -> e.getValue() != null && !e.isNegated()).count(); + long count = 0; + for (HeaderExpression e : expressions) { + if (e.getValue() != null && !e.isNegated()) { + count++; + } + } + return count; } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/ParamsRequestCondition.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/ParamsRequestCondition.java index c55678dc937..d93d6b99224 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/ParamsRequestCondition.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/ParamsRequestCondition.java @@ -127,7 +127,13 @@ public final class ParamsRequestCondition extends AbstractRequestCondition expressions) { - return expressions.stream().filter(e -> e.getValue() != null && !e.isNegated()).count(); + long count = 0; + for (ParamExpression e : expressions) { + if (e.getValue() != null && !e.isNegated()) { + count++; + } + } + return count; }