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