| package example.mysports.admin.services; |
| |
| import java.util.List; |
| |
| import javax.ejb.LocalBean; |
| import javax.ejb.Stateless; |
| import javax.persistence.EntityManager; |
| import javax.persistence.PersistenceContext; |
| |
| import example.mysports.admin.model.Datasource; |
| |
| /** |
| * Repository providing the admin application with read and write access for |
| * data source definitions. |
| * |
| * @author dclarke |
| * @since EclipseLInk 2.4 |
| */ |
| @Stateless |
| @LocalBean |
| public class DatasourceRepository { |
| |
| @PersistenceContext(unitName = "mysports-admin") |
| private EntityManager entityManager; |
| |
| public EntityManager getEntityManager() { |
| return entityManager; |
| } |
| |
| public void setEntityManager(EntityManager entityManager) { |
| this.entityManager = entityManager; |
| } |
| |
| // TODO: maintain a list versus query every time? |
| public List<Datasource> getDatasources() { |
| return getEntityManager().createNamedQuery("Datasource.all", Datasource.class).getResultList(); |
| } |
| |
| public void create(Datasource ds) { |
| getEntityManager().persist(ds); |
| } |
| |
| public void delete(Datasource ds) { |
| getEntityManager().remove(getEntityManager().merge(ds)); |
| } |
| |
| public Datasource get(String name) { |
| return getEntityManager().find(Datasource.class, name); |
| } |
| |
| public Datasource update(Datasource datasource) { |
| return getEntityManager().merge(datasource); |
| } |
| } |