public Portlet get(String portletHandle) throws WSRPException { Portlet wsrpPortlet = null; try { wsrpPortlet = (Portlet) _consumerConfiguredPortlets.get(portletHandle); if (wsrpPortlet == null) { String companyId = WSRPUtil.getCompanyId(); com.liferay.portal.model.Portlet liferayPortlet = PortletServiceUtil.getPortletById(companyId, portletHandle); if (liferayPortlet != null) { wsrpPortlet = _createProducerPortlet(liferayPortlet); } } } catch (Exception e) { } return wsrpPortlet; }
public Iterator getAllProducerOfferedPortlets() { String companyId = WSRPUtil.getCompanyId(); Iterator wsrpPortletsIt = null; List wsrpPortlets = new ArrayList(); try { List liferayPortlets = PortletServiceUtil.getPortlets(companyId); for (int i = 0; i < liferayPortlets.size(); i++) { com.liferay.portal.model.Portlet liferayPortlet = (com.liferay.portal.model.Portlet) liferayPortlets.get(i); Portlet producerPortlet = _createProducerPortlet(liferayPortlet); wsrpPortlets.add(producerPortlet); } } catch (Exception e) { e.printStackTrace(); } return wsrpPortlets.iterator(); }
public MarkupResponse invokeGetMarkup(GetMarkup getMarkup) throws WSRPException { String portletHandle = getMarkup.getPortletContext().getPortletHandle(); MarkupResponse markupResponse = new MarkupResponse(); MarkupContext markupContext = new MarkupContext(); markupResponse.setMarkupContext(markupContext); try { MarkupParams markupParams = getMarkup.getMarkupParams(); // window state String wsrpWindowState = markupParams.getWindowState(); WindowState windowState = WSRPUtil.fromWsrpWindowState(wsrpWindowState); // portlet mode String wsrpMode = markupParams.getMode(); PortletMode mode = WSRPUtil.fromWsrpMode(wsrpMode); ServletContext ctx = WSRPUtil.getServletContext(); long companyId = WSRPUtil.getCompanyId(); Portlet portlet = PortletLocalServiceUtil.getPortletById(companyId, portletHandle); CachePortlet cachePortlet = PortletInstanceFactory.create(portlet, ctx); PortletConfig portletConfig = PortletConfigFactory.create(portlet, ctx); PortletContext portletCtx = portletConfig.getPortletContext(); Locale reqLocale = LocaleHelper.getLocale(markupParams.getLocales()[0]); String reqMimeType = markupParams.getMimeTypes()[0]; Map renderParameters = _getRenderParameters(markupParams); HttpServletRequest httpReq = new WSRPServletRequest( WSRPUtil.getHttpServletRequest(), reqLocale, reqMimeType, renderParameters); PortletPreferencesIds portletPreferencesIds = PortletPreferencesFactoryUtil.getPortletPreferencesIds(httpReq, portlet.getPortletId()); PortletPreferences portletPreferences = PortletPreferencesLocalServiceUtil.getPreferences(portletPreferencesIds); // this gets the default layout of the general guest User user = UserLocalServiceUtil.getDefaultUser(companyId); Layout layout = _getDefaultUserLayout(user.getCompanyId()); RenderRequestImpl renderRequest = RenderRequestFactory.create( httpReq, portlet, cachePortlet, portletCtx, windowState, mode, portletPreferences, layout.getPlid()); WSRPServletResponse res = new WSRPServletResponse(); RenderResponseImpl renderResponse = new WSRPRenderResponseImpl( getMarkup, _provider, (RenderRequestImpl) renderRequest, res, portlet.getPortletId(), companyId, layout.getPlid()); renderResponse.setContentType("text/html"); renderRequest.defineObjects(portletConfig, renderResponse); cachePortlet.render(renderRequest, renderResponse); markupContext.setMarkupString(res.getString()); String contentType = renderResponse.getContentType(); if (contentType == null) { contentType = ContentTypes.TEXT_HTML_UTF8; } markupContext.setMimeType(contentType); markupContext.setLocale(renderResponse.getLocale().getLanguage()); markupContext.setPreferredTitle(renderResponse.getTitle()); RenderRequestFactory.recycle(renderRequest); } catch (Exception e) { e.printStackTrace(); } return markupResponse; }
public BlockingInteractionResponse invokePerformBlockingInteraction( PerformBlockingInteraction pbo) throws WSRPException { String portletHandle = pbo.getPortletContext().getPortletHandle(); BlockingInteractionResponse bir = new BlockingInteractionResponse(); UpdateResponse updateRes = new UpdateResponse(); bir.setUpdateResponse(updateRes); try { MarkupParams markupParams = pbo.getMarkupParams(); // window state String wsrpWindowState = markupParams.getWindowState(); WindowState windowState = WSRPUtil.fromWsrpWindowState(wsrpWindowState); // portlet mode String wsrpMode = markupParams.getMode(); PortletMode mode = WSRPUtil.fromWsrpMode(wsrpMode); ServletContext ctx = WSRPUtil.getServletContext(); long companyId = WSRPUtil.getCompanyId(); Portlet portlet = PortletLocalServiceUtil.getPortletById(companyId, portletHandle); CachePortlet cachePortlet = PortletInstanceFactory.create(portlet, ctx); PortletConfig portletConfig = PortletConfigFactory.create(portlet, ctx); PortletContext portletCtx = portletConfig.getPortletContext(); Locale reqLocale = LocaleHelper.getLocale(markupParams.getLocales()[0]); String reqMimeType = markupParams.getMimeTypes()[0]; InteractionParams interactionParams = pbo.getInteractionParams(); Map actionParameters = _getActionParameters(interactionParams); HttpServletRequest httpReq = new WSRPServletRequest( WSRPUtil.getHttpServletRequest(), reqLocale, reqMimeType, actionParameters); PortletPreferencesIds portletPreferencesIds = PortletPreferencesFactoryUtil.getPortletPreferencesIds(httpReq, portlet.getPortletId()); PortletPreferences portletPreferences = PortletPreferencesLocalServiceUtil.getPreferences(portletPreferencesIds); // this gets the default layout of the general guest User user = UserLocalServiceUtil.getDefaultUser(companyId); Layout layout = _getDefaultUserLayout(user.getCompanyId()); ActionRequestImpl actionRequest = ActionRequestFactory.create( httpReq, portlet, cachePortlet, portletCtx, windowState, mode, portletPreferences, layout.getPlid()); WSRPServletResponse res = new WSRPServletResponse(); ActionResponseImpl actionResponse = new WSRPActionResponseImpl( pbo, _provider, actionRequest, res, portlet.getPortletId(), user, layout, windowState, mode); cachePortlet.processAction(actionRequest, actionResponse); String newNavState = null; Map renderParams = _getRenderParameters(httpReq, actionResponse); newNavState = Base64.encode(ObjectSerializer.serialize(renderParams)); updateRes.setNavigationalState(newNavState); ActionRequestFactory.recycle(actionRequest); } catch (Exception e) { e.printStackTrace(); } return bir; }