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.role;
 
 import  org.springframework.beans.factory.annotation.Autowired;
 import  org.springframework.context.ApplicationEventPublisher;
 import  org.springframework.stereotype.Component;
 import  org.springframework.transaction.annotation.Transactional;
 
 import java.util.Set;

Author(s):
Alexander Fyodorov
Denis Kuchugurov
 
 @Component
 public class RoleServiceImpl implements RoleService {
 
     @Autowired
     private ApplicationEventPublisher applicationEventPublisher;
 
     @Autowired
     private RoleRepository roleRepository;
 
 
     @Autowired
 
 
     @Autowired
 
 
     @Transactional
     public RoleDescriptor createRole(TenantId tenantIdString roleNamethrows RoleAlreadyExistsException {
         if (.findByTenantAndName(tenantId.getId(), roleName) != null) {
             throw new RoleAlreadyExistsException(tenantIdroleName);
         }
         return create(tenantIdroleName);
     }
 
     private RoleDescriptor create(TenantId tenantIdString roleName) {
         Tenant t = .findOne(tenantId.getId());
         Role role = new Role(troleName);
 
         .save(role);
         RoleDescriptor roleDescriptor = new RoleDescriptor(role.getId(), role.getName());
         .publishEvent(new RoleCreatedEvent(thistenantIdroleDescriptor));
         return roleDescriptor;
     }
 
     @Transactional
     public RoleDescriptor findOrCreateRole(TenantId tenantIdString roleName) {
         if (isRoleNameTaken(tenantIdroleName)) {
             Role role = .findByTenantAndName(tenantId.getId(), roleName);
             return new RoleDescriptor(role.getId(), role.getName());
         }
         return create(tenantIdroleName);
     }
 
     @Transactional
     public void deleteRole(RoleDescriptor roleDescriptor) {
         .delete(.findOne(roleDescriptor.getRoleId()));
     }
 
     @Transactional
     public Set<RoleDescriptorfindAllRoles(TenantId tenantId) {
         Set<Roleroles = .findAll(tenantId.getId());
 
         Set<RoleDescriptorresult = new HashSet<>(roles.size());
 
         for (Role role : roles) {
             result.add(new RoleDescriptor(role.getId(), role.getName()));
         }
 
         return result;
     }
    @Transactional
    public void deleteByTenantId(TenantId tenantId) {
        Set<Roleroles = .findAll(tenantId.getId());
        for (Role role : roles) {
            .delete(role);
        }
    }
    @Transactional
    public RoleDescriptor findRoleByName(TenantId tenantIdString roleNamethrows RoleNotFoundException {
        Role role = .findByTenantAndName(tenantId.getId(), roleName);
        if (role == null) {
            throw new RoleNotFoundException(tenantIdroleName);
        }
        return new RoleDescriptor(role.getId(), role.getName());
    }
    @Transactional
    public boolean isRoleNameTaken(TenantId tenantIdString roleName) {
        return .findByTenantAndName(tenantId.getId(), roleName) != null;
    }
New to GrepCode? Check out our FAQ X