blob: bbf03cba662e438fd039ceaebf63b055b30f8cdf [file] [log] [blame]
Jonathan Hart10a7e2b2014-02-21 18:30:08 -08001package net.onrc.onos.datagrid.web;
2
3import java.util.Collection;
4
5import net.onrc.onos.datagrid.IDatagridService;
6import net.onrc.onos.datagrid.IEventChannel;
7import net.onrc.onos.ofcontroller.networkgraph.TopologyEvent;
8import net.onrc.onos.ofcontroller.networkgraph.TopologyManager;
9
10import org.restlet.resource.Get;
11import org.restlet.resource.ServerResource;
12import org.slf4j.Logger;
13import org.slf4j.LoggerFactory;
14
15public class GetNGEventsResource extends ServerResource {
16
Ray Milkey9c8a2132014-04-02 15:16:42 -070017 public static final Logger log = LoggerFactory.getLogger(GetNGEventsResource.class);
18
19 @Get("json")
20 public String retrieve() {
21 IDatagridService datagridService =
22 (IDatagridService) getContext().getAttributes().
23 get(IDatagridService.class.getCanonicalName());
24
25
26 log.debug("Get network graph events");
27
28 IEventChannel<byte[], TopologyEvent> channel = datagridService.createChannel(TopologyManager.EVENT_CHANNEL_NAME,
29 byte[].class, TopologyEvent.class);
30
31 Collection<TopologyEvent> entries = channel.getAllEntries();
32
33 String result = "";
34 for (TopologyEvent event : entries) {
35 result += event.toString() + "\n";
36 }
37
38 return result;
39 }
Jonathan Hart10a7e2b2014-02-21 18:30:08 -080040
41}