Skip to content

Commit 3d7eeff

Browse files
committed
[UNDERTOW-2303] Further structural improvements and improved documentation.
1 parent deb24a4 commit 3d7eeff

11 files changed

+1233
-971
lines changed

core/src/main/java/io/undertow/server/RoutingHandler.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
import io.undertow.util.HttpString;
2323
import io.undertow.util.Methods;
2424
import io.undertow.util.PathTemplateMatch;
25-
import io.undertow.util.PathTemplatePatternEqualsAdapter;
25+
import io.undertow.util.PathTemplateParser;
2626
import io.undertow.util.PathTemplateRouter;
27-
import io.undertow.util.PathTemplaterRouteResult;
27+
import io.undertow.util.PathTemplateRouteResult;
2828
import io.undertow.util.PathTemplateRouterFactory;
2929
import java.util.Collections;
3030
import java.util.HashMap;
@@ -175,7 +175,7 @@ private void handleNoMatch(
175175
final Routers routers,
176176
final HttpServerExchange exchange
177177
) throws Exception {
178-
final PathTemplaterRouteResult<Object> routeResult = routers.allMethodsRouter
178+
final PathTemplateRouteResult<Object> routeResult = routers.allMethodsRouter
179179
.route(exchange.getRelativePath());
180180
if (routeResult.getPathTemplate().isPresent()) {
181181
handlInvalidMethod(exchange);
@@ -195,7 +195,7 @@ public void handleRequest(final HttpServerExchange exchange) throws Exception {
195195
return;
196196
}
197197

198-
final PathTemplaterRouteResult<RoutingMatch> routeResult = methodRouter.route(exchange.getRelativePath());
198+
final PathTemplateRouteResult<RoutingMatch> routeResult = methodRouter.route(exchange.getRelativePath());
199199
if (routeResult.getPathTemplate().isEmpty()) {
200200
handleNoMatch(localRouters, exchange);
201201
return;
@@ -244,7 +244,7 @@ private RoutingMatchBuilder getOrAddMethodRoutingMatchBuilder(
244244

245245
final PathTemplateRouterFactory.Builder<RoutingMatchBuilder, RoutingMatch> routeBuilder
246246
= getOrAddMethodRouterBuiler(method);
247-
final PathTemplateRouterFactory.Template<RoutingMatchBuilder> parsedTemplate = PathTemplateRouterFactory.parseTemplate(
247+
final PathTemplateParser.PathTemplate<RoutingMatchBuilder> parsedTemplate = PathTemplateParser.parseTemplate(
248248
template, new RoutingMatchBuilder()
249249
);
250250

@@ -268,20 +268,20 @@ private Map<HttpString, PathTemplateRouter<RoutingMatch>> createMethodRouters()
268268
return Collections.unmodifiableMap(result);
269269
}
270270

271-
private static <A> Consumer<PathTemplateRouterFactory.Template<A>> createAddTemplateIfAbsentConsumer(
271+
private static <A> Consumer<PathTemplateParser.PathTemplate<A>> createAddTemplateIfAbsentConsumer(
272272
final PathTemplateRouterFactory.SimpleBuilder<Object> builder,
273273
final Supplier<Object> targetFactory
274274
) {
275275
Objects.requireNonNull(builder);
276276
Objects.requireNonNull(targetFactory);
277277

278-
return (final PathTemplateRouterFactory.Template<A> item) -> {
278+
return (final PathTemplateParser.PathTemplate<A> item) -> {
279279
final String template = item.getPathTemplate();
280-
final PathTemplateRouterFactory.Template<Supplier<Object>> parsedTemplate = PathTemplateRouterFactory.parseTemplate(
280+
final PathTemplateParser.PathTemplate<Supplier<Object>> parsedTemplate = PathTemplateParser.parseTemplate(
281281
template, targetFactory
282282
);
283-
final PathTemplatePatternEqualsAdapter<PathTemplateRouterFactory.Template<Supplier<Object>>> parsedTemplatePattern
284-
= new PathTemplatePatternEqualsAdapter<>(parsedTemplate);
283+
final PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<Supplier<Object>>> parsedTemplatePattern
284+
= new PathTemplateParser.PathTemplatePatternEqualsAdapter<>(parsedTemplate);
285285
if (!builder.getTemplates().containsKey(parsedTemplatePattern)) {
286286
builder.getTemplates().put(parsedTemplatePattern, parsedTemplate.getTarget());
287287
}
@@ -294,8 +294,8 @@ private PathTemplateRouter<Object> createAllMethodsRouter() {
294294
final PathTemplateRouterFactory.SimpleBuilder<Object> builder = PathTemplateRouterFactory.SimpleBuilder
295295
.newBuilder(target);
296296
methodRouterBuilders.values().stream()
297-
.flatMap(b -> b.getTemplates().keySet().stream())
298-
.map(PathTemplatePatternEqualsAdapter::getPattern)
297+
.flatMap(b -> b.getTemplates().keySet().stream()) //Extract all templates for all methods into a stream
298+
.map(PathTemplateParser.PathTemplatePatternEqualsAdapter::getPattern) //Extract the patterns into a stream
299299
.forEach(createAddTemplateIfAbsentConsumer(builder, targetFactory));
300300
return builder.build();
301301
}
@@ -402,7 +402,7 @@ its configuration (templates etc) are mutated. Mutating via the original Routin
402402
: routingHandler.methodRouterBuilders.entrySet()) {
403403
final PathTemplateRouterFactory.Builder<RoutingMatchBuilder, RoutingMatch> builder
404404
= getOrAddMethodRouterBuiler(outer.getKey());
405-
for (final Entry<PathTemplatePatternEqualsAdapter<PathTemplateRouterFactory.Template<RoutingMatchBuilder>>, RoutingMatchBuilder> inner
405+
for (final Entry<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<RoutingMatchBuilder>>, RoutingMatchBuilder> inner
406406
: outer.getValue().getTemplates().entrySet()) {
407407
builder.addTemplate(
408408
inner.getKey().getPattern().getPathTemplate(),
@@ -423,11 +423,11 @@ private boolean removeIfPresent(final HttpString method, final String path) {
423423
return false;
424424
}
425425

426-
final PathTemplateRouterFactory.Template<RoutingMatchBuilder> parsedTemplate = PathTemplateRouterFactory.parseTemplate(
426+
final PathTemplateParser.PathTemplate<RoutingMatchBuilder> parsedTemplate = PathTemplateParser.parseTemplate(
427427
path, noRoutingMatchBuilder
428428
);
429-
final PathTemplatePatternEqualsAdapter<PathTemplateRouterFactory.Template<RoutingMatchBuilder>> parsedTemplatePattern
430-
= new PathTemplatePatternEqualsAdapter<>(parsedTemplate);
429+
final PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<RoutingMatchBuilder>> parsedTemplatePattern
430+
= new PathTemplateParser.PathTemplatePatternEqualsAdapter<>(parsedTemplate);
431431

432432
if (!builder.getTemplates().containsKey(parsedTemplatePattern)) {
433433
return false;

core/src/main/java/io/undertow/server/handlers/PathTemplateHandler.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
import io.undertow.server.HttpHandler;
2121
import io.undertow.server.HttpServerExchange;
2222
import io.undertow.util.AttachmentKey;
23-
import io.undertow.util.PathTemplatePatternEqualsAdapter;
23+
import io.undertow.util.PathTemplateParser;
2424
import io.undertow.util.PathTemplateRouter;
25-
import io.undertow.util.PathTemplaterRouteResult;
25+
import io.undertow.util.PathTemplateRouteResult;
2626
import io.undertow.util.PathTemplateRouterFactory;
2727
import java.util.function.Supplier;
2828
import java.util.ArrayList;
@@ -135,7 +135,7 @@ public PathTemplateHandler remove(final String uriTemplate) {
135135

136136
@Override
137137
public String toString() {
138-
final List<PathTemplatePatternEqualsAdapter<PathTemplateRouterFactory.Template<Supplier<HttpHandler>>>> templates
138+
final List<PathTemplateParser.PathTemplatePatternEqualsAdapter<PathTemplateParser.PathTemplate<Supplier<HttpHandler>>>> templates
139139
= new ArrayList<>(builder.getBuilder().getTemplates().keySet());
140140

141141
final StringBuilder sb = new StringBuilder();
@@ -152,7 +152,7 @@ public String toString() {
152152

153153
@Override
154154
public void handleRequest(final HttpServerExchange exchange) throws Exception {
155-
final PathTemplaterRouteResult<HttpHandler> routeResult = router.route(exchange.getRelativePath());
155+
final PathTemplateRouteResult<HttpHandler> routeResult = router.route(exchange.getRelativePath());
156156
if (routeResult.getPathTemplate().isEmpty()) {
157157
// This is the default handler, therefore it doesn't contain path parameters.
158158
routeResult.getTarget().handleRequest(exchange);

core/src/main/java/io/undertow/server/handlers/PathTemplateRouterHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import io.undertow.server.HttpHandler;
2121
import io.undertow.server.HttpServerExchange;
2222
import io.undertow.util.PathTemplateRouter;
23-
import io.undertow.util.PathTemplaterRouteResult;
23+
import io.undertow.util.PathTemplateRouteResult;
2424
import io.undertow.util.PathTemplateRouterFactory;
2525
import java.util.Map;
2626
import java.util.Objects;
@@ -53,7 +53,7 @@ public PathTemplateRouterHandler(
5353

5454
@Override
5555
public void handleRequest(final HttpServerExchange exchange) throws Exception {
56-
final PathTemplaterRouteResult<HttpHandler> routeResult = router.route(exchange.getRelativePath());
56+
final PathTemplateRouteResult<HttpHandler> routeResult = router.route(exchange.getRelativePath());
5757
if (routeResult.getPathTemplate().isEmpty()) {
5858
// This is the default handler, therefore it doesn't contain path parameters.
5959
routeResult.getTarget().handleRequest(exchange);

0 commit comments

Comments
 (0)