X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=restconf%2Fsal-rest-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Frestconf%2Frestful%2Fservices%2Fimpl%2FRestconfStreamsSubscriptionServiceImpl.java;h=9852330a0e532a0e84e5989d43c296db0d405df5;hb=ddc71443d58ac78f8a593be88e181310f1e4b9c8;hp=6b0cbe3c2b178e8baaabdf2664f1a48de67ad449;hpb=49a2bd9c0c10ea3356aba72284a5f2ab4661966e;p=netconf.git diff --git a/restconf/sal-rest-connector/src/main/java/org/opendaylight/restconf/restful/services/impl/RestconfStreamsSubscriptionServiceImpl.java b/restconf/sal-rest-connector/src/main/java/org/opendaylight/restconf/restful/services/impl/RestconfStreamsSubscriptionServiceImpl.java index 6b0cbe3c2b..9852330a0e 100644 --- a/restconf/sal-rest-connector/src/main/java/org/opendaylight/restconf/restful/services/impl/RestconfStreamsSubscriptionServiceImpl.java +++ b/restconf/sal-rest-connector/src/main/java/org/opendaylight/restconf/restful/services/impl/RestconfStreamsSubscriptionServiceImpl.java @@ -56,8 +56,10 @@ public class RestconfStreamsSubscriptionServiceImpl implements RestconfStreamsSu public NormalizedNodeContext subscribeToStream(final String identifier, final UriInfo uriInfo) { boolean startTime_used = false; boolean stopTime_used = false; + boolean filter_used = false; Date start = null; Date stop = null; + String filter = null; for (final Entry> entry : uriInfo.getQueryParameters().entrySet()) { switch (entry.getKey()) { @@ -77,6 +79,12 @@ public class RestconfStreamsSubscriptionServiceImpl implements RestconfStreamsSu throw new RestconfDocumentedException("Stop-time parameter can be used only once."); } break; + case "filter": + if (!filter_used) { + filter_used = true; + filter = entry.getValue().iterator().next(); + } + break; default: throw new RestconfDocumentedException("Bad parameter used with notifications: " + entry.getKey()); } @@ -86,10 +94,11 @@ public class RestconfStreamsSubscriptionServiceImpl implements RestconfStreamsSu } URI response = null; if (identifier.contains(RestconfStreamsConstants.DATA_SUBSCR)) { - response = SubscribeToStreamUtil.dataSubs(identifier, uriInfo, start, stop, this.domDataBrokerHandler); + response = + SubscribeToStreamUtil.dataSubs(identifier, uriInfo, start, stop, this.domDataBrokerHandler, filter); } else if (identifier.contains(RestconfStreamsConstants.NOTIFICATION_STREAM)) { response = SubscribeToStreamUtil.notifStream(identifier, uriInfo, start, stop, - this.notificationServiceHandler); + this.notificationServiceHandler, filter); } if (response != null) {