Description
This was found while investigating NETCONF-800: when requesting a non-existent stream using:
curl -u admin:admin http://127.0.0.1:8181/rests/data/ietf-restconf-monitoring:restconf-state/streams/stream/data-change-event-subscription/opendaylight-inventory:nodes/datastore=CONFIGURATION/scope=BASE
we end up with a HTTP status 500. This boils down to a IAE being thrown and not wrapped:
11:52:49.327 WARN [qtp348753156-382] /rests/data/ietf-restconf-monitoring:restconf-state/streams/stream/data-change-event-subscription/opendaylight-inventory:nodes/datastore=CONFIGURATION/scope=BASE javax.servlet.ServletException: javax.servlet.ServletException: java.lang.IllegalArgumentException: Listener doesn't exist : data-change-event-subscription/opendaylight-inventory:nodes/datastore=CONFIGURATION/scope=BASE at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:90) ~[?:?] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[?:?] at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[?:?] [snip] Caused by: javax.servlet.ServletException: java.lang.IllegalArgumentException: Listener doesn't exist : data-change-event-subscription/opendaylight-inventory:nodes/datastore=CONFIGURATION/scope=BASE at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:432) ~[?:?] [snip] Caused by: java.lang.IllegalArgumentException: Listener doesn't exist : data-change-event-subscription/opendaylight-inventory:nodes/datastore=CONFIGURATION/scope=BASE at com.google.common.base.Preconditions.checkArgument(Preconditions.java:142) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.services.impl.SubscribeToStreamUtil.subscribeToDataStream(SubscribeToStreamUtil.java:201) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.rests.services.impl.RestconfStreamsSubscriptionServiceImpl.subscribeToStream(RestconfStreamsSubscriptionServiceImpl.java:104) ~[?:?] at org.opendaylight.restconf.nb.rfc8040.services.wrapper.ServicesWrapper.subscribeToStream(ServicesWrapper.java:164) ~[?:?]