package com.sap.pto.dao; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.NoResultException; import javax.persistence.NonUniqueResultException; import javax.persistence.TypedQuery; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.sap.pto.adapters.PersistenceAdapter; import com.sap.pto.dao.entities.Team; import com.sap.pto.dao.entities.TeamStat; public class TeamStatDAO extends BasicDAO<TeamStat> { private static final Logger logger = LoggerFactory.getLogger(TeamStatDAO.class); public static TeamStat getForTeam(Team team, String key) { EntityManager em = PersistenceAdapter.getEntityManager(); TeamStat user = getForTeam(team, key, em); return user; } public static TeamStat getForTeam(Team team, String key, EntityManager em) { try { return (TeamStat) em.createNamedQuery(TeamStat.QUERY_BYTEAMANDKEY).setParameter("team", team).setParameter("key", key) .getSingleResult(); } catch (NoResultException e) { return null; } catch (NonUniqueResultException e) { logger.error("TeamStat appears multiple times. This could mean database corruption. Fix immediately.", e); throw e; } } public static List<TeamStat> getForTeam(Team team) { EntityManager em = PersistenceAdapter.getEntityManager(); TypedQuery<TeamStat> query = em.createNamedQuery(TeamStat.QUERY_BYTEAM, TeamStat.class); query.setParameter("team", team); List<TeamStat> teamStats = query.getResultList(); return teamStats; } }