Project

General

Profile

« Previous | Next » 

Revision 93f25a6b

Added by Andreas Kohlbecker over 2 years ago

ref #6161 implementing password recovery service & tests

View differences:

cdmlib-persistence/src/main/java/eu/etaxonomy/cdm/persistence/dao/hibernate/permission/UserDaoImpl.java
36 36
        query.setParameter("username", username);
37 37

  
38 38
        User user = (User)query.uniqueResult(); // username is a @NaturalId
39
        return initializeUser(user);
40
    }
39 41

  
40
        if(user != null) {
41
            getSession().refresh(user); // make sure the user is always up to date
42
            Hibernate.initialize(user.getPerson());
43
            Hibernate.initialize(user.getGrantedAuthorities());
44
            for(Group group : user.getGroups()) {
45
                Hibernate.initialize(group.getGrantedAuthorities());
46
            }
47
        }
42
    @Override
43
    public User findByEmailAddress(String emailAddress) {
44
        Query query = getSession().createQuery("select user from User user where user.emailAddress = :emailAddress");
45
        query.setParameter("emailAddress", emailAddress);
48 46

  
49
        return user;
47
        User user = (User)query.uniqueResult(); // emailAddress to be unique, see https://dev.e-taxonomy.eu/redmine/issues/7276
48
        return initializeUser(user);
50 49
    }
51 50

  
52 51
    @Override
53
    public long countByUsername(String queryString,	MatchMode matchmode, List<Criterion> criterion) {
52
    public long countByUsername(String queryString, MatchMode matchmode, List<Criterion> criterion) {
54 53
        return countByParam(type, "username",queryString,matchmode,criterion);
55 54
    }
56 55

  
......
59 58
        return findByParam(type, "username", queryString, matchmode, criterion, pageSize, pageNumber, orderHints, propertyPaths);
60 59
    }
61 60

  
61
    public User initializeUser(User user) {
62
        if(user != null) {
63
            getSession().refresh(user); // make sure the user is always up to date
64
            Hibernate.initialize(user.getPerson());
65
            Hibernate.initialize(user.getGrantedAuthorities());
66
            for(Group group : user.getGroups()) {
67
                Hibernate.initialize(group.getGrantedAuthorities());
68
            }
69
        }
70
        return user;
71
    }
72

  
62 73
}

Also available in: Unified diff