1
2
3
4
5
6
7
8
9
10
11 package psiprobe.controllers.deploy;
12
13 import com.google.common.base.Strings;
14
15 import jakarta.servlet.http.HttpServletRequest;
16 import jakarta.servlet.http.HttpServletResponse;
17
18 import java.util.ArrayList;
19 import java.util.HashMap;
20 import java.util.List;
21 import java.util.Map;
22
23 import org.apache.catalina.Context;
24 import org.springframework.beans.factory.annotation.Value;
25 import org.springframework.stereotype.Controller;
26 import org.springframework.web.bind.annotation.RequestMapping;
27 import org.springframework.web.servlet.ModelAndView;
28
29 import psiprobe.controllers.AbstractTomcatContainerController;
30
31
32
33
34 @Controller
35 public class DeployController extends AbstractTomcatContainerController {
36
37 @RequestMapping(path = "/adm/deploy.htm")
38 @Override
39 public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
40 throws Exception {
41 return super.handleRequest(request, response);
42 }
43
44 @Override
45 protected ModelAndView handleRequestInternal(HttpServletRequest request,
46 HttpServletResponse response) throws Exception {
47
48 List<Context> apps;
49 try {
50 apps = getContainerWrapper().getTomcatContainer().findContexts();
51 } catch (NullPointerException ex) {
52 throw new IllegalStateException(
53 "No container found for your server: " + getServletContext().getServerInfo(), ex);
54 }
55
56 List<Map<String, String>> applications = new ArrayList<>();
57 for (Context appContext : apps) {
58
59 if (!Strings.isNullOrEmpty(appContext.getName())) {
60 Map<String, String> app = new HashMap<>();
61 app.put("value", appContext.getName());
62 app.put("label", appContext.getName());
63 applications.add(app);
64 }
65 }
66 request.setAttribute("apps", applications);
67 return new ModelAndView(getViewName());
68 }
69
70 @Value("deploy")
71 @Override
72 public void setViewName(String viewName) {
73 super.setViewName(viewName);
74 }
75
76 }