blob: f319d239af7b4c04332e177a4dbbf5eff73db8d3 [file] [log] [blame]
Jonathan Hart6df90172014-04-03 10:13:11 -07001package net.onrc.onos.core.datagrid.web;
Jonathan Hart10a7e2b2014-02-21 18:30:08 -08002
3import java.util.Collection;
4
Jonathan Hart6df90172014-04-03 10:13:11 -07005import net.onrc.onos.core.datagrid.IDatagridService;
6import net.onrc.onos.core.datagrid.IEventChannel;
Jonathan Hart10a7e2b2014-02-21 18:30:08 -08007import 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}