2017-10-18 15:12:25 +02:00
|
|
|
package dao.entities;
|
2017-09-28 12:32:03 +02:00
|
|
|
|
|
|
|
import java.util.List;
|
2017-11-16 16:43:17 +01:00
|
|
|
import java.util.Set;
|
2017-09-28 12:32:03 +02:00
|
|
|
import java.util.UUID;
|
|
|
|
|
|
|
|
import javax.persistence.NoResultException;
|
|
|
|
import javax.persistence.TypedQuery;
|
|
|
|
|
|
|
|
import dao.JpaDao;
|
2017-11-16 16:43:17 +01:00
|
|
|
import entities.DMP;
|
2017-10-18 15:12:25 +02:00
|
|
|
import entities.UserInfo;
|
2017-10-13 14:23:59 +02:00
|
|
|
import entities.security.UserAuth;
|
2017-09-28 12:32:03 +02:00
|
|
|
|
|
|
|
|
|
|
|
public class UserInfoDaoImpl extends JpaDao<UserInfo, UUID> implements UserInfoDao {
|
|
|
|
|
|
|
|
public UserInfo loadDetails(UserInfo t) {
|
|
|
|
// TODO Auto-generated method stub
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
2017-11-16 16:43:17 +01:00
|
|
|
public UserInfo getUserInfo(String userID) {
|
|
|
|
String queryString = "FROM UserInfo userInfo where userInfo.id = :userInfoID";
|
2017-09-28 12:32:03 +02:00
|
|
|
TypedQuery<UserInfo> typedQuery = entityManager.createQuery(queryString, UserInfo.class);
|
2017-11-16 16:43:17 +01:00
|
|
|
typedQuery.setParameter("userInfoID", UUID.fromString(userID));
|
|
|
|
try {
|
|
|
|
return typedQuery.getSingleResult();
|
|
|
|
}
|
|
|
|
catch(NoResultException ex) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public UserInfo getByIdAndMail(String id, String email) {
|
|
|
|
String queryString = "FROM UserInfo userInfo where userInfo.id = :userInfoID and userInfo.email = :userInfoEmail";
|
|
|
|
TypedQuery<UserInfo> typedQuery = entityManager.createQuery(queryString, UserInfo.class);
|
|
|
|
typedQuery.setParameter("userInfoID", UUID.fromString(id));
|
2017-09-28 12:32:03 +02:00
|
|
|
typedQuery.setParameter("userInfoEmail", email);
|
|
|
|
try {
|
|
|
|
return typedQuery.getSingleResult();
|
|
|
|
}
|
|
|
|
catch(NoResultException ex) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
2017-10-13 14:23:59 +02:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public UserInfo getByAuthenticationId(String authenticationID) {
|
|
|
|
UserAuth userauth = new UserAuth();
|
|
|
|
userauth.setId(UUID.fromString(authenticationID));
|
|
|
|
String queryString = "FROM UserInfo userInfo where userInfo.authentication = :auth";
|
|
|
|
TypedQuery<UserInfo> typedQuery = entityManager.createQuery(queryString, UserInfo.class);
|
|
|
|
typedQuery.setParameter("auth", userauth);
|
|
|
|
try {
|
|
|
|
return typedQuery.getSingleResult();
|
|
|
|
}
|
|
|
|
catch(NoResultException ex) {
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
2017-09-28 12:32:03 +02:00
|
|
|
|
|
|
|
|
2017-10-20 12:03:55 +02:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public UserInfo getByMail(String email) {
|
|
|
|
String queryString = "FROM UserInfo userInfo where userInfo.email = :email";
|
|
|
|
TypedQuery<UserInfo> typedQuery = entityManager.createQuery(queryString, UserInfo.class);
|
|
|
|
typedQuery.setParameter("email", email);
|
|
|
|
try {
|
|
|
|
return typedQuery.getSingleResult();
|
|
|
|
}
|
|
|
|
catch(Exception ex) { //no need to distinguish between exceptions for the moment
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public UserInfo getByUsername(String username) {
|
|
|
|
|
|
|
|
String queryString = "select ui from UserInfo ui join UserAuth ui.authentication ua where ua.username=:username";
|
|
|
|
TypedQuery<UserInfo> typedQuery = entityManager.createQuery(queryString, UserInfo.class);
|
|
|
|
typedQuery.setParameter("username", username);
|
|
|
|
try {
|
|
|
|
return typedQuery.getSingleResult();
|
|
|
|
}
|
|
|
|
catch(Exception ex) { //no need to distinguish between exceptions for the moment
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-11-16 16:43:17 +01:00
|
|
|
@Override
|
|
|
|
public List<DMP> getDmpsOfUser(String userID) {
|
|
|
|
|
|
|
|
String queryString = "select dmp from DMP dmp join dmp.users user where user.id=:userid and dmp.status >= 0";
|
|
|
|
TypedQuery<DMP> typedQuery = entityManager.createQuery(queryString, DMP.class);
|
|
|
|
typedQuery.setParameter("userid", UUID.fromString(userID));
|
|
|
|
try {
|
|
|
|
return typedQuery.getResultList();
|
|
|
|
}
|
|
|
|
catch(Exception ex) { //no need to distinguish between exceptions for the moment
|
|
|
|
ex.printStackTrace();
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2017-10-20 12:03:55 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-09-28 12:32:03 +02:00
|
|
|
}
|