All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fi.foyt.fni.persistence.dao.users.UserTokenDAO Maven / Gradle / Ivy

There is a newer version: 3.3.13
Show newest version
package fi.foyt.fni.persistence.dao.users;

import java.util.Date;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;

import fi.foyt.fni.persistence.model.auth.UserIdentifier;
import fi.foyt.fni.persistence.model.users.UserToken_;
import fi.foyt.fni.persistence.dao.GenericDAO;
import fi.foyt.fni.persistence.model.users.UserToken;

public class UserTokenDAO extends GenericDAO {

	private static final long serialVersionUID = 1L;

	public UserToken create(UserIdentifier userIdentifier, String token, String secret, Date expires, String grantedScopes) {
    EntityManager entityManager = getEntityManager();

    UserToken userToken = new UserToken();
    userToken.setToken(token);
    userToken.setSecret(secret);
    userToken.setExpires(expires);
    userToken.setGrantedScopes(grantedScopes);
    userToken.setUserIdentifier(userIdentifier);
    entityManager.persist(userToken);
    
    return userToken;
  }

  public UserToken findByToken(String token) {
    EntityManager entityManager = getEntityManager();

    CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    CriteriaQuery criteria = criteriaBuilder.createQuery(UserToken.class);
    Root root = criteria.from(UserToken.class);
    criteria.select(root);
    criteria.where(criteriaBuilder.equal(root.get(UserToken_.token), token));

    return getSingleResult(entityManager.createQuery(criteria));
  }

  public UserToken findByUserIdentifier(UserIdentifier userIdentifier) {
    EntityManager entityManager = getEntityManager();

    CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    CriteriaQuery criteria = criteriaBuilder.createQuery(UserToken.class);
    Root root = criteria.from(UserToken.class);
    criteria.select(root);
    criteria.where(criteriaBuilder.equal(root.get(UserToken_.userIdentifier), userIdentifier));

    return getSingleResult(entityManager.createQuery(criteria));
  }

  public List listByUserIdentifier(UserIdentifier userIdentifier) {
    EntityManager entityManager = getEntityManager();

    CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
    CriteriaQuery criteria = criteriaBuilder.createQuery(UserToken.class);
    Root root = criteria.from(UserToken.class);
    criteria.select(root);
    criteria.where(criteriaBuilder.equal(root.get(UserToken_.userIdentifier), userIdentifier));

    return entityManager.createQuery(criteria).getResultList();
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy