Projekt

Obecné

Profil

Stáhnout (2.35 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.dao.UserRepository;
11
import vldc.aswi.domain.User;
12

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

    
17
@Service
18
@Slf4j
19
public class UserManagerImpl implements UserManager {
20

    
21
    /** Autowired user repository. */
22
    @Autowired
23
    private UserRepository userRepository;
24

    
25
    /** Autowired role repository. */
26
    @Autowired
27
    private RoleRepository roleRepository;
28

    
29
    /**
30
     * Initialization setup for user manager. Check if user repository contains records and if not, initialize default values.
31
     */
32
    /*
33
    @EventListener(classes = {
34
            ContextRefreshedEvent.class
35
    })
36
    @Order(1)
37
    @Transactional
38
    public void setup() {
39
        if (this.userRepository.count() == 0) {
40
            log.info("No user present, creating 'admin', 'referentka', 'prorektor'.");
41
            Long idAdmin = this.addUser("admin", "admin");
42
            Long idReferentka = this.addUser("referentka", "referentka");
43
            Long idProrektor = this.addUser("prorektor", "prorektor");
44

    
45
            User admin = this.userRepository.getById(idAdmin);
46
            User referentka = this.userRepository.getById(idReferentka);
47
            User prorektor = this.userRepository.getById(idProrektor);
48

    
49
            // TODO: set roles for every default user.
50
            //admin.setRole();
51
        }
52
    }
53
     */
54

    
55
    /**
56
     * Get all users from database.
57
     * @return List of users.
58
     */
59
    @Override
60
    public List<User> getUsers() {
61
        List<User> retVal = new LinkedList<>();
62
        this.userRepository.findAll().forEach(retVal::add);
63
        return retVal;
64
    }
65

    
66
    /**
67
     * Add new user into database.
68
     * @param username - login username for user.
69
     * @param password - password for user.
70
     * @return ID of newly created user.
71
     */
72
    @Override
73
    public Long addUser(String username, String password) {
74
        User user = new User(username, password);
75
        this.userRepository.save(user);
76
        return user.getId();
77
    }
78
}
(16-16/16)