/* * Copyright (c) 2013 Big Switch Networks, Inc. * * Licensed under the Eclipse Public License, Version 1.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.eclipse.org/legal/epl-v10.html * * 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 org.sdnplatform.topology.web; import org.restlet.Context; import org.restlet.routing.Router; import org.sdnplatform.linkdiscovery.web.ExternalLinksResource; import org.sdnplatform.linkdiscovery.web.LinksResource; import org.sdnplatform.restserver.RestletRoutable; public class TopologyWebRoutable 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("/links/json", LinksResource.class); router.attach("/external-links/json", ExternalLinksResource.class); router.attach("/tunnellinks/json", TunnelLinksResource.class); router.attach("/switchclusters/json", SwitchClustersResource.class); router.attach("/broadcastdomainports/json", BroadcastDomainPortsResource.class); router.attach("/enabledports/json", EnabledPortsResource.class); router.attach("/blockedports/json", BlockedPortsResource.class); router.attach("/route/{src-dpid}/{src-port}/{dst-dpid}/{dst-port}/json", RouteResource.class); router.attach("/externalports/json", ExternalPortsResource.class); router.attach("/highertopology/openflowdomains/json", HigherTopologyOpenflowDomainsResource.class); router.attach("/highertopology/broadcastdomains/json", HigherTopologyBroadcastDomainsResource.class); router.attach("/highertopology/neighbors/json", HigherToplogyNeighborsResource.class); router.attach("/highertopology/nexhops/json", HigherToplogyNextHopsResource.class); router.attach("/layer2/domains/json", Layer2DomainsResource.class); router.attach("/allowedports/unicast/json", AllowedUnicastResource.class); router.attach("/allowedports/broadcast/json", AllowedBroadcastResource.class); router.attach("/allowedports/external/json", AllowedPortsToBroadcastDomainResource.class); router.attach("/tunnelstatus/{src-dpid}/{dst-dpid}/json", TunnelStatusResource.class); router.attach("/tunnelverify/{src-dpid}/{dst-dpid}/json", TunnelVerifyResource.class); return router; } /** * Set the base path for the Topology */ @Override public String basePath() { return "/wm/topology"; } }