public MembershipRequest addMembershipRequest(long userId, long groupId, String comments) throws PortalException, SystemException { User user = userPersistence.findByPrimaryKey(userId); Date now = new Date(); validate(comments); long membershipRequestId = counterLocalService.increment(); MembershipRequest membershipRequest = membershipRequestPersistence.create(membershipRequestId); membershipRequest.setCompanyId(user.getCompanyId()); membershipRequest.setUserId(userId); membershipRequest.setCreateDate(now); membershipRequest.setGroupId(groupId); membershipRequest.setComments(comments); membershipRequest.setStatusId(MembershipRequestConstants.STATUS_PENDING); membershipRequestPersistence.update(membershipRequest, false); try { notifyCommunityAdministrators(membershipRequest); } catch (IOException ioe) { throw new SystemException(ioe); } return membershipRequest; }