package angularBeans.demoApp.ngbeans;
import java.io.Serializable;
import javax.enterprise.event.Observes;
import javax.inject.Inject;
import angularBeans.api.AngularBean;
import angularBeans.context.NGSessionScoped;
import angularBeans.demoApp.domain.NotificationMessage;
import angularBeans.events.RealTimeMessage;
import angularBeans.realtime.RealTimeClient;
@AngularBean
@NGSessionScoped
public class NotificationsService implements Serializable {
@Inject
RealTimeClient client;
public void fireNotification(@Observes NotificationMessage message) {
RealTimeMessage rtMessage = new RealTimeMessage().set("message",
message);
if (message.isBroadcast()) {
client.broadcast("notificationChannel", rtMessage,false);
} else {
client.publish("notificationChannel", rtMessage);
}
}
}