Example usage for com.liferay.portal.kernel.service PortletPreferencesLocalServiceUtil getPortletPreferences

List of usage examples for com.liferay.portal.kernel.service PortletPreferencesLocalServiceUtil getPortletPreferences

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.service PortletPreferencesLocalServiceUtil getPortletPreferences.

Prototype

public static java.util.List<com.liferay.portal.kernel.model.PortletPreferences> getPortletPreferences(
            long ownerId, int ownerType, long plid) 

Source Link

Usage

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;
}