Skip to content

Commit

Permalink
Resolves #12
Browse files Browse the repository at this point in the history
  • Loading branch information
ralscha committed Nov 2, 2019
1 parent a93e9e5 commit 709cea8
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 16 deletions.
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,10 +142,14 @@ Fortunately it is possible to polyfill the SSE support where it's missing.

## Changelog

### 1.1.8 - November ??, 2019
* Resolves [Issue #12](https://github.com/ralscha/sse-eventbus/issues/12): Hide ImmutableSseEvent completely from public API


### 1.1.7 - May 24, 2018
* Resolves [Issue #8](https://github.com/ralscha/sse-eventbus/issues/8): Fix handling messages containing a new line character \n

* Resolves [Issue #6](https://github.com/ralscha/sse-eventbus/issues/6): Make members of DefaultSseEventBusConfiguration protected for easier subclassing
* Resolves [Issue #6](https://github.com/ralscha/sse-eventbus/issues/6): Make members of DefaultSseEventBusConfiguration protected for easier sub classing


### 1.1.6 - March 21, 2018
Expand Down
33 changes: 30 additions & 3 deletions src/main/java/ch/rasc/sse/eventbus/SseEvent.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,40 @@ public static SseEvent of(String event, Object data) {
}

public static Builder builder() {
return new Builder();
return ImmutableSseEvent.builder();
}

public static final class Builder extends ImmutableSseEvent.Builder {
public interface Builder {

// nothing here
Builder addClientId(String element);

Builder addClientIds(String... elements);

Builder clientIds(Iterable<String> elements);

Builder addAllClientIds(Iterable<String> elements);

Builder addExcludeClientId(String element);

Builder addExcludeClientIds(String... elements);

Builder excludeClientIds(Iterable<String> elements);

Builder addAllExcludeClientIds(Iterable<String> elements);

Builder jsonView(Class<?> jsonView);

Builder event(String event);

Builder data(Object data);

Builder retry(Duration retry);

Builder id(String id);

Builder comment(String comment);

SseEvent build();
}

}
24 changes: 12 additions & 12 deletions src/test/java/ch/rasc/sse/eventbus/IntegrationTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ public void testOneClientOneEventEmptyData() throws IOException {
@Test
public void testOneClientOneEventAdditionalInfo() throws IOException {
Response sseResponse = registerSubscribe("1", "eventName");
ImmutableSseEvent sseEvent = SseEvent.builder().event("eventName")
SseEvent sseEvent = SseEvent.builder().event("eventName")
.data("the data line").id("123").retry(Duration.ofMillis(1000L))
.comment("the comment").build();
this.eventPublisher.publishEvent(sseEvent);
Expand All @@ -121,7 +121,7 @@ public void testOneClientOneEventAdditionalInfo() throws IOException {
@Test
public void testOneClientOneDirectEvent() throws IOException {
Response sseResponse = registerSubscribe("1", "eventName");
ImmutableSseEvent sseEvent = SseEvent.builder().addClientId("1")
SseEvent sseEvent = SseEvent.builder().addClientId("1")
.event("eventName").data("payload").build();
this.eventPublisher.publishEvent(sseEvent);
assertSseResponse(sseResponse, "event:eventName", "data:payload");
Expand All @@ -137,7 +137,7 @@ public void testOneClientNoEvent() throws IOException {
@Test
public void testOneClientOneDirectEventToSomebodyElse() throws IOException {
Response sseResponse = registerSubscribe("1", "eventName");
ImmutableSseEvent sseEvent = SseEvent.builder().addClientId("2")
SseEvent sseEvent = SseEvent.builder().addClientId("2")
.event("eventName").data("payload").build();
this.eventPublisher.publishEvent(sseEvent);
assertSseResponse(sseResponse, "");
Expand All @@ -156,7 +156,7 @@ public void testOneClientTwoEvents() throws IOException {
public void testOneClientTwoDirectEvents() throws IOException {
Response sseResponse = registerSubscribe("1", "eventName");

ImmutableSseEvent sseEvent = SseEvent.builder().addClientId("1")
SseEvent sseEvent = SseEvent.builder().addClientId("1")
.event("eventName").data("payload1").build();
this.eventPublisher.publishEvent(sseEvent);
sseEvent = SseEvent.builder().addClientId("1").event("eventName").data("payload2")
Expand All @@ -172,7 +172,7 @@ public void testOneClientOneDirectEventToHimAndOneToSomebodyElse()
throws IOException {
Response sseResponse = registerSubscribe("1", "eventName");

ImmutableSseEvent sseEvent = SseEvent.builder().addClientId("1")
SseEvent sseEvent = SseEvent.builder().addClientId("1")
.event("eventName").data("payload1").build();
this.eventPublisher.publishEvent(sseEvent);

Expand Down Expand Up @@ -208,7 +208,7 @@ public void testTwoClientsTwoDirectEventToOneOfThem() throws IOException {
Response sseResponse1 = registerSubscribe("1", "eventName");
Response sseResponse2 = registerSubscribe("2", "eventName");

ImmutableSseEvent sseEvent = SseEvent.builder().addClientId("2")
SseEvent sseEvent = SseEvent.builder().addClientId("2")
.event("eventName").data("payload1").build();
this.eventPublisher.publishEvent(sseEvent);

Expand All @@ -227,7 +227,7 @@ public void testThreeClientsGroupEventToTwoOfThem() throws IOException {
Response sseResponse2 = registerSubscribe("2", "eventName");
Response sseResponse3 = registerSubscribe("3", "eventName");

ImmutableSseEvent sseEvent = SseEvent.builder().addClientIds("2", "3")
SseEvent sseEvent = SseEvent.builder().addClientIds("2", "3")
.event("eventName").data("payload1").build();
this.eventPublisher.publishEvent(sseEvent);
sseEvent = SseEvent.builder().addClientIds("2", "3").event("eventName")
Expand All @@ -246,7 +246,7 @@ public void testThreeClientsGroupEventToTwoOfThemIgnoreExclude() throws IOExcept
Response sseResponse2 = registerSubscribe("2", "eventName");
Response sseResponse3 = registerSubscribe("3", "eventName");

ImmutableSseEvent sseEvent = SseEvent.builder().addClientIds("2", "3")
SseEvent sseEvent = SseEvent.builder().addClientIds("2", "3")
.addExcludeClientIds("2", "1").event("eventName").data("payload1").build();
this.eventPublisher.publishEvent(sseEvent);
sseEvent = SseEvent.builder().addClientIds("2", "3")
Expand All @@ -266,7 +266,7 @@ public void testThreeClientsSendExcludeOne() throws IOException {
Response sseResponse2 = registerSubscribe("2", "eventName");
Response sseResponse3 = registerSubscribe("3", "eventName");

ImmutableSseEvent sseEvent = SseEvent.builder().addExcludeClientId("2")
SseEvent sseEvent = SseEvent.builder().addExcludeClientId("2")
.event("eventName").data("payload1").build();
this.eventPublisher.publishEvent(sseEvent);
sseEvent = SseEvent.builder().addExcludeClientId("1").event("eventName")
Expand All @@ -284,7 +284,7 @@ public void testThreeClientsSendExcludeMultiple() throws IOException {
Response sseResponse2 = registerSubscribe("2", "eventName");
Response sseResponse3 = registerSubscribe("3", "eventName");

ImmutableSseEvent sseEvent = SseEvent.builder().addExcludeClientIds("2", "3")
SseEvent sseEvent = SseEvent.builder().addExcludeClientIds("2", "3")
.event("eventName").data("payload1").build();
this.eventPublisher.publishEvent(sseEvent);
sseEvent = SseEvent.builder().addExcludeClientIds("1", "3").event("eventName")
Expand All @@ -304,7 +304,7 @@ public void testMultipleSubscriptions() throws IOException {
subscribe("1", "event1");
subscribe("1", "event2");

ImmutableSseEvent sseEvent = SseEvent.builder().event("event1").data("payload")
SseEvent sseEvent = SseEvent.builder().event("event1").data("payload")
.build();
this.eventPublisher.publishEvent(sseEvent);
assertSseResponse(sseResponse, "event:event1", "data:payload");
Expand All @@ -323,7 +323,7 @@ public void testReconnect() throws IOException {
assertThat(this.eventBus.countSubscribers("eventName")).isEqualTo(1);
assertThat(this.eventBus.getAllSubscriptions()).containsOnlyKeys("eventName");

ImmutableSseEvent sseEvent = SseEvent.builder().event("eventName")
SseEvent sseEvent = SseEvent.builder().event("eventName")
.data("payload1").build();
this.eventPublisher.publishEvent(sseEvent);
sseEvent = SseEvent.builder().event("eventName").data("payload2").build();
Expand Down

0 comments on commit 709cea8

Please sign in to comment.