List of usage examples for com.liferay.portal.kernel.service PortletPreferencesLocalServiceUtil getPortletPreferences
public static java.util.List<com.liferay.portal.kernel.model.PortletPreferences> getPortletPreferences( long ownerId, int ownerType, long plid)
From source file:com.liferay.layout.admin.web.internal.display.context.OrphanPortletsDisplayContext.java
License:Open Source License
public List<Portlet> getOrphanPortlets(Layout layout) { if (!layout.isSupportsEmbeddedPortlets()) { return Collections.emptyList(); }/*from ww w. j a va 2 s. c om*/ ThemeDisplay themeDisplay = (ThemeDisplay) _liferayPortletRequest.getAttribute(WebKeys.THEME_DISPLAY); LayoutTypePortlet selLayoutTypePortlet = (LayoutTypePortlet) layout.getLayoutType(); List<Portlet> explicitlyAddedPortlets = selLayoutTypePortlet.getExplicitlyAddedPortlets(); List<String> explicitlyAddedPortletIds = new ArrayList<>(); for (Portlet explicitlyAddedPortlet : explicitlyAddedPortlets) { explicitlyAddedPortletIds.add(explicitlyAddedPortlet.getPortletId()); } List<Portlet> orphanPortlets = new ArrayList<>(); List<PortletPreferences> portletPreferences = PortletPreferencesLocalServiceUtil.getPortletPreferences( PortletKeys.PREFS_OWNER_ID_DEFAULT, PortletKeys.PREFS_OWNER_TYPE_LAYOUT, getSelPlid()); for (PortletPreferences portletPreference : portletPreferences) { String portletId = portletPreference.getPortletId(); Portlet portlet = PortletLocalServiceUtil.getPortletById(themeDisplay.getCompanyId(), portletId); if (portlet.isSystem()) { continue; } if (explicitlyAddedPortletIds.contains(portletId)) { continue; } orphanPortlets.add(portlet); } HttpServletRequest request = PortalUtil.getHttpServletRequest(_liferayPortletRequest); PortletTitleComparator portletTitleComparator = new PortletTitleComparator(request.getServletContext(), themeDisplay.getLocale()); orphanPortlets = ListUtil.sort(orphanPortlets, portletTitleComparator); return orphanPortlets; }