Example usage for com.liferay.portal.kernel.portlet PortletBag getServletContext

List of usage examples for com.liferay.portal.kernel.portlet PortletBag getServletContext

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.portlet PortletBag getServletContext.

Prototype

public ServletContext getServletContext();

Source Link

Usage

From source file:com.liferay.portlet.PortletContextFactory.java

License:Open Source License

private PortletContext _create(Portlet portlet, ServletContext servletContext) {

    Map<String, PortletContext> portletContexts = _pool.get(portlet.getRootPortletId());

    if (portletContexts == null) {
        portletContexts = new ConcurrentHashMap<String, PortletContext>();

        _pool.put(portlet.getRootPortletId(), portletContexts);
    }//from  w w w  . j ava 2 s .  c om

    PortletContext portletContext = portletContexts.get(portlet.getPortletId());

    if (portletContext == null) {
        PortletApp portletApp = portlet.getPortletApp();

        if (portletApp.isWARFile()) {
            PortletBag portletBag = PortletBagPool.get(portlet.getRootPortletId());

            if (portletBag == null) {
                _log.error("Portlet " + portlet.getRootPortletId() + " has a null portlet bag");
            }

            //String mainPath = (String)ctx.getAttribute(WebKeys.MAIN_PATH);

            servletContext = portletBag.getServletContext();

            // Context path for the portal must be passed to individual
            // portlets

            //ctx.setAttribute(WebKeys.MAIN_PATH, mainPath);
        }

        portletContext = new PortletContextImpl(portlet, servletContext);

        portletContexts.put(portlet.getPortletId(), portletContext);
    }

    return portletContext;
}

From source file:jp.aegif.liferay.experiment.mryoshio.rr.ReservationPortlet.java

License:Open Source License

@Override
public void serveResource(ResourceRequest req, ResourceResponse res) throws IOException, PortletException {

    if (logger.isDebugEnabled())
        debug(req);//from   w  w  w. j a va  2  s.c  o m

    try {
        String rid = req.getResourceID();
        PortletBag pbag = PortletBagPool.get(PortalUtil.getPortletId(req));
        String ajaxResponse = null;
        if ("add-view".equals(rid) || "update-view".equals(rid)) {
            ajaxResponse = PortalUtil.renderPage(pbag.getServletContext(),
                    PortalUtil.getHttpServletRequest(req), PortalUtil.getHttpServletResponse(res), editJSP,
                    false);
        } else if ("list-view".equals(rid)) {
            ajaxResponse = getListDataAsJson(Integer.parseInt(req.getParameter("itemPerPage")),
                    Integer.parseInt(req.getParameter("targetPage")));
        } else if ("update-reservation".equals(rid)) {
            updateReservation(req);
        } else if ("delete-reservation".equals(rid)) {
            deleteReservation(req);
        } else {
            ajaxResponse = ERR_NO_TYPE_SPECIFIED;
        }
        PrintWriter writer = res.getWriter();
        writer.write(ajaxResponse);
        writer.flush();
        writer.close();
    } catch (ServletException e) {
        throw new PortletException(e);
    }
}

From source file:jp.aegif.liferay.experiment.mryoshio.rr.RoomPortlet.java

License:Open Source License

@Override
public void serveResource(ResourceRequest req, ResourceResponse res) throws IOException, PortletException {

    if (logger.isDebugEnabled())
        debug(req);/*from  w  ww.j a  va  2  s .  c om*/

    try {
        String rid = req.getResourceID();
        PortletBag pbag = PortletBagPool.get(PortalUtil.getPortletId(req));
        String ajaxResponse = null;

        if ("add-view".equals(rid) || "update-view".equals(rid)) {
            ajaxResponse = PortalUtil.renderPage(pbag.getServletContext(),
                    PortalUtil.getHttpServletRequest(req), PortalUtil.getHttpServletResponse(res), editJSP,
                    false);
        } else if ("list-view".equals(rid)) {
            ajaxResponse = getListDataAsJson(Integer.parseInt(req.getParameter("itemPerPage")),
                    Integer.parseInt(req.getParameter("targetPage")));
        } else if ("update-room".equals(rid)) {
            updateRoom(req);
        } else if ("delete-room".equals(rid)) {
            deleteRoom(req);
        } else {
            ajaxResponse = ERR_NO_TYPE_SPECIFIED;
        }
        PrintWriter writer = res.getWriter();
        writer.write(ajaxResponse);
        writer.flush();
        writer.close();
    } catch (ServletException e) {
        throw new PortletException(e);
    }
}