]> git.argeo.org Git - lgpl/argeo-commons.git/blob - servlet/CmsRcpServlet.java
Prepare next development cycle
[lgpl/argeo-commons.git] / servlet / CmsRcpServlet.java
1 package org.argeo.cms.ui.rcp.servlet;
2
3 import java.io.IOException;
4 import java.lang.System.Logger;
5 import java.lang.System.Logger.Level;
6 import java.util.Objects;
7
8 import javax.servlet.ServletException;
9 import javax.servlet.http.HttpServlet;
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
12
13 import org.argeo.api.cms.CmsApp;
14 import org.argeo.cms.ui.rcp.CmsRcpDisplayFactory;
15
16 /** Open the related app when called. */
17 public class CmsRcpServlet extends HttpServlet {
18 private static final long serialVersionUID = -3944472431354848923L;
19 private final static Logger logger = System.getLogger(CmsRcpServlet.class.getName());
20
21 private CmsApp cmsApp;
22
23 public CmsRcpServlet(CmsApp cmsApp) {
24 Objects.requireNonNull(cmsApp);
25 this.cmsApp = cmsApp;
26 }
27
28 @Override
29 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
30 String path = req.getPathInfo();
31 String uiName = path != null ? path.substring(path.lastIndexOf('/') + 1) : "";
32 CmsRcpDisplayFactory.openCmsApp(cmsApp, uiName, null);
33 logger.log(Level.DEBUG, "Opened RCP UI " + uiName + " of CMS App " + req.getServletPath());
34 }
35
36 }