Skip to content

Commit c9601d3

Browse files
Fix NPE in MockServerClientEventBus
Fixes #214 Also: * made class extendable * use an ``EnumMap`` Co-Authored-By: Rong Zhou <204983152+rongzhou-tomo@users.noreply.github.com>
1 parent 39d70a0 commit c9601d3

2 files changed

Lines changed: 16 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# 1.0.16
2+
* Fix NPE in ``MockServerClientEventBus`` #214 @rongzhou-tomo
3+
14
# 1.0.15
25
* Updated dependencies
36

client/src/main/java/software/xdev/mockserver/client/MockServerClientEventBus.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package software.xdev.mockserver.client;
1717

18-
import java.util.LinkedHashMap;
18+
import java.util.EnumMap;
1919
import java.util.LinkedHashSet;
2020
import java.util.Map;
2121
import java.util.Set;
@@ -25,13 +25,19 @@
2525
* A publish/subscribe communication channel between {@link MockServerClient} and {@link ForwardChainExpectation}
2626
* instances
2727
*/
28-
class MockServerClientEventBus
28+
public class MockServerClientEventBus
2929
{
30-
private final Map<EventType, Set<SubscriberHandler>> subscribers = new LinkedHashMap<>();
30+
protected final Map<EventType, Set<SubscriberHandler>> subscribers = new EnumMap<>(EventType.class);
3131

32-
void publish(final EventType event)
32+
protected void publish(final EventType event)
3333
{
34-
for(final SubscriberHandler subscriber : this.subscribers.get(event))
34+
final Set<SubscriberHandler> subscriberHandlers = this.subscribers.get(event);
35+
if(subscriberHandlers == null)
36+
{
37+
return;
38+
}
39+
40+
for(final SubscriberHandler subscriber : subscriberHandlers)
3541
{
3642
subscriber.handle();
3743
}
@@ -45,13 +51,13 @@ public void subscribe(final SubscriberHandler subscriber, final EventType... eve
4551
}
4652
}
4753

48-
enum EventType
54+
public enum EventType
4955
{
5056
STOP, RESET
5157
}
5258

5359

54-
interface SubscriberHandler
60+
public interface SubscriberHandler
5561
{
5662
void handle();
5763
}

0 commit comments

Comments
 (0)