//Get uploaded file and store into document library File file = request.getFile("file"); String fileName = file.getName(); DLFolder dlFolder = DLFolderLocalServiceUtil.getFolder(themeDisplay.getScopeGroupId(), 0, "My Folder"); ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(),actionRequest); DLFileEntry fileEntry = DLFileEntryServiceUtil.addFileEntry( dlFolder.getFolderId(), file.getName(), title, StringPool.BLANK, null, file, serviceContext); //set resource permission Resource resource = null; try { resource = ResourceLocalServiceUtil.getResource(fileEntry.getCompanyId(), DLFileEntry.class.getName(), ResourceConstants.SCOPE_INDIVIDUAL, String.valueOf(fileEntry.getPrimaryKey())); } catch (NoSuchResourceException nsre) { ResourceLocalServiceUtil.addResources(fileEntry.getCompanyId(), themeDisplay.getScopeGroupId(), 0, PortletKeys.DOCUMENT_LIBRARY, fileEntry.getFileEntryId(), true, true, true); resource = ResourceLocalServiceUtil.getResource(fileEntry.getCompanyId(), DLFileEntry.class.getName(), ResourceConstants.SCOPE_INDIVIDUAL, String.valueOf(fileEntry.getPrimaryKey())); } Role userRole = RoleLocalServiceUtil.getRole(themeDisplay.getCompanyId(), RoleConstants.USER); if(Validator.isNotNull(userRole)){ String[] actionIds = {"ADD_DISCUSSION","DELETE","DELETE_DISCUSSION","UPDATE","UPDATE_DISCUSSION","VIEW"}; PermissionLocalServiceUtil.setRolePermissions(userRole.getRoleId(),actionIds, resource .getResourceId()); }