Example usage for com.liferay.portal.kernel.service.permission PortletPermissionUtil getPrimaryKey

List of usage examples for com.liferay.portal.kernel.service.permission PortletPermissionUtil getPrimaryKey

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.service.permission PortletPermissionUtil getPrimaryKey.

Prototype

public static String getPrimaryKey(long plid, String portletId) 

Source Link

Usage

From source file:com.liferay.exportimport.lar.PermissionExporter.java

License:Open Source License

public void exportPortletPermissions(PortletDataContext portletDataContext, String portletId, Layout layout,
        Element portletElement) throws Exception {

    String resourceName = PortletIdCodec.decodePortletName(portletId);
    String resourcePrimKey = StringPool.BLANK;

    if (layout != null) {
        resourcePrimKey = PortletPermissionUtil.getPrimaryKey(layout.getPlid(), portletId);
    } else {/*from   w w  w.  jav  a  2 s . co  m*/
        resourcePrimKey = PortletPermissionUtil.getPrimaryKey(LayoutConstants.DEFAULT_PLID, portletId);
    }

    Element permissionsElement = portletElement.addElement("permissions");

    exportPermissions(portletDataContext, resourceName, resourcePrimKey, permissionsElement);
}

From source file:com.liferay.exportimport.lar.PermissionImporter.java

License:Open Source License

public void importPortletPermissions(LayoutCache layoutCache, long companyId, long groupId, long userId,
        Layout layout, Element portletElement, String portletId) throws Exception {

    Element permissionsElement = portletElement.element("permissions");

    if ((layout != null) && (permissionsElement != null)) {
        String resourceName = PortletIdCodec.decodePortletName(portletId);

        String resourcePrimKey = PortletPermissionUtil.getPrimaryKey(layout.getPlid(), portletId);

        importPermissions(layoutCache, companyId, groupId, userId, layout, resourceName, resourcePrimKey,
                permissionsElement);// w ww.  j av a  2s.  com
    }
}

From source file:com.liferay.exportimport.test.PermissionExportImportTest.java

License:Open Source License

@Test
public void testPortletGuestPermissionsExportImport() throws Exception {

    // Export/*from   w  w w .ja v  a2  s  .c o  m*/

    LayoutSetPrototype exportLayoutSetPrototype = LayoutTestUtil
            .addLayoutSetPrototype(RandomTestUtil.randomString());

    Group exportGroup = exportLayoutSetPrototype.getGroup();

    Layout exportLayout = LayoutTestUtil.addLayout(exportGroup, true);

    String exportResourcePrimKey = PortletPermissionUtil.getPrimaryKey(exportLayout.getPlid(), _PORTLET_ID);

    Role role = RoleLocalServiceUtil.getRole(TestPropsValues.getCompanyId(), RoleConstants.GUEST);

    addPortletPermissions(exportGroup, role, exportResourcePrimKey);

    Element portletElement = exportPortletPermissions(exportGroup, exportLayout);

    // Import

    LayoutSetPrototype importLayoutSetPrototype = LayoutTestUtil
            .addLayoutSetPrototype(RandomTestUtil.randomString());

    Group importGroup = importLayoutSetPrototype.getGroup();

    Layout importLayout = LayoutTestUtil.addLayout(importGroup, true);

    String importResourcePrimKey = PortletPermissionUtil.getPrimaryKey(importLayout.getPlid(), _PORTLET_ID);

    importPortletPermissions(importGroup, importLayout, portletElement);

    validateImportedPortletPermissions(importGroup, role, importResourcePrimKey);

    LayoutSetPrototypeLocalServiceUtil.deleteLayoutSetPrototype(exportLayoutSetPrototype);
    LayoutSetPrototypeLocalServiceUtil.deleteLayoutSetPrototype(importLayoutSetPrototype);
}

From source file:com.liferay.faces.bridge.demos.bean.PermissionsURLModelBean.java

License:Open Source License

public String getPortletResourcePrimaryKey() {

    if (portletResourcePrimaryKey == null) {
        FacesContext facesContext = FacesContext.getCurrentInstance();
        long plid = LiferayPortletHelperUtil.getPlid(facesContext);
        Portlet portlet = LiferayPortletHelperUtil.getPortlet(facesContext);
        String portletId = portlet.getPortletId();
        portletResourcePrimaryKey = PortletPermissionUtil.getPrimaryKey(plid, portletId);
    }//from  w  w w .ja  v a2 s . c om

    return portletResourcePrimaryKey;
}

From source file:com.liferay.layout.admin.web.internal.exportimport.data.handler.LayoutStagedModelDataHandler.java

License:Open Source License

protected Map<String, Object[]> getPortletids(PortletDataContext portletDataContext, Layout layout)
        throws Exception {

    if (!LayoutStagingUtil.prepareLayoutStagingHandler(portletDataContext, layout)
            || !layout.isSupportsEmbeddedPortlets()) {

        // Only portlet type layouts support page scoping

        return Collections.emptyMap();
    }//from ww w. j  a va  2 s  .  c  o m

    Map<String, Object[]> portletIds = new HashMap<>();

    LayoutTypePortlet layoutTypePortlet = (LayoutTypePortlet) layout.getLayoutType();

    // The getAllPortlets method returns all effective nonsystem portlets
    // for any layout type, including embedded portlets, or in the case of
    // panel type layout, selected portlets

    for (Portlet portlet : layoutTypePortlet.getAllPortlets(false)) {
        String portletId = portlet.getPortletId();

        Settings portletInstanceSettings = SettingsFactoryUtil
                .getSettings(new PortletInstanceSettingsLocator(layout, portletId));

        String scopeType = portletInstanceSettings.getValue("lfrScopeType", null);
        String scopeLayoutUuid = portletInstanceSettings.getValue("lfrScopeLayoutUuid", null);

        long scopeGroupId = portletDataContext.getScopeGroupId();

        if (Validator.isNotNull(scopeType)) {
            Group scopeGroup = null;

            if (scopeType.equals("company")) {
                scopeGroup = _groupLocalService.getCompanyGroup(layout.getCompanyId());
            } else if (scopeType.equals("layout")) {
                Layout scopeLayout = null;

                scopeLayout = _layoutLocalService.fetchLayoutByUuidAndGroupId(scopeLayoutUuid,
                        portletDataContext.getGroupId(), portletDataContext.isPrivateLayout());

                if (scopeLayout == null) {
                    continue;
                }

                scopeGroup = scopeLayout.getScopeGroup();
            } else {
                throw new IllegalArgumentException("Scope type " + scopeType + " is invalid");
            }

            if (scopeGroup != null) {
                scopeGroupId = scopeGroup.getGroupId();
            }
        }

        String key = PortletPermissionUtil.getPrimaryKey(layout.getPlid(), portletId);

        portletIds.put(key, new Object[] { portletId, scopeGroupId, scopeType, scopeLayoutUuid });
    }

    return portletIds;
}

From source file:com.liferay.portlet.configuration.web.internal.portlet.configuration.icon.PermissionsPortletConfigurationIcon.java

License:Open Source License

@Override
public String getURL(PortletRequest portletRequest, PortletResponse portletResponse) {

    try {/*from w w  w.  java2s.  com*/
        String returnToFullPageURL = ParamUtil.getString(portletRequest, "returnToFullPageURL");

        PortletURL portletURL = PortletProviderUtil.getPortletURL(portletRequest,
                PortletConfigurationApplicationType.PortletConfiguration.CLASS_NAME,
                PortletProvider.Action.VIEW);

        portletURL.setParameter("mvcPath", "/edit_permissions.jsp");
        portletURL.setParameter("returnToFullPageURL", returnToFullPageURL);
        portletURL.setParameter("portletConfiguration", Boolean.TRUE.toString());

        ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

        PortletDisplay portletDisplay = themeDisplay.getPortletDisplay();

        portletURL.setParameter("portletResource", portletDisplay.getId());
        portletURL.setParameter("resourcePrimKey",
                PortletPermissionUtil.getPrimaryKey(themeDisplay.getPlid(), portletDisplay.getId()));

        portletURL.setWindowState(LiferayWindowState.POP_UP);

        return portletURL.toString();
    } catch (Exception e) {
    }

    return StringPool.BLANK;
}