Umesh Krishnaswamy | 345ee99 | 2012-12-13 20:29:48 -0800 | [diff] [blame] | 1 | package net.floodlightcontroller.core.web; |
| 2 | |
Umesh Krishnaswamy | 345ee99 | 2012-12-13 20:29:48 -0800 | [diff] [blame] | 3 | import net.floodlightcontroller.util.EventHistory; |
Jonathan Hart | 23701d1 | 2014-04-03 10:45:48 -0700 | [diff] [blame] | 4 | import net.onrc.onos.core.linkdiscovery.ILinkDiscoveryService; |
| 5 | import net.onrc.onos.core.linkdiscovery.internal.EventHistoryTopologyCluster; |
| 6 | import net.onrc.onos.core.linkdiscovery.internal.LinkDiscoveryManager; |
Umesh Krishnaswamy | 345ee99 | 2012-12-13 20:29:48 -0800 | [diff] [blame] | 7 | |
| 8 | import org.restlet.resource.Get; |
| 9 | import org.restlet.resource.ServerResource; |
| 10 | import org.slf4j.Logger; |
| 11 | import org.slf4j.LoggerFactory; |
| 12 | |
| 13 | /** |
| 14 | * @author subrata |
Umesh Krishnaswamy | 345ee99 | 2012-12-13 20:29:48 -0800 | [diff] [blame] | 15 | */ |
| 16 | public class EventHistoryTopologyClusterResource extends ServerResource { |
| 17 | // TODO - Move this to the LinkDiscovery rest API |
Ray Milkey | 269ffb9 | 2014-04-03 14:43:30 -0700 | [diff] [blame^] | 18 | protected final static Logger log = |
Umesh Krishnaswamy | 345ee99 | 2012-12-13 20:29:48 -0800 | [diff] [blame] | 19 | LoggerFactory.getLogger(EventHistoryTopologyClusterResource.class); |
| 20 | |
| 21 | @Get("json") |
| 22 | public EventHistory<EventHistoryTopologyCluster> handleEvHistReq() { |
| 23 | |
| 24 | // Get the event history count. Last <count> events would be returned |
Ray Milkey | 269ffb9 | 2014-04-03 14:43:30 -0700 | [diff] [blame^] | 25 | String evHistCount = (String) getRequestAttributes().get("count"); |
| 26 | int count = EventHistory.EV_HISTORY_DEFAULT_SIZE; |
Umesh Krishnaswamy | 345ee99 | 2012-12-13 20:29:48 -0800 | [diff] [blame] | 27 | try { |
| 28 | count = Integer.parseInt(evHistCount); |
Ray Milkey | 269ffb9 | 2014-04-03 14:43:30 -0700 | [diff] [blame^] | 29 | } catch (NumberFormatException nFE) { |
Umesh Krishnaswamy | 345ee99 | 2012-12-13 20:29:48 -0800 | [diff] [blame] | 30 | // Invalid input for event count - use default value |
| 31 | } |
| 32 | |
| 33 | LinkDiscoveryManager topoManager = |
Ray Milkey | 269ffb9 | 2014-04-03 14:43:30 -0700 | [diff] [blame^] | 34 | (LinkDiscoveryManager) getContext().getAttributes(). |
| 35 | get(ILinkDiscoveryService.class.getCanonicalName()); |
Umesh Krishnaswamy | 345ee99 | 2012-12-13 20:29:48 -0800 | [diff] [blame] | 36 | if (topoManager != null) { |
| 37 | return new EventHistory<EventHistoryTopologyCluster>( |
| 38 | topoManager.evHistTopologyCluster, count); |
| 39 | } |
Ray Milkey | 269ffb9 | 2014-04-03 14:43:30 -0700 | [diff] [blame^] | 40 | |
Umesh Krishnaswamy | 345ee99 | 2012-12-13 20:29:48 -0800 | [diff] [blame] | 41 | return null; |
| 42 | } |
| 43 | } |