Package br.com.mystudies.service.persistence

Source Code of br.com.mystudies.service.persistence.SprintDaoBean

package br.com.mystudies.service.persistence;

import java.util.List;

import javax.ejb.Local;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;

import br.com.mystudies.domain.entity.Sprint;
import br.com.mystudies.domain.enun.SprintStatus;

@Stateless
@Local(SprintDao.class)
public class SprintDaoBean implements SprintDao {


  @PersistenceContext
  private EntityManager entityManager;


  @Override
  public Sprint persist(Sprint sprint) {
    entityManager.persist(sprint);
    return sprint;
  }

  @Override
  public Sprint update(Sprint sprint) {
    return entityManager.merge(sprint);
  }


  @Override
  public Sprint findSprintByStatus(SprintStatus sprintStatus){ // FIXME: I think this should return a collection of sprint

    CriteriaBuilder criteriaBuilder =
        entityManager.getCriteriaBuilder();

    CriteriaQuery<Sprint> criteriaQuery =
        criteriaBuilder.createQuery(Sprint.class);


    Root<Sprint> root =
        criteriaQuery.from(Sprint.class);


    criteriaQuery
      .select(root)
      .where(criteriaBuilder.equal(root.get("sprintStatus"), sprintStatus));


    try {
      // FIXME:3 the same about fixme above.
      return entityManager
          .createQuery(criteriaQuery)
          .getSingleResult();
    } catch (NoResultException e) {
      return null;
    }

  }




  @Override
  public List<Sprint> listAll() {

    CriteriaBuilder criteriaBuilder =
        entityManager.getCriteriaBuilder();

    CriteriaQuery<Sprint> criteriaQuery =
        criteriaBuilder.createQuery(Sprint.class);


    Root<Sprint> root =
        criteriaQuery.from(Sprint.class);


    criteriaQuery.select(root);

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

}
TOP

Related Classes of br.com.mystudies.service.persistence.SprintDaoBean

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.