* A ListenersBroker working with Server-Sent Events.
*/
public static final class ServerSentEvents extends ListenersBroker {
+ public ServerSentEvents(final DOMDataBroker dataBroker) {
+ super(dataBroker);
+ }
+
@Override
public URI prepareUriByStreamName(final UriInfo uriInfo, final String streamName) {
return uriInfo.getBaseUriBuilder()
* A ListenersBroker working with WebSockets.
*/
public static final class WebSockets extends ListenersBroker {
+ public WebSockets(final DOMDataBroker dataBroker) {
+ super(dataBroker);
+ }
+
@Override
public URI prepareUriByStreamName(final UriInfo uriInfo, final String streamName) {
final var scheme = switch (uriInfo.getAbsolutePath().getScheme()) {
NodeIdentifier.create(QName.create(CreateDataChangeEventSubscriptionOutput.QNAME, "stream-name").intern());
private final ConcurrentMap<String, AbstractStream<?>> streams = new ConcurrentHashMap<>();
+ private final DOMDataBroker dataBroker;
- private ListenersBroker() {
- // Hidden on purpose
+ private ListenersBroker(final DOMDataBroker dataBroker) {
+ this.dataBroker = requireNonNull(dataBroker);
}
/**
*
* @param stream Stream to remove
*/
- final void removeStream(final DOMDataBroker dataBroker, final AbstractStream<?> stream) {
+ final void removeStream(final AbstractStream<?> stream) {
// Defensive check to see if we are still tracking the stream
final var streamName = stream.getStreamName();
if (streams.get(streamName) != stream) {
//
// final var dataBroker = handlersHolder.dataBroker();
// final var schemaHandler = handlersHolder.databindProvider();
-// listener.setCloseVars(dataBroker, schemaHandler);
+// listener.setCloseVars(schemaHandler);
// listener.listen(dataBroker);
//
// final var uri = prepareUriByStreamName(uriInfo, streamName);
// notificationListenerAdapter.setQueryParams(notificationQueryParams);
// notificationListenerAdapter.listen(handlersHolder.notificationService());
// final DOMDataBroker dataBroker = handlersHolder.dataBroker();
-// notificationListenerAdapter.setCloseVars(dataBroker, handlersHolder.databindProvider());
+// notificationListenerAdapter.setCloseVars(handlersHolder.databindProvider());
// final MapEntryNode mapToStreams = RestconfStateStreams.notificationStreamEntry(streamName,
// notificationListenerAdapter.qnames(), notificationListenerAdapter.getOutputType(), uri);
//