/**
* Copyright 2013, Big Switch Networks, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
**/
package net.floodlightcontroller.routing.web;
import org.restlet.Context;
import org.restlet.routing.Router;
import net.floodlightcontroller.restserver.RestletRoutable;
import net.floodlightcontroller.routing.web.PathMetricsResource;
import net.floodlightcontroller.routing.web.PathResource;
import net.floodlightcontroller.routing.web.PathsResource;
public class RoutingWebRoutable implements RestletRoutable {
/**
* Create the Restlet router and bind to the proper resources.
*/
@Override
public Router getRestlet(Context context) {
Router router = new Router(context);
router.attach("/path/{src-dpid}/{src-port}/{dst-dpid}/{dst-port}/json", PathResource.class);
router.attach("/paths/{src-dpid}/{dst-dpid}/{num-paths}/json", PathsResource.class);
router.attach("/paths/fast/{src-dpid}/{dst-dpid}/{num-paths}/json", PathsResource.class);
router.attach("/paths/slow/{src-dpid}/{dst-dpid}/{num-paths}/json", PathsResource.class);
router.attach("/metric/json", PathMetricsResource.class);
router.attach("/paths/force-recompute/json", ForceRecomputeResource.class);
router.attach("/paths/max-fast-paths/json", MaxFastPathsResource.class);
return router;
}
/**
* Set the base path for routing service
*/
@Override
public String basePath() {
return "/wm/routing";
}
}