throw new SimpleMessageException(t.getMessage());
}
}
public void deleteUser(User user, UserGroup group) throws SimpleMessageException {
User authUser = getAuthenticatedUser(session.get());
if (authUser == null) {
throw new SimpleMessageException("Could not remove user from group, attempt made with unauthorized client.");
}
group = (UserGroup) session.get().load(UserGroup.class, group.getId());
user = (User) session.get().load(User.class, user.getId());
if (group == null || user == null) {
throw new SimpleMessageException("Could not remove user from group, user or group not found.");
}
if (authUser.isAdministrator() || group.isAutoJoin() || group.getOwner().getId().equals(authUser.getId())) {
Transaction tx = session.get().beginTransaction();
GroupMembership groupMembership = SecurityHelper.getGroupMembership(session.get(), user, group);
if (groupMembership != null) {
session.get().delete(groupMembership);
}