Example usage for com.liferay.portal.kernel.model Portlet isSystem

List of usage examples for com.liferay.portal.kernel.model Portlet isSystem

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.model Portlet isSystem.

Prototype

public boolean isSystem();

Source Link

Document

Returns true if the portlet is a system portlet that a user cannot manually add to their page.

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  w w w . j  a  v  a2s  . co m*/

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