mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
cache settings and roles
This commit is contained in:
@@ -12,6 +12,7 @@ import com.commafeed.backend.model.User;
|
||||
import com.commafeed.backend.model.UserRole;
|
||||
import com.commafeed.backend.model.UserRole.Role;
|
||||
import com.commafeed.backend.model.UserRole_;
|
||||
import com.commafeed.backend.model.User_;
|
||||
import com.google.common.collect.Sets;
|
||||
|
||||
@Stateless
|
||||
@@ -29,12 +30,17 @@ public class UserRoleDAO extends GenericDAO<UserRole> {
|
||||
}
|
||||
|
||||
public List<UserRole> findAll(User user) {
|
||||
return findByField(UserRole_.user, user);
|
||||
CriteriaQuery<UserRole> query = builder.createQuery(getType());
|
||||
Root<UserRole> root = query.from(getType());
|
||||
|
||||
query.where(builder.equal(root.get(UserRole_.user).get(User_.id),
|
||||
user.getId()));
|
||||
return cache(em.createQuery(query)).getResultList();
|
||||
}
|
||||
|
||||
public Set<Role> findRoles(User user) {
|
||||
Set<Role> list = Sets.newHashSet();
|
||||
for (UserRole role : findByField(UserRole_.user, user)) {
|
||||
for (UserRole role : findAll(user)) {
|
||||
list.add(role.getRole());
|
||||
}
|
||||
return list;
|
||||
|
||||
@@ -8,6 +8,7 @@ import javax.persistence.criteria.Root;
|
||||
import com.commafeed.backend.model.User;
|
||||
import com.commafeed.backend.model.UserSettings;
|
||||
import com.commafeed.backend.model.UserSettings_;
|
||||
import com.commafeed.backend.model.User_;
|
||||
|
||||
@Stateless
|
||||
public class UserSettingsDAO extends GenericDAO<UserSettings> {
|
||||
@@ -17,11 +18,12 @@ public class UserSettingsDAO extends GenericDAO<UserSettings> {
|
||||
CriteriaQuery<UserSettings> query = builder.createQuery(getType());
|
||||
Root<UserSettings> root = query.from(getType());
|
||||
|
||||
query.where(builder.equal(root.get(UserSettings_.user), user));
|
||||
query.where(builder.equal(root.get(UserSettings_.user).get(User_.id),
|
||||
user.getId()));
|
||||
|
||||
UserSettings settings = null;
|
||||
try {
|
||||
settings = em.createQuery(query).getSingleResult();
|
||||
settings = cache(em.createQuery(query)).getSingleResult();
|
||||
} catch (NoResultException e) {
|
||||
settings = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user