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.EventHistoryTopologySwitch; |
| 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 | |
| 11 | /** |
| 12 | * @author subrata |
| 13 | * |
| 14 | */ |
| 15 | public class EventHistoryTopologySwitchResource extends ServerResource { |
| 16 | |
| 17 | @Get("json") |
| 18 | public EventHistory<EventHistoryTopologySwitch> handleEvHistReq() { |
| 19 | |
| 20 | // Get the event history count. Last <count> events would be returned |
| 21 | String evHistCount = (String)getRequestAttributes().get("count"); |
| 22 | int count = EventHistory.EV_HISTORY_DEFAULT_SIZE; |
| 23 | try { |
| 24 | count = Integer.parseInt(evHistCount); |
| 25 | } |
| 26 | catch(NumberFormatException nFE) { |
| 27 | // Invalid input for event count - use default value |
| 28 | } |
| 29 | |
| 30 | LinkDiscoveryManager topoManager = |
| 31 | (LinkDiscoveryManager)getContext().getAttributes(). |
| 32 | get(ILinkDiscoveryService.class.getCanonicalName()); |
| 33 | |
| 34 | return new EventHistory<EventHistoryTopologySwitch>( |
| 35 | topoManager.evHistTopologySwitch, count); |
| 36 | } |
| 37 | } |