Projekt

Obecné

Profil

Stáhnout (1.7 KB) Statistiky
| Větev: | Revize:
1
package vldc.aswi.service;
2

    
3
import lombok.extern.slf4j.Slf4j;
4
import org.springframework.beans.factory.annotation.Autowired;
5
import org.springframework.context.event.ContextRefreshedEvent;
6
import org.springframework.context.event.EventListener;
7
import org.springframework.core.annotation.Order;
8
import org.springframework.stereotype.Service;
9
import vldc.aswi.dao.RoleRepository;
10
import vldc.aswi.domain.Role;
11

    
12
import javax.transaction.Transactional;
13
import java.util.LinkedList;
14
import java.util.List;
15

    
16
@Service
17
@Slf4j
18
public class RoleManagerImpl implements RoleManager {
19

    
20
    /** Autowired role repository. */
21
    @Autowired
22
    private RoleRepository roleRepository;
23

    
24
    /**
25
     * Initialization setup for role manager. Check if role repository contains records and if not, initialize default values.
26
     */
27
    /*
28
    @EventListener(classes = {
29
            ContextRefreshedEvent.class
30
    })
31
    @Order(1)
32
    @Transactional
33
    public void setup() {
34
        if (this.roleRepository.count() == 0) {
35
            log.info("No role present, creating 'Admin', 'Studijni referentka', 'Prorektor'.");
36
            this.addRole("Admin");
37
            this.addRole("Studijni referentka");
38
            this.addRole("Prorektor");
39
        }
40
    }
41
     */
42

    
43
    /**
44
     * Add newly created role into database.
45
     * @param name - Name of role.
46
     */
47
    public void addRole(String name) {
48
        Role role = new Role(name);
49
        this.roleRepository.save(role);
50
    }
51

    
52
    /**
53
     * Get all roles from database.
54
     * @return List of roles.
55
     */
56
    @Override
57
    public List<Role> getRoles() {
58
        List<Role> retVal = new LinkedList<>();
59
        this.roleRepository.findAll().forEach(retVal::add);
60
        return retVal;
61
    }
62
}
(12-12/16)