Open Kilda Java Documentation
SwitchController.java
Go to the documentation of this file.
1 package org.openkilda.controller;
2 
3 import org.springframework.beans.factory.annotation.Autowired;
4 import org.springframework.http.HttpStatus;
5 import org.springframework.stereotype.Controller;
6 import org.springframework.web.bind.annotation.PathVariable;
7 import org.springframework.web.bind.annotation.RequestBody;
8 import org.springframework.web.bind.annotation.RequestMapping;
9 import org.springframework.web.bind.annotation.RequestMethod;
10 import org.springframework.web.bind.annotation.ResponseBody;
11 import org.springframework.web.bind.annotation.ResponseStatus;
12 import org.springframework.web.servlet.ModelAndView;
13 
14 import java.util.List;
15 
16 import javax.servlet.http.HttpServletRequest;
17 
28 
35 @Controller
36 @RequestMapping(value = "/switch")
37 public class SwitchController extends BaseController {
38 
39  @Autowired
40  private SwitchService serviceSwitch;
41 
42  @Autowired
43  private ActivityLogger activityLogger;
44 
45 
53  @RequestMapping
55  public ModelAndView switchList(final HttpServletRequest request) {
56  return validateAndRedirect(request, IConstants.View.SWITCH_LIST);
57 
58  }
59 
67  @RequestMapping(value = "/details")
68  public ModelAndView switchDetails(final HttpServletRequest request) {
69  return validateAndRedirect(request, IConstants.View.SWITCH);
70  }
71 
72 
80  @RequestMapping(value = "/portdetails", method = RequestMethod.GET)
81  public ModelAndView portDetails(final HttpServletRequest request) {
82  return validateAndRedirect(request, IConstants.View.PORT_DETAILS);
83  }
84 
85 
93  @RequestMapping(value = "/isllist", method = RequestMethod.GET)
95  public ModelAndView islList(final HttpServletRequest request) {
96  return validateAndRedirect(request, IConstants.View.ISL_LIST);
97  }
98 
106  @RequestMapping(value = "/isl", method = RequestMethod.GET)
107  public ModelAndView islDetails(final HttpServletRequest request) {
108  return validateAndRedirect(request, IConstants.View.ISL);
109  }
110 
111 
117  @RequestMapping(value = "/list")
118  @ResponseStatus(HttpStatus.OK)
119  public @ResponseBody List<SwitchInfo> getSwitchesDetail() {
120  return serviceSwitch.getSwitches();
121  }
122 
123 
129  @RequestMapping(value = "/links", method = RequestMethod.GET)
130  @ResponseStatus(HttpStatus.OK)
131  public @ResponseBody List<IslLinkInfo> getLinksDetail() {
132  return serviceSwitch.getIslLinks();
133  }
134 
141  @RequestMapping(path = "/link/props", method = RequestMethod.GET)
142  @ResponseStatus(HttpStatus.OK)
143  public @ResponseBody LinkProps getLinkProps(final LinkProps keys) {
144  return serviceSwitch.getLinkProps(keys);
145  }
146 
153  @RequestMapping(path = "/link/props", method = RequestMethod.PUT)
154  @ResponseStatus(HttpStatus.OK)
155  public @ResponseBody String updateLinkProps(@RequestBody final List<LinkProps> keys) {
156  activityLogger.log(ActivityType.ISL_UPDATE_COST, "Test");
157  return serviceSwitch.updateLinkProps(keys);
158  }
159 
166  @RequestMapping(path = "/{switchId}/rules", method = RequestMethod.GET)
167  @ResponseStatus(HttpStatus.OK)
168  public @ResponseBody String getSwitchRules(@PathVariable final String switchId) {
169  activityLogger.log(ActivityType.SWITCH_RULES, switchId);
170  return serviceSwitch.getSwitchRules(switchId);
171  }
172 
181  @RequestMapping(path = "/{switchId}/{port}/config", method = RequestMethod.PUT)
182  @ResponseStatus(HttpStatus.OK)
184  public @ResponseBody ConfiguredPort configureSwitchPort(@RequestBody final PortConfiguration configuration,
185  @PathVariable final String switchId, @PathVariable final String port) {
186  activityLogger.log(ActivityType.CONFIGURE_SWITCH_PORT, "SW_" + switchId + ", P_" + port);
187  return serviceSwitch.configurePort(switchId, port, configuration);
188  }
189 }
value
Definition: nodes.py:62
ModelAndView switchList(final HttpServletRequest request)
ModelAndView islList(final HttpServletRequest request)
ConfiguredPort configureSwitchPort(@RequestBody final PortConfiguration configuration, @PathVariable final String switchId, @PathVariable final String port)