diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/RouteDefinitionRouteLocator.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/RouteDefinitionRouteLocator.java index 5f8b2400..48790b00 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/RouteDefinitionRouteLocator.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/RouteDefinitionRouteLocator.java @@ -147,42 +147,31 @@ public class RouteDefinitionRouteLocator .replaceFilters(gatewayFilters).build(); } - @SuppressWarnings({ "Duplicates", "unchecked" }) - private List loadGatewayFilters(String id, - List filterDefinitions) { - List filters = filterDefinitions.stream().map(definition -> { - GatewayFilterFactory factory = this.gatewayFilterFactories - .get(definition.getName()); + @SuppressWarnings("unchecked") + List loadGatewayFilters(String id, List filterDefinitions) { + ArrayList ordered = new ArrayList<>(filterDefinitions.size()); + for (int i = 0; i < filterDefinitions.size(); i++) { + FilterDefinition definition = filterDefinitions.get(i); + GatewayFilterFactory factory = this.gatewayFilterFactories.get(definition.getName()); if (factory == null) { - throw new IllegalArgumentException( - "Unable to find GatewayFilterFactory with name " - + definition.getName()); + throw new IllegalArgumentException("Unable to find GatewayFilterFactory with name " + definition.getName()); } Map args = definition.getArgs(); if (logger.isDebugEnabled()) { - logger.debug("RouteDefinition " + id + " applying filter " + args + " to " - + definition.getName()); + logger.debug("RouteDefinition " + id + " applying filter " + args + " to " + definition.getName()); } - Map properties = factory.shortcutType().normalize(args, - factory, this.parser, this.beanFactory); + Map properties = factory.shortcutType().normalize(args, factory, this.parser, this.beanFactory); Object configuration = factory.newConfig(); ConfigurationUtils.bind(configuration, properties, - factory.shortcutFieldPrefix(), definition.getName(), validator, - conversionService); + factory.shortcutFieldPrefix(), definition.getName(), validator); - GatewayFilter gatewayFilter = factory.apply(id, configuration); + GatewayFilter gatewayFilter = factory.apply(configuration); if (this.publisher != null) { this.publisher.publishEvent(new FilterArgsEvent(this, id, properties)); } - return gatewayFilter; - }).collect(Collectors.toList()); - - ArrayList ordered = new ArrayList<>(filters.size()); - for (int i = 0; i < filters.size(); i++) { - GatewayFilter gatewayFilter = filters.get(i); if (gatewayFilter instanceof Ordered) { ordered.add(gatewayFilter); }