package br.com.ufrj.msi2.netuno.modelo.servicos; import java.util.List; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import sun.reflect.generics.reflectiveObjects.NotImplementedException; import br.com.ufrj.msi2.netuno.modelo.entidades.AgenteCarga; import br.com.ufrj.msi2.netuno.modelo.entidades.Requisicao; @Stateless public class RequisicaoServiceImpl implements RequisicaoService { private static final long serialVersionUID = -8723029717925736050L; @PersistenceContext EntityManager em; public EntityManager getEm() { return em; } @Override public CriteriaBuilder getCriteriaBuilder() { return this.em.getCriteriaBuilder(); } @Override public Requisicao obterPorId(Integer idRequisicao) { Query query = em.createNamedQuery("Requisicao.obterPorId"); query.setParameter("id", idRequisicao); return (Requisicao) query.getSingleResult(); } @SuppressWarnings("unchecked") @Override public List<Requisicao> obterPorAgenteCarga(AgenteCarga agente) { Query query = em.createNamedQuery("Requisicao.obterPorAgenteCarga"); query.setParameter("agente", agente); return (List<Requisicao>) query.getResultList(); } @SuppressWarnings("unchecked") @Override public List<Requisicao> recuperarTodos() { Query query = em.createNamedQuery("Requisicao.obterTodos"); return (List<Requisicao>) query.getResultList(); } @Override public List<Requisicao> filtrar(CriteriaQuery<Requisicao> consulta) { //TODO: Implement throw new NotImplementedException(); } @Override public Requisicao criarRequisicao() { //TODO: Implement throw new NotImplementedException(); } @Override public void salvarRequisicao(Requisicao requisicao) { //TODO: Implement throw new NotImplementedException(); } @Override public void atenderResquisicao(Requisicao requisicao) { requisicao.setRequisicaoAtendida(true); em.merge(requisicao); } }