package org.aktin.broker.notify;

import javax.inject.Singleton;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.sse.SseEventSink;
import javax.ws.rs.sse.Sse;
import javax.ws.rs.sse.SseBroadcaster;

@Singleton
@Path("/broker/events")
public class BrokerSSE {
	private Sse sse;
	private SseBroadcaster broadcaster;

	public BrokerSSE(@Context final Sse sse) {
		this.sse = sse;
		this.broadcaster = sse.newBroadcaster();
	}
 

	@GET
//	@Produces(MediaType.SER)
	public void getServerSentEvents(@Context SseEventSink eventSink) {
		this.broadcaster.register(eventSink);
		
	}
}

@@ -27,16 +27,18 @@
 otify;%0A%0A
+//
 import j
@@ -60,16 +60,18 @@
 gleton;%0A
+//
 import j
@@ -86,16 +86,18 @@
 rs.GET;%0A
+//
 import j
@@ -113,16 +113,18 @@
 s.Path;%0A
+//
 import j
@@ -144,16 +144,18 @@
 oduces;%0A
+//
 import j
@@ -179,16 +179,18 @@
 ontext;%0A
+//
 import j
@@ -216,16 +216,18 @@
 iaType;%0A
+//
 import j
@@ -255,16 +255,18 @@
 ntSink;%0A
+//
 import j
@@ -285,16 +285,18 @@
 se.Sse;%0A
+//
 import j
@@ -327,16 +327,18 @@
 aster;%0A%0A
+//
 @Singlet
@@ -340,16 +340,18 @@
 ngleton%0A
+//
 @Path(%22/
@@ -391,16 +391,18 @@
 erSSE %7B%0A
+//
 %09private
@@ -411,16 +411,18 @@
 se sse;%0A
+//
 %09private
@@ -450,17 +450,21 @@
 caster;%0A
-%0A
+//%0A//
 %09public 
@@ -495,24 +495,26 @@
  Sse sse) %7B%0A
+//
 %09%09this.sse =
@@ -519,16 +519,18 @@
  = sse;%0A
+//
 %09%09this.b
@@ -568,20 +568,30 @@
 ();%0A
+//
 %09%7D%0A
- %0A%0A
+// %0A//%0A//
 %09@GET%0A
+//
 //%09@
@@ -614,16 +614,18 @@
 pe.SER)%0A
+//
 %09public 
@@ -684,16 +684,18 @@
 Sink) %7B%0A
+//
 %09%09this.b
@@ -730,11 +730,15 @@
 k);%0A
+//
 %09%09%0A
+//
 %09%7D%0A%7D

disable non-functional BrokerSSE class