List of usage examples for com.liferay.portal.kernel.portlet PortletBagPool get
public static PortletBag get(String portletId)
From source file:com.liferay.alloy.mvc.BaseAlloyControllerImpl.java
License:Open Source License
protected void initIndexer() { indexer = buildIndexer();/*from w w w. j a va2 s. c o m*/ if (indexer == null) { return; } indexerClassName = indexer.getClassNames()[0]; Indexer existingIndexer = IndexerRegistryUtil.getIndexer(indexerClassName); if ((existingIndexer != null) && (existingIndexer == indexer)) { BaseAlloyIndexer baseAlloyIndexer = (BaseAlloyIndexer) indexer; alloyServiceInvoker = baseAlloyIndexer.getAlloyServiceInvoker(); return; } alloyServiceInvoker = new AlloyServiceInvoker(indexerClassName); BaseAlloyIndexer baseAlloyIndexer = (BaseAlloyIndexer) indexer; baseAlloyIndexer.setAlloyServiceInvoker(alloyServiceInvoker); baseAlloyIndexer.setPortletId(portlet.getRootPortletId()); PortletBag portletBag = PortletBagPool.get(portlet.getPortletId()); List<Indexer> indexerInstances = portletBag.getIndexerInstances(); if (existingIndexer != null) { IndexerRegistryUtil.unregister(existingIndexer); indexerInstances.remove(existingIndexer); } IndexerRegistryUtil.register(indexer); indexerInstances.add(indexer); }
From source file:com.liferay.asset.internal.util.AssetHelperImpl.java
License:Open Source License
@Override public List<AssetPublisherAddItemHolder> getAssetPublisherAddItemHolders( LiferayPortletRequest liferayPortletRequest, LiferayPortletResponse liferayPortletResponse, long groupId, long[] classNameIds, long[] classTypeIds, long[] allAssetCategoryIds, String[] allAssetTagNames, String redirect) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) liferayPortletRequest.getAttribute(WebKeys.THEME_DISPLAY); Locale locale = themeDisplay.getLocale(); List<AssetPublisherAddItemHolder> assetPublisherAddItemHolders = new ArrayList<>(); for (long classNameId : classNameIds) { String className = _portal.getClassName(classNameId); AssetRendererFactory<?> assetRendererFactory = AssetRendererFactoryRegistryUtil .getAssetRendererFactoryByClassName(className); if (Validator.isNull(assetRendererFactory.getPortletId())) { continue; }//from www. j a v a2s.c o m Portlet portlet = _portletLocalService.getPortletById(themeDisplay.getCompanyId(), assetRendererFactory.getPortletId()); if (!portlet.isActive()) { continue; } PortletBag portletBag = PortletBagPool.get(portlet.getRootPortletId()); if (portletBag == null) { continue; } ResourceBundle resourceBundle = portletBag.getResourceBundle(locale); ClassTypeReader classTypeReader = assetRendererFactory.getClassTypeReader(); List<ClassType> classTypes = Collections.emptyList(); if (!(classTypeReader instanceof NullClassTypeReader)) { classTypes = classTypeReader.getAvailableClassTypes( _portal.getCurrentAndAncestorSiteGroupIds(groupId), themeDisplay.getLocale()); } if (classTypes.isEmpty()) { PortletURL addPortletURL = getAddPortletURL(liferayPortletRequest, liferayPortletResponse, groupId, className, 0, allAssetCategoryIds, allAssetTagNames, redirect); if (addPortletURL != null) { assetPublisherAddItemHolders.add(new AssetPublisherAddItemHolder(portlet.getPortletId(), className, resourceBundle, locale, addPortletURL)); } } for (ClassType classType : classTypes) { long classTypeId = classType.getClassTypeId(); if (ArrayUtil.contains(classTypeIds, classTypeId) || (classTypeIds.length == 0)) { PortletURL addPortletURL = getAddPortletURL(liferayPortletRequest, liferayPortletResponse, groupId, className, classTypeId, allAssetCategoryIds, allAssetTagNames, redirect); if (addPortletURL != null) { assetPublisherAddItemHolders.add(new AssetPublisherAddItemHolder(portlet.getPortletId(), classType.getName(), resourceBundle, locale, addPortletURL)); } } } } if (assetPublisherAddItemHolders.size() <= 1) { return assetPublisherAddItemHolders; } assetPublisherAddItemHolders.sort(null); return assetPublisherAddItemHolders; }
From source file:com.liferay.exportimport.test.ExportedMissingReferenceExportImportTest.java
License:Open Source License
protected List<PortletDataHandler> setPortletDataHandler(String portletId, List<PortletDataHandler> portletDataHandlerInstances) throws Exception { Field portletDataHandlerInstancesField = ReflectionUtil.getDeclaredField(PortletBagImpl.class, "_portletDataHandlerInstances"); PortletBag portletBag = PortletBagPool.get(portletId); List<PortletDataHandler> oldDataHandlerInstances = portletBag.getPortletDataHandlerInstances(); portletDataHandlerInstancesField.set(portletBag, portletDataHandlerInstances); return oldDataHandlerInstances; }
From source file:com.liferay.faces.test.hooks.TestSetupAction.java
License:Open Source License
protected void setupPage(long companyId, long userId, long groupId, PortalPage portalPage, boolean privateLayout) throws Exception { String portalPageName = portalPage.getName(); String[] portletIds = portalPage.getPortletIds(); Layout portalPageLayout = getPortalPageLayout(userId, groupId, portalPageName, privateLayout); LayoutTypePortlet layoutTypePortlet = (LayoutTypePortlet) portalPageLayout.getLayoutType(); layoutTypePortlet.setLayoutTemplateId(userId, portalPage.getLayoutTemplateId(), false); int columnNumber = 1; for (String portletId : portletIds) { if (portletId.endsWith("_INSTANCE_")) { portletId = portletId + "ABCD"; }//from w ww . j av a 2 s .c o m addPortlet(layoutTypePortlet, userId, columnNumber, portletId); // Store the preferences for the portlet, if any PortletPreferences portletPreferences = PortletPreferencesFactoryUtil .getLayoutPortletSetup(portalPageLayout, portletId); Portlet portlet = PortletLocalServiceUtil.getPortletById(companyId, portletId); PortletBag portletBag = PortletBagPool.get(portlet.getRootPortletId()); if (portletBag != null) { portletPreferences.store(); } columnNumber++; } LayoutLocalServiceUtil.updateLayout(portalPageLayout); logger.info("Setting up page name=[" + portalPageName + "]"); }
From source file:com.liferay.opensocial.service.impl.GadgetLocalServiceImpl.java
License:Open Source License
protected Portlet getPortlet(String uuid, long companyId, String name) throws Exception { Portlet portlet = _portletsPool.get(uuid); if (portlet != null) { return portlet; }/*from w ww . j av a2 s . co m*/ String portletId = getPortletId(uuid); portlet = PortletLocalServiceUtil.clonePortlet(_GADGET_PORTLET_ID); portlet.setCompanyId(companyId); portlet.setPortletId(portletId); PortletApp portletApp = PortletLocalServiceUtil.getPortletApp(ClpSerializer.getServletContextName()); portlet.setPortletApp(portletApp); portlet.setPortletName(portletId); portlet.setDisplayName(portletId); portlet.setPortletClass(GadgetPortlet.class.getName()); Map<String, String> initParams = portlet.getInitParams(); initParams.put(InvokerPortlet.INIT_INVOKER_PORTLET_NAME, _GADGET_PORTLET_NAME); addPortletExtraInfo(portlet, portletApp, name); _portletsPool.put(uuid, portlet); PortletBag portletBag = PortletBagPool.get(_GADGET_PORTLET_ID); portletBag = (PortletBag) portletBag.clone(); portletBag.setPortletName(portletId); portletBag.setPortletInstance(new GadgetPortlet()); PortletBagPool.put(portletId, portletBag); return portlet; }
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 a va 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:com.liferay.portlet.PortletInstanceFactoryImpl.java
License:Open Source License
public InvokerPortlet create(Portlet portlet, ServletContext servletContext) throws PortletException { boolean instanceable = false; if ((portlet.isInstanceable()) && (PortletConstants.getInstanceId(portlet.getPortletId()) != null)) { instanceable = true;//from ww w . j ava 2s .c o m } Map<String, InvokerPortlet> portletInstances = _pool.get(portlet.getRootPortletId()); if (portletInstances == null) { portletInstances = new ConcurrentHashMap<String, InvokerPortlet>(); _pool.put(portlet.getRootPortletId(), portletInstances); } InvokerPortlet instanceInvokerPortletInstance = null; if (instanceable) { instanceInvokerPortletInstance = portletInstances.get(portlet.getPortletId()); } InvokerPortlet rootInvokerPortletInstance = null; if (instanceInvokerPortletInstance == null) { rootInvokerPortletInstance = portletInstances.get(portlet.getRootPortletId()); if (rootInvokerPortletInstance == null) { PortletBag portletBag = PortletBagPool.get(portlet.getRootPortletId()); // Portlet bag should never be null unless the portlet has been // undeployed if (portletBag == null) { PortletBagFactory portletBagFactory = new PortletBagFactory(); portletBagFactory.setClassLoader(PortalClassLoaderUtil.getClassLoader()); portletBagFactory.setServletContext(servletContext); portletBagFactory.setWARFile(false); try { portletBag = portletBagFactory.create(portlet); } catch (Exception e) { throw new PortletException(e); } } PortletConfig portletConfig = PortletConfigFactoryUtil.create(portlet, servletContext); rootInvokerPortletInstance = init(portlet, portletConfig, portletBag.getPortletInstance()); portletInstances.put(portlet.getRootPortletId(), rootInvokerPortletInstance); } } if (instanceable) { if (instanceInvokerPortletInstance == null) { javax.portlet.Portlet portletInstance = rootInvokerPortletInstance.getPortletInstance(); PortletConfig portletConfig = PortletConfigFactoryUtil.create(portlet, servletContext); PortletContext portletContext = portletConfig.getPortletContext(); boolean checkAuthToken = rootInvokerPortletInstance.isCheckAuthToken(); boolean facesPortlet = rootInvokerPortletInstance.isFacesPortlet(); boolean strutsPortlet = rootInvokerPortletInstance.isStrutsPortlet(); boolean strutsBridgePortlet = rootInvokerPortletInstance.isStrutsBridgePortlet(); instanceInvokerPortletInstance = _internalInvokerPortletPrototype.create(portlet, portletInstance, portletConfig, portletContext, checkAuthToken, facesPortlet, strutsPortlet, strutsBridgePortlet); portletInstances.put(portlet.getPortletId(), instanceInvokerPortletInstance); } } else { if (rootInvokerPortletInstance != null) { instanceInvokerPortletInstance = rootInvokerPortletInstance; } } return instanceInvokerPortletInstance; }
From source file:com.liferay.wsrp.service.impl.WSRPConsumerPortletLocalServiceImpl.java
License:Open Source License
protected Portlet getPortlet(long companyId, long wsrpConsumerId, String wsrpConsumerPortletUuid, String name, String portletHandle) throws Exception { Portlet portlet = _portletsPool.get(wsrpConsumerPortletUuid); if ((portlet != null) && portlet.isActive()) { return portlet; }//from ww w. j a v a 2 s . c om String portletId = getPortletId(wsrpConsumerPortletUuid); portlet = PortletLocalServiceUtil.clonePortlet(_CONSUMER_PORTLET_ID); portlet.setCompanyId(companyId); portlet.setPortletId(portletId); PortletApp portletApp = PortletLocalServiceUtil.getPortletApp(ClpSerializer.getServletContextName()); portlet.setPortletApp(portletApp); portlet.setPortletName(portletId); portlet.setDisplayName(portletId); Map<String, String> initParams = portlet.getInitParams(); initParams.put(InvokerPortlet.INIT_INVOKER_PORTLET_NAME, _CONSUMER_PORTLET_NAME); WSRPConsumer wsrpConsumer = wsrpConsumerPersistence.findByPrimaryKey(wsrpConsumerId); PortletDescription portletDescription = null; try { WSRPConsumerManager wsrpConsumerManager = WSRPConsumerManagerFactory .getWSRPConsumerManager(wsrpConsumer); portletDescription = wsrpConsumerManager.getPortletDescription(portletHandle); } catch (Exception e) { if (_log.isWarnEnabled()) { _log.warn("Unable to connect to WSRP producer for portlet " + wsrpConsumerPortletUuid, e); } } if (portletDescription != null) { addPortletExtraInfo(portlet, portletApp, portletDescription, name); portlet.setActive(true); } else { PortletInfo portletInfo = new PortletInfo(name, name, StringPool.BLANK, StringPool.BLANK); portlet.setPortletInfo(portletInfo); } _portletsPool.put(wsrpConsumerPortletUuid, portlet); PortletBag portletBag = PortletBagPool.get(_CONSUMER_PORTLET_ID); portletBag = (PortletBag) portletBag.clone(); portletBag.setPortletName(portletId); ConsumerPortlet consumerPortletInstance = getConsumerPortletInstance(portlet); portletBag.setPortletInstance(consumerPortletInstance); PortletBagPool.put(portletId, portletBag); return portlet; }
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);// www. ja v a2 s . co 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 v a 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-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); } }