forked from Archives/Athou_commafeed
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;
|
||||||
import com.commafeed.backend.model.UserRole.Role;
|
import com.commafeed.backend.model.UserRole.Role;
|
||||||
import com.commafeed.backend.model.UserRole_;
|
import com.commafeed.backend.model.UserRole_;
|
||||||
|
import com.commafeed.backend.model.User_;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
|
||||||
@Stateless
|
@Stateless
|
||||||
@@ -29,12 +30,17 @@ public class UserRoleDAO extends GenericDAO<UserRole> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public List<UserRole> findAll(User user) {
|
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) {
|
public Set<Role> findRoles(User user) {
|
||||||
Set<Role> list = Sets.newHashSet();
|
Set<Role> list = Sets.newHashSet();
|
||||||
for (UserRole role : findByField(UserRole_.user, user)) {
|
for (UserRole role : findAll(user)) {
|
||||||
list.add(role.getRole());
|
list.add(role.getRole());
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import javax.persistence.criteria.Root;
|
|||||||
import com.commafeed.backend.model.User;
|
import com.commafeed.backend.model.User;
|
||||||
import com.commafeed.backend.model.UserSettings;
|
import com.commafeed.backend.model.UserSettings;
|
||||||
import com.commafeed.backend.model.UserSettings_;
|
import com.commafeed.backend.model.UserSettings_;
|
||||||
|
import com.commafeed.backend.model.User_;
|
||||||
|
|
||||||
@Stateless
|
@Stateless
|
||||||
public class UserSettingsDAO extends GenericDAO<UserSettings> {
|
public class UserSettingsDAO extends GenericDAO<UserSettings> {
|
||||||
@@ -17,11 +18,12 @@ public class UserSettingsDAO extends GenericDAO<UserSettings> {
|
|||||||
CriteriaQuery<UserSettings> query = builder.createQuery(getType());
|
CriteriaQuery<UserSettings> query = builder.createQuery(getType());
|
||||||
Root<UserSettings> root = query.from(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;
|
UserSettings settings = null;
|
||||||
try {
|
try {
|
||||||
settings = em.createQuery(query).getSingleResult();
|
settings = cache(em.createQuery(query)).getSingleResult();
|
||||||
} catch (NoResultException e) {
|
} catch (NoResultException e) {
|
||||||
settings = null;
|
settings = null;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user