Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2015 the original author or authors
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   * 	http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package com.clusterra.iam.core.application.membership;
 
 import  org.springframework.beans.factory.annotation.Autowired;
 import  org.springframework.context.ApplicationEventPublisher;
 import  org.springframework.stereotype.Service;
 import  org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Set;

Created with IntelliJ IDEA.

Author(s):
Denis Kuchugurov Date: 05.12.13
 
 @Service
 
     @Autowired
 
     @Autowired
     private RoleRepository roleRepository;
 
     @Autowired
     private UserRepository userRepository;
 
     @Autowired
     private GroupRepository groupRepository;
 
     @Autowired
     private ApplicationEventPublisher applicationEventPublisher;
 
     @Transactional
     public void createAuthorizedMembershipIfNotExists(TenantId tenantIdUserId userIdRoleDescriptor roleDescriptorGroupDescriptor groupDescriptor) {
         checkTenantMatch(tenantIduserId);
 
         AuthorizedMembership membership = .findByUserIdAndRoleId(userId.getId(), roleDescriptor.getRoleId(), groupDescriptor.getGroupId());
 
         if (membership == null) {
             Role r = .findOne(roleDescriptor.getRoleId());
             User u = .findOne(userId.getId());
             Group g = .findOne(groupDescriptor.getGroupId());
             AuthorizedMembership authorizedMembership = new AuthorizedMembership(urg);
             .save(authorizedMembership);
             .publishEvent(new AuthorizedMembershipCreatedEvent(thistenantIdroleDescriptoruserIdgroupDescriptor));
         }
     }
 
     @Transactional
     public void deleteAuthorizedMembership(TenantId tenantIdUserId userIdRoleDescriptor roleDescriptorGroupDescriptor groupDescriptor) {
         checkTenantMatch(tenantIduserId);
 
         AuthorizedMembership authorizedMembership = .findByUserIdAndRoleId(userId.getId(), roleDescriptor.getRoleId(), groupDescriptor.getGroupId());
 
         if (authorizedMembership != null) {
             .delete(authorizedMembership);
             .publishEvent(new AuthorizedMembershipDeletedEvent(thistenantIdroleDescriptoruserIdgroupDescriptor));
         }
     }
 
     @Transactional
     public List<UserIdfindUsersByGroup(GroupDescriptor groupDescriptor) {
         List<Userusers = .findUsersByGroupId(groupDescriptor.getGroupId());
 
         List<UserIdresult = new ArrayList<>(users.size());
         for (User user : users) {
            result.add(new UserId(user.getId()));
        }
        return result;
    }
    @Transactional
    public List<UserIdfindUsersByGroupAndRole(GroupDescriptor groupDescriptorRoleDescriptor roleDescriptor) {
        List<Userusers = .findUsersByGroupIdAndRoleId(groupDescriptor.getGroupId(), roleDescriptor.getRoleId());
        List<UserIdresult = new ArrayList<>(users.size());
        for (User user : users) {
            result.add(new UserId(user.getId()));
        }
        return result;
    }
    @Transactional
    public List<RoleDescriptorfindRolesByGroupAndUser(GroupDescriptor groupDescriptorUserId userId) {
        List<Roleroles = .findRolesByGroupIdAndUserId(groupDescriptor.getGroupId(), userId.getId());
        List<RoleDescriptorresult = new ArrayList<>(roles.size());
        for (Role role : roles) {
            result.add(new RoleDescriptor(role.getId(), role.getName()));
        }
        return result;
    }
    @Transactional
    public List<RoleDescriptorfindRolesByUser(UserId userId) {
        List<Roleroles = .findRolesByUserId(userId.getId());
        List<RoleDescriptorresult = new ArrayList<>(roles.size());
        for (Role role : roles) {
            result.add(new RoleDescriptor(role.getId(), role.getName()));
        }
        return result;
    }
    @Transactional
    public void deleteByUserId(UserId userId) {
        Set<AuthorizedMembershipmemberships = .findByUserId(userId.getId());
        for (AuthorizedMembership membership : memberships) {
            .delete(membership);
        }
    }
    @Transactional
    public void deleteByGroup(GroupDescriptor groupDescriptor) {
        Set<AuthorizedMembershipmemberships = .findByGroupId(groupDescriptor.getGroupId());
        for (AuthorizedMembership membership : memberships) {
            .delete(membership);
        }
    }
    private void checkTenantMatch(TenantId tenantIdUserId userId) {
        User user = .findOne(userId.getId());
        if (!user.getTenant().getId().equals(tenantId.getId())) {
            throw new WrongTenantException(tenantIduserId);
        }
    }
New to GrepCode? Check out our FAQ X