Skip to content

Commit 537feb4

Browse files
Rene SprietsmaRene Sprietsma
authored andcommitted
smashed bug
1 parent bdb7017 commit 537feb4

File tree

3 files changed

+34
-33
lines changed

3 files changed

+34
-33
lines changed

src/main/java/com/github/spriet2000/vertx/handlers/core/BiHandlers.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ public interface BiHandlers<E, A> {
1717

1818
BiHandlersImpl<E, A> andThen(BiHandlersImpl<E, A>... handlers);
1919

20-
List<BiFunction<BiConsumer<E, Throwable>, BiConsumer<E, A>, BiConsumer<E, A>>> handlers();
20+
List<BiFunction<BiConsumer<E, Throwable>, BiConsumer<E, A>, BiConsumer<E, A>>> list();
2121
}

src/main/java/com/github/spriet2000/vertx/handlers/core/impl/BiHandlersImpl.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,17 @@
1111

1212
public final class BiHandlersImpl<E, A> implements BiHandlers<E, A> {
1313

14-
private List<BiFunction<BiConsumer<E, Throwable>, BiConsumer<E, A>, BiConsumer<E, A>>> handlers;
14+
private List<BiFunction<BiConsumer<E, Throwable>, BiConsumer<E, A>, BiConsumer<E, A>>> list = new ArrayList<>();
1515

1616
public BiHandlersImpl() {
1717
}
1818

1919
@Override
2020
public BiConsumer<E, A> apply(BiConsumer<E, Throwable> exceptionHandler, BiConsumer<E, A> successHandler) {
2121
BiConsumer<E, A> last = successHandler;
22-
for (int i = handlers.size() - 1; i >= 0; i--) {
22+
for (int i = list().size() - 1; i >= 0; i--) {
2323
final BiConsumer<E, A> previous = last;
24-
last = handlers.get(i).apply(
24+
last = list().get(i).apply(
2525
exceptionHandler,
2626
previous);
2727
}
@@ -32,32 +32,29 @@ public BiConsumer<E, A> apply(BiConsumer<E, Throwable> exceptionHandler, BiConsu
3232
@SafeVarargs
3333
public final BiHandlersImpl<E, A> andThen(BiConsumer<E, A>... consumers) {
3434
for (BiConsumer<E, A> consumer : consumers) {
35-
handlers().add((f, n) -> consumer);
35+
list().add((f, n) -> consumer);
3636
}
3737
return this;
3838
}
3939

4040
@Override
4141
@SafeVarargs
4242
public final BiHandlersImpl<E, A> andThen(BiFunction<BiConsumer<E, Throwable>, BiConsumer<E, A>, BiConsumer<E, A>>... handlers) {
43-
Collections.addAll(handlers(), handlers);
43+
Collections.addAll(list(), handlers);
4444
return this;
4545
}
4646

4747
@Override
4848
@SafeVarargs
4949
public final BiHandlersImpl<E, A> andThen(BiHandlersImpl<E, A>... handlers) {
5050
for (BiHandlersImpl<E, A> handler : handlers) {
51-
handlers().addAll(handler.handlers().stream().collect(Collectors.toList()));
51+
list().addAll(handler.list().stream().collect(Collectors.toList()));
5252
}
5353
return this;
5454
}
5555

5656
@Override
57-
public List<BiFunction<BiConsumer<E, Throwable>, BiConsumer<E, A>, BiConsumer<E, A>>> handlers() {
58-
if (handlers == null) {
59-
handlers = new ArrayList<>();
60-
}
61-
return handlers;
57+
public List<BiFunction<BiConsumer<E, Throwable>, BiConsumer<E, A>, BiConsumer<E, A>>> list() {
58+
return list;
6259
}
6360
}

src/main/java/com/github/spriet2000/vertx/handlers/http/impl/ServerRequestHandlers.java

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -20,49 +20,53 @@ public ServerRequestHandlers() {
2020
@SafeVarargs
2121
public ServerRequestHandlers(BiFunction<BiConsumer<HttpServerRequest, Throwable>, BiConsumer<HttpServerRequest, A>,
2222
BiConsumer<HttpServerRequest, A>>... handlers) {
23-
Collections.addAll(biHandlers.handlers(), handlers);
23+
Collections.addAll(biHandlers.list(), handlers);
2424
}
2525

2626
@SafeVarargs
2727
public ServerRequestHandlers(ServerRequestHandlers<A>... handlers) {
2828
for (ServerRequestHandlers<A> handler : handlers) {
29-
biHandlers.handlers().addAll(handler.handlers().stream().collect(Collectors.toList()));
29+
biHandlers.list().addAll(handler.list().stream().collect(Collectors.toList()));
3030
}
3131
}
3232

33-
@SafeVarargs
34-
public static <A> ServerRequestHandlers<A> build(ServerRequestHandlers<A>... handlers) {
35-
return new ServerRequestHandlers<>(handlers);
33+
@Override
34+
public BiConsumer<HttpServerRequest, A> apply(BiConsumer<HttpServerRequest, Throwable> exceptionHandler,
35+
BiConsumer<HttpServerRequest, A> successHandler) {
36+
return biHandlers.apply(exceptionHandler, successHandler);
3637
}
3738

38-
@SafeVarargs
39-
public static <A> ServerRequestHandlers<A> build(BiFunction<BiConsumer<HttpServerRequest, Throwable>,
40-
BiConsumer<HttpServerRequest, A>, BiConsumer<HttpServerRequest, A>>... handlers) {
41-
return new ServerRequestHandlers<>(handlers);
39+
@Override
40+
public BiHandlersImpl<HttpServerRequest, A> andThen(BiConsumer<HttpServerRequest, A>... biConsumers) {
41+
return biHandlers.andThen(biConsumers);
4242
}
4343

4444
@Override
45-
public BiConsumer<HttpServerRequest, A> apply(BiConsumer<HttpServerRequest, Throwable> exceptionHandler, BiConsumer<HttpServerRequest, A> successHandler) {
46-
return biHandlers.apply(exceptionHandler, successHandler);
45+
public BiHandlersImpl<HttpServerRequest, A> andThen(BiFunction<BiConsumer<HttpServerRequest, Throwable>,
46+
BiConsumer<HttpServerRequest, A>, BiConsumer<HttpServerRequest, A>>... list) {
47+
return biHandlers.andThen(list);
4748
}
4849

4950
@Override
50-
public BiHandlersImpl<HttpServerRequest, A> andThen(BiConsumer<HttpServerRequest, A>... consumers) {
51-
return biHandlers.andThen(consumers);
51+
public BiHandlersImpl<HttpServerRequest, A> andThen(BiHandlersImpl<HttpServerRequest, A>... biHandlers) {
52+
return this.biHandlers.andThen(biHandlers);
5253
}
5354

5455
@Override
55-
public BiHandlersImpl<HttpServerRequest, A> andThen(BiFunction<BiConsumer<HttpServerRequest, Throwable>, BiConsumer<HttpServerRequest, A>, BiConsumer<HttpServerRequest, A>>... handlers) {
56-
return null;
56+
public List<BiFunction<BiConsumer<HttpServerRequest, Throwable>, BiConsumer<HttpServerRequest, A>,
57+
BiConsumer<HttpServerRequest, A>>> list() {
58+
return biHandlers.list();
5759
}
5860

59-
@Override
60-
public BiHandlersImpl<HttpServerRequest, A> andThen(BiHandlersImpl<HttpServerRequest, A>... handlers) {
61-
return biHandlers.andThen(handlers);
61+
@SafeVarargs
62+
public static <A> ServerRequestHandlers<A> build(ServerRequestHandlers<A>... handlers) {
63+
return new ServerRequestHandlers<>(handlers);
6264
}
6365

64-
@Override
65-
public List<BiFunction<BiConsumer<HttpServerRequest, Throwable>, BiConsumer<HttpServerRequest, A>, BiConsumer<HttpServerRequest, A>>> handlers() {
66-
return biHandlers.handlers();
66+
@SafeVarargs
67+
public static <A> ServerRequestHandlers<A> build(BiFunction<BiConsumer<HttpServerRequest, Throwable>,
68+
BiConsumer<HttpServerRequest, A>, BiConsumer<HttpServerRequest, A>>... handlers) {
69+
return new ServerRequestHandlers<>(handlers);
6770
}
71+
6872
}

0 commit comments

Comments
 (0)