I am creating a portlet to grep all url which has been accessed and creating bookmark entry for that and having no issue in that. But while giving permission to some specific role and team, I am getting the problem.
Can anyone help me how can we set permission for bookmark entry programmatically. I am using following code:
BookmarksEntry entry = BookmarksEntryLocalServiceUtil.addEntry(user.getUserId(),
GroupLocalServiceUtil.getGroup(user.getCompanyId(), "SPACE").getGroupId(),0,
wikiResource,url,wikiResource+" Accessed on "+viewedDate , new ServiceContext());
long groupId = entry.getGroupId();
long companyId = entry.getCompanyId();
String name = BookmarksEntry.class.getName();
String primKey = entry.getPrimaryKey() + "";
// For Role : "Role_XYZ"
try {
Role sp_View_Prod_role = RoleLocalServiceUtil.getRole(companyId,"Role_XYZ");
ResourcePermissionServiceUtil.setIndividualResourcePermissions(
groupId, companyId, name, primKey,
sp_View_Prod_role.getRoleId(),
new String[] { ActionKeys.VIEW });
PMLogger.logging("[INFO] Document uploaded with view permission added for sp_View Prod,sp_View All -ROLES");
} catch (Exception e) {
e.printStackTrace();
PMLogger.logging(e.getMessage());
}
Thanks in advance.