blob: cef3ac362f65b3c15c3b329731de0d9dc2cfec2a [file] [log] [blame]
Jonathan Hart472062d2014-04-03 10:56:48 -07001package net.onrc.onos.core.topology.web;
Jonathan Hart47016712014-02-07 12:41:35 -08002
Jonathan Harta99ec672014-04-03 11:30:34 -07003import net.floodlightcontroller.restserver.RestletRoutable;
4
Jonathan Hart47016712014-02-07 12:41:35 -08005import org.restlet.Context;
6import org.restlet.Restlet;
7import org.restlet.routing.Router;
8
Jonathan Harte37e4e22014-05-13 19:12:02 -07009public class TopologyWebRoutable implements RestletRoutable {
Jonathan Hart47016712014-02-07 12:41:35 -080010
Ray Milkey269ffb92014-04-03 14:43:30 -070011 @Override
12 public Restlet getRestlet(Context context) {
13 Router router = new Router(context);
Ray Milkey269ffb92014-04-03 14:43:30 -070014 // debug API to dump datastore content
15 router.attach("/ds/switches/json", DatastoreSwitchesResource.class);
16 router.attach("/ds/links/json", DatastoreLinksResource.class);
17 router.attach("/ds/ports/json", DatastorePortsResource.class);
Yuta HIGUCHIfe1ffe42014-03-26 10:31:46 -070018
Pavlin Radoslavov030fc442014-04-21 13:38:26 -070019 // Topology API
Jonathan Harte37e4e22014-05-13 19:12:02 -070020 router.attach("/switches/json", TopologySwitchesResource.class);
21 router.attach("/links/json", TopologyLinksResource.class);
22 router.attach("/devices/json", TopologyDevicesResource.class);
Pavlin Radoslavov030fc442014-04-21 13:38:26 -070023 // TODO: Move the Shortest Path REST API to the Intent framework
Jonathan Harte37e4e22014-05-13 19:12:02 -070024 router.attach("/shortest-path/{src-dpid}/{dst-dpid}/json", TopologyShortestPathResource.class);
Ray Milkey269ffb92014-04-03 14:43:30 -070025
26 return router;
27 }
28
29 @Override
30 public String basePath() {
Pavlin Radoslavov030fc442014-04-21 13:38:26 -070031 return "/wm/onos/topology";
Ray Milkey269ffb92014-04-03 14:43:30 -070032 }
Jonathan Hart47016712014-02-07 12:41:35 -080033}