blob: 59e69dcd7f251164f37b0b874e81caa3871012f3 [file] [log] [blame]
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);
}
}