blob: f319d239af7b4c04332e177a4dbbf5eff73db8d3 [file] [log] [blame]
package net.onrc.onos.core.datagrid.web;
import java.util.Collection;
import net.onrc.onos.core.datagrid.IDatagridService;
import net.onrc.onos.core.datagrid.IEventChannel;
import net.onrc.onos.ofcontroller.networkgraph.TopologyEvent;
import net.onrc.onos.ofcontroller.networkgraph.TopologyManager;
import org.restlet.resource.Get;
import org.restlet.resource.ServerResource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class GetNGEventsResource extends ServerResource {
public static final Logger log = LoggerFactory.getLogger(GetNGEventsResource.class);
@Get("json")
public String retrieve() {
IDatagridService datagridService =
(IDatagridService) getContext().getAttributes().
get(IDatagridService.class.getCanonicalName());
log.debug("Get network graph events");
IEventChannel<byte[], TopologyEvent> channel = datagridService.createChannel(TopologyManager.EVENT_CHANNEL_NAME,
byte[].class, TopologyEvent.class);
Collection<TopologyEvent> entries = channel.getAllEntries();
String result = "";
for (TopologyEvent event : entries) {
result += event.toString() + "\n";
}
return result;
}
}