1
2
3
4
5
6
7
8
9
10
11 package psiprobe.controllers.connectors;
12
13 import jakarta.inject.Inject;
14 import jakarta.servlet.http.HttpServletRequest;
15 import jakarta.servlet.http.HttpServletResponse;
16
17 import org.slf4j.Logger;
18 import org.slf4j.LoggerFactory;
19 import org.springframework.beans.factory.annotation.Value;
20 import org.springframework.stereotype.Controller;
21 import org.springframework.web.bind.ServletRequestUtils;
22 import org.springframework.web.bind.annotation.RequestMapping;
23 import org.springframework.web.servlet.ModelAndView;
24 import org.springframework.web.servlet.mvc.ParameterizableViewController;
25 import org.springframework.web.servlet.view.RedirectView;
26
27 import psiprobe.beans.ContainerListenerBean;
28 import psiprobe.beans.stats.collectors.ConnectorStatsCollectorBean;
29
30
31
32
33 @Controller
34 public class ToggleConnectorStatusController extends ParameterizableViewController {
35
36
37 private static final Logger logger =
38 LoggerFactory.getLogger(ToggleConnectorStatusController.class);
39
40
41 @Inject
42 private ConnectorStatsCollectorBean collectorBean;
43
44
45 @Inject
46 private ContainerListenerBean containerListener;
47
48 @RequestMapping(path = "/app/connectorStatus.htm")
49 @Override
50 public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
51 throws Exception {
52 return super.handleRequest(request, response);
53 }
54
55 @Override
56 protected ModelAndView handleRequestInternal(HttpServletRequest request,
57 HttpServletResponse response) throws Exception {
58
59 String connectorName = ServletRequestUtils.getRequiredStringParameter(request, "cn");
60
61 String port = ServletRequestUtils.getRequiredStringParameter(request, "port");
62
63 String operation = ServletRequestUtils.getRequiredStringParameter(request, "operation");
64
65 containerListener.toggleConnectorStatus(operation, port);
66
67 logger.info("Connector status toggled for {}", connectorName);
68 return new ModelAndView(new RedirectView(request.getContextPath() + getViewName()));
69 }
70
71 @Value("/connectors.htm")
72 @Override
73 public void setViewName(String viewName) {
74 super.setViewName(viewName);
75 }
76
77 }