/**
* Copyright (C) Intersect 2012.
*
* This module contains Proprietary Information of Intersect,
* and should be treated as Confidential.
*/
package au.org.intersect.exsite9.service;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import au.org.intersect.exsite9.dao.FieldOfResearchDAO;
import au.org.intersect.exsite9.dao.factory.FieldOfResearchDAOFactory;
import au.org.intersect.exsite9.domain.FieldOfResearch;
/**
* uses {@link FieldOfResearchDAO} to access the {@link FieldOfResearch}s in the database
*/
public final class FieldOfResearchService implements IFieldOfResearchService
{
private final EntityManagerFactory emf;
private final FieldOfResearchDAOFactory fieldOfResearchDAOFactory;
public FieldOfResearchService(final EntityManagerFactory entityManagerFactory, final FieldOfResearchDAOFactory fieldOfResearchDAOFactory)
{
this.emf = entityManagerFactory;
this.fieldOfResearchDAOFactory = fieldOfResearchDAOFactory;
}
/**
* @{inheritDoc}
*/
@Override
public List<FieldOfResearch> getAll()
{
final EntityManager em = this.emf.createEntityManager();
try
{
final FieldOfResearchDAO fieldOfResearchDAO = fieldOfResearchDAOFactory.createInstance(em);
return fieldOfResearchDAO.getAll();
}
finally
{
em.close();
}
}
}