Added resource /streams/stream/<streamName> 94/5094/9
authorMartin Sunal <msunal@cisco.com>
Sun, 2 Feb 2014 23:26:58 +0000 (00:26 +0100)
committerMartin Sunal <msunal@cisco.com>
Tue, 4 Feb 2014 20:35:05 +0000 (21:35 +0100)
commit273a60e4a5c67c9d6dab1889f86e15092ddbefbd
tree61bd6877a19780850da893677cba3e6d47fbafa3
parent681385ead5cb32ecdc5cd28c319f8f5c8894b138
Added resource /streams/stream/<streamName>

- added netty web socket server - port 8181

Subscriber can be registered for notifications in this flow:
1. Subscriber invokes RPC create-data-change-event-subscription with input element regarding to module sal-remote revision "2014-01-14"
2. Subscriber gets sream name as a response from server
3. Subscriber calls GET operation on /streams/stream/<streamName>
4. Subscriber gets response with status code 200 OK and header field Location contains URI of web socket server
5. Subscriber creates web socket http connection to obtained URI in step 4.
6. Subscriber can be unregistered from receiving notifications by sending CloseWebSocketFrame with reasonText containing stream name

Change-Id: I92925f5a50b2ceadf2cc8f0eaee2c99dd6a63d8d
Signed-off-by: Martin Sunal <msunal@cisco.com>
20 files changed:
opendaylight/commons/opendaylight/pom.xml
opendaylight/distribution/opendaylight/pom.xml
opendaylight/md-sal/sal-rest-connector/pom.xml
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/api/RestconfService.java
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/JsonMapper.java
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/RestconfProvider.java
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/BrokerFacade.xtend
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/ControllerContext.xtend
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/RestconfImpl.xtend
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/streams/listeners/ListenerAdapter.java [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/streams/listeners/Notificator.java [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/streams/websockets/WebSocketServer.java [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/streams/websockets/WebSocketServerHandler.java [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/streams/websockets/WebSocketServerInitializer.java [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestOperationUtils.java
opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/websockets/client/IClientMessageCallback.java [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/websockets/client/WebSocketClient.java [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/websockets/client/WebSocketClientHandler.java [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/websockets/test/RestStream.java [new file with mode: 0644]
opendaylight/md-sal/sal-rest-connector/src/test/resources/full-versions/yangs/sal-remote@2014-01-14.yang [new file with mode: 0644]