Example usage for com.liferay.portal.kernel.model Permission getPrimKey

List of usage examples for com.liferay.portal.kernel.model Permission getPrimKey

Introduction

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

Prototype

public String getPrimKey();

Source Link

Usage

From source file:com.liferay.roles.admin.internal.exportimport.data.handler.RoleStagedModelDataHandler.java

License:Open Source License

protected void importResourcePermissions(PortletDataContext portletDataContext, Role importedRole,
        Permission permission) throws PortalException {

    int scope = permission.getScope();

    if (scope == ResourceConstants.SCOPE_COMPANY) {
        _resourcePermissionService.addResourcePermission(portletDataContext.getCompanyGroupId(),
                portletDataContext.getCompanyId(), permission.getName(), scope,
                String.valueOf(portletDataContext.getCompanyId()), importedRole.getRoleId(),
                permission.getActionId());
    } else if (scope == ResourceConstants.SCOPE_GROUP) {
        long groupId = portletDataContext.getCompanyGroupId();

        long primaryKey = groupId;

        long sourceGroupId = GetterUtil.getLong(permission.getPrimKey());

        if (sourceGroupId == portletDataContext.getSourceUserPersonalSiteGroupId()) {

            PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker();

            User user = permissionChecker.getUser();

            groupId = user.getGroupId();

            primaryKey = portletDataContext.getUserPersonalSiteGroupId();
        }/*from   ww w .  jav a  2s .  c  om*/

        _resourcePermissionService.addResourcePermission(groupId, portletDataContext.getCompanyId(),
                permission.getName(), ResourceConstants.SCOPE_GROUP, String.valueOf(primaryKey),
                importedRole.getRoleId(), permission.getActionId());
    } else if (scope == ResourceConstants.SCOPE_GROUP_TEMPLATE) {
        _resourcePermissionService.addResourcePermission(GroupConstants.DEFAULT_PARENT_GROUP_ID,
                portletDataContext.getCompanyId(), permission.getName(), ResourceConstants.SCOPE_GROUP_TEMPLATE,
                String.valueOf(GroupConstants.DEFAULT_PARENT_GROUP_ID), importedRole.getRoleId(),
                permission.getActionId());
    } else {
        if (_log.isDebugEnabled()) {
            _log.debug("Individually scoped permissions are not imported");
        }
    }
}