/** * Build {@link OutboundEvent}. * <p> * There are two valid configurations: * <ul> * <li>if a {@link Builder#comment(String) comment} is set, all other parameters are optional. * If event {@link Builder#data(Class, Object) data} and {@link Builder#mediaType(MediaType) media type} is set, * event data will be serialized after the comment.</li> * <li>if a {@link Builder#comment(String) comment} is not set, at least the event * {@link Builder#data(Class, Object) data} must be set. All other parameters are optional.</li> * </ul> * </p> * * @return new {@link OutboundEvent} instance. * @throws IllegalStateException when called with invalid configuration (neither a comment nor event data are set). */ public OutboundEvent build() { if (comment == null && data == null && type == null) { throw new IllegalStateException(LocalizationMessages.OUT_EVENT_NOT_BUILDABLE()); } return new OutboundEvent(name, id, reconnectDelay, type, mediaType, data, comment); } }
if (outboundEvent.getComment() != null) { for (final String comment : outboundEvent.getComment().split("\n")) { entityStream.write(COMMENT_LEAD); entityStream.write(comment.getBytes(charset)); if (outboundEvent.getType() != null) { if (outboundEvent.getName() != null) { entityStream.write(NAME_LEAD); entityStream.write(outboundEvent.getName().getBytes(charset)); entityStream.write(EOL); if (outboundEvent.getId() != null) { entityStream.write(ID_LEAD); entityStream.write(outboundEvent.getId().getBytes(charset)); entityStream.write(EOL); if (outboundEvent.getReconnectDelay() > SseFeature.RECONNECT_NOT_SET) { entityStream.write(RETRY_LEAD); entityStream.write(Long.toString(outboundEvent.getReconnectDelay()).getBytes(charset)); entityStream.write(EOL); outboundEvent.getMediaType() == null ? MediaType.TEXT_PLAIN_TYPE : outboundEvent.getMediaType(); final MessageBodyWriter messageBodyWriter = workersProvider.get().getMessageBodyWriter(outboundEvent.getType(), outboundEvent.getGenericType(), annotations, eventMediaType); messageBodyWriter.writeTo( outboundEvent.getData(), outboundEvent.getType(), outboundEvent.getGenericType(), annotations,
@Override public void write(OutboundEvent chunk) throws IOException { if (chunk.getName().equals("subscriptionId") && chunk.getData().equals(subscriptionId)) { super.write(chunk); } else { SitemapEvent event = (SitemapEvent) chunk.getData(); String sitemapName = event.sitemapName; String pageId = event.pageId; if (sitemapName != null && sitemapName.equals(subscriptions.getSitemapName(subscriptionId)) && pageId != null && pageId.equals(subscriptions.getPageId(subscriptionId))) { super.write(chunk); if (logger.isDebugEnabled() && event instanceof SitemapWidgetEvent) { logger.debug("Sent sitemap event for widget {} to subscription {}.", ((SitemapWidgetEvent) event).widgetId, subscriptionId); } } } }
@Override public void write(OutboundEvent chunk) throws IOException { EventBean event = (EventBean) chunk.getData(); for (String filter : regexFilters) { if (event.topic.matches(filter)) { super.write(chunk); return; } } }
if (outboundEvent.getComment() != null) { for (final String comment : outboundEvent.getComment().split("\n")) { entityStream.write(COMMENT_LEAD); entityStream.write(comment.getBytes(charset)); if (outboundEvent.getType() != null) { if (outboundEvent.getName() != null) { entityStream.write(NAME_LEAD); entityStream.write(outboundEvent.getName().getBytes(charset)); entityStream.write(EOL); if (outboundEvent.getId() != null) { entityStream.write(ID_LEAD); entityStream.write(outboundEvent.getId().getBytes(charset)); entityStream.write(EOL); if (outboundEvent.getReconnectDelay() > SseFeature.RECONNECT_NOT_SET) { entityStream.write(RETRY_LEAD); entityStream.write(Long.toString(outboundEvent.getReconnectDelay()).getBytes(charset)); entityStream.write(EOL); outboundEvent.getMediaType() == null ? MediaType.TEXT_PLAIN_TYPE : outboundEvent.getMediaType(); final MessageBodyWriter messageBodyWriter = workersProvider.get().getMessageBodyWriter(outboundEvent.getType(), outboundEvent.getGenericType(), annotations, eventMediaType); messageBodyWriter.writeTo( outboundEvent.getData(), outboundEvent.getType(), outboundEvent.getGenericType(), annotations,
@Override public void write(OutboundEvent chunk) throws IOException { if (chunk.getName().equals("subscriptionId") && chunk.getData().equals(subscriptionId)) { super.write(chunk); } else { SitemapEvent event = (SitemapEvent) chunk.getData(); String sitemapName = event.sitemapName; String pageId = event.pageId; if (sitemapName != null && sitemapName.equals(subscriptions.getSitemapName(subscriptionId)) && pageId != null && pageId.equals(subscriptions.getPageId(subscriptionId))) { super.write(chunk); if (logger.isDebugEnabled()) { if (event instanceof SitemapWidgetEvent) { logger.debug("Sent sitemap event for widget {} to subscription {}.", ((SitemapWidgetEvent) event).widgetId, subscriptionId); } else if (event instanceof ServerAliveEvent) { logger.debug("Sent alive event to subscription {}.", subscriptionId); } } } } }
@Override public void write(OutboundEvent chunk) throws IOException { EventBean event = (EventBean) chunk.getData(); for (String filter : regexFilters) { if (event.topic.matches(filter)) { super.write(chunk); return; } } }
if (outboundEvent.getComment() != null) { for (final String comment : outboundEvent.getComment().split("\n")) { entityStream.write(COMMENT_LEAD); entityStream.write(comment.getBytes(charset)); if (outboundEvent.getType() != null) { if (outboundEvent.getName() != null) { entityStream.write(NAME_LEAD); entityStream.write(outboundEvent.getName().getBytes(charset)); entityStream.write(EOL); if (outboundEvent.getId() != null) { entityStream.write(ID_LEAD); entityStream.write(outboundEvent.getId().getBytes(charset)); entityStream.write(EOL); if (outboundEvent.getReconnectDelay() > SseFeature.RECONNECT_NOT_SET) { entityStream.write(RETRY_LEAD); entityStream.write(Long.toString(outboundEvent.getReconnectDelay()).getBytes(charset)); entityStream.write(EOL); outboundEvent.getMediaType() == null ? MediaType.TEXT_PLAIN_TYPE : outboundEvent.getMediaType(); final MessageBodyWriter messageBodyWriter = workersProvider.get().getMessageBodyWriter(outboundEvent.getType(), outboundEvent.getGenericType(), annotations, eventMediaType); messageBodyWriter.writeTo( outboundEvent.getData(), outboundEvent.getType(), outboundEvent.getGenericType(), annotations,
/** * Build {@link OutboundEvent}. * <p> * There are two valid configurations: * <ul> * <li>if a {@link Builder#comment(String) comment} is set, all other parameters are optional. * If event {@link Builder#data(Class, Object) data} and {@link Builder#mediaType(MediaType) media type} is set, * event data will be serialized after the comment.</li> * <li>if a {@link Builder#comment(String) comment} is not set, at least the event * {@link Builder#data(Class, Object) data} must be set. All other parameters are optional.</li> * </ul> * </p> * * @return new {@link OutboundEvent} instance. * @throws IllegalStateException when called with invalid configuration (neither a comment nor event data are set). */ public OutboundEvent build() { if (comment == null && data == null && type == null) { throw new IllegalStateException(LocalizationMessages.OUT_EVENT_NOT_BUILDABLE()); } return new OutboundEvent(name, id, reconnectDelay, type, mediaType, data, comment); } }
/** * Build {@link OutboundEvent}. * <p> * There are two valid configurations: * <ul> * <li>if a {@link Builder#comment(String) comment} is set, all other parameters are optional. * If event {@link Builder#data(Class, Object) data} and {@link Builder#mediaType(MediaType) media type} is set, * event data will be serialized after the comment.</li> * <li>if a {@link Builder#comment(String) comment} is not set, at least the event * {@link Builder#data(Class, Object) data} must be set. All other parameters are optional.</li> * </ul> * </p> * * @return new {@link OutboundEvent} instance. * @throws IllegalStateException when called with invalid configuration (neither a comment nor event data are set). */ public OutboundEvent build() { if (comment == null && data == null && type == null) { throw new IllegalStateException(LocalizationMessages.OUT_EVENT_NOT_BUILDABLE()); } return new OutboundEvent(name, id, reconnectDelay, type, mediaType, data, comment); } }
/** * Build {@link OutboundEvent}. * <p> * There are two valid configurations: * <ul> * <li>if a {@link Builder#comment(String) comment} is set, all other parameters are optional. * If event {@link Builder#data(Class, Object) data} and {@link Builder#mediaType(MediaType) media type} is set, * event data will be serialized after the comment.</li> * <li>if a {@link Builder#comment(String) comment} is not set, at least the event * {@link Builder#data(Class, Object) data} must be set. All other parameters are optional.</li> * </ul> * </p> * * @return new {@link OutboundEvent} instance. * @throws IllegalStateException when called with invalid configuration (neither a comment nor event data are set). */ public OutboundEvent build() { if (comment == null && data == null && type == null) { throw new IllegalStateException(LocalizationMessages.OUT_EVENT_NOT_BUILDABLE()); } return new OutboundEvent(name, id, reconnectDelay, type, mediaType, data, comment); } }