blob: 393ff443f49ad3f75d096b018f991dee65fc0e53 [file] [log] [blame]
HIGUCHI Yuta60a10142013-06-14 15:50:10 -07001package net.onrc.onos.ofcontroller.flowmanager.web;
Pavlin Radoslavov5ab68512013-02-18 09:59:33 -08002
HIGUCHI Yuta60a10142013-06-14 15:50:10 -07003import net.onrc.onos.ofcontroller.flowmanager.IFlowService;
HIGUCHI Yuta356086e2013-06-12 15:21:19 -07004import net.onrc.onos.ofcontroller.util.FlowId;
Pavlin Radoslavov5ab68512013-02-18 09:59:33 -08005
Pavlin Radoslavov5ab68512013-02-18 09:59:33 -08006import org.restlet.resource.Get;
7import org.restlet.resource.ServerResource;
8import org.slf4j.Logger;
9import org.slf4j.LoggerFactory;
10
11public class DeleteFlowResource extends ServerResource {
12 protected static Logger log = LoggerFactory.getLogger(DeleteFlowResource.class);
13
14 @Get("json")
15 public Boolean retrieve() {
16 Boolean result = false;
17
18 IFlowService flowService =
19 (IFlowService)getContext().getAttributes().
20 get(IFlowService.class.getCanonicalName());
21
22 if (flowService == null) {
23 log.debug("ONOS Flow Service not found");
24 return result;
25 }
26
27 // Extract the arguments
28 String flowIdStr = (String) getRequestAttributes().get("flow-id");
Pavlin Radoslavov5ab68512013-02-18 09:59:33 -080029
Pavlin Radoslavov2013cbb2013-02-26 10:15:18 -080030 // Process the request
Pavlin Radoslavovbaea9242013-05-08 00:20:09 +000031 if (flowIdStr.equals("all")) {
32 log.debug("Delete All Flows");
33 result = flowService.deleteAllFlows();
34 } else {
35 FlowId flowId = new FlowId(flowIdStr);
36 log.debug("Delete Flow Id: " + flowIdStr);
37 result = flowService.deleteFlow(flowId);
38 }
Pavlin Radoslavov2013cbb2013-02-26 10:15:18 -080039 return result;
Pavlin Radoslavov5ab68512013-02-18 09:59:33 -080040 }
41}