blob: 00b7c68c40132b93d9cd0057f80c2d7a77a8a5a1 [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 Hart472062d2014-04-03 10:56:48 -07007import net.onrc.onos.core.topology.TopologyEvent;
8import net.onrc.onos.core.topology.TopologyManager;
Jonathan Hart10a7e2b2014-02-21 18:30:08 -08009
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
Jonathan Harte37e4e22014-05-13 19:12:02 -070026 log.debug("Get topology events");
Ray Milkey9c8a2132014-04-02 15:16:42 -070027
28 IEventChannel<byte[], TopologyEvent> channel = datagridService.createChannel(TopologyManager.EVENT_CHANNEL_NAME,
29 byte[].class, TopologyEvent.class);
30
31 Collection<TopologyEvent> entries = channel.getAllEntries();
32
Pavlin Radoslavov424150c2014-04-09 12:12:36 -070033 StringBuilder result = new StringBuilder();
Ray Milkey9c8a2132014-04-02 15:16:42 -070034 for (TopologyEvent event : entries) {
Pavlin Radoslavov424150c2014-04-09 12:12:36 -070035 result.append(event.toString() + "\n");
Ray Milkey9c8a2132014-04-02 15:16:42 -070036 }
37
Pavlin Radoslavov424150c2014-04-09 12:12:36 -070038 return result.toString();
Ray Milkey9c8a2132014-04-02 15:16:42 -070039 }
Jonathan Hart10a7e2b2014-02-21 18:30:08 -080040}