package it.unisa.sesa.repominer.db; import it.unisa.sesa.repominer.db.entities.Import; import it.unisa.sesa.repominer.db.entities.Project; import it.unisa.sesa.repominer.db.entities.SourceContainer; import java.sql.Connection; import java.util.List; import net.sf.jeasyorm.EntityManager; public class SourceContainerDAO { /** * Returns all packages contained in project passed as parameter * * @param pProject * @return List of SourceContainer objects */ public List<SourceContainer> getPackages(Project pProject) { Connection connection = ConnectionPool.getInstance().getConnection(); EntityManager entityManager = EntityManager.getInstance(connection); List<SourceContainer> packages = entityManager .find(SourceContainer.class, "select source_containers.id, project, import_id, name from source_containers join import on import_id=import.id where project = ?", pProject.getId()); ConnectionPool.getInstance().releaseConnection(connection); return packages; } /** * Returns a single package picked by id * * @param pId * @return A SourceContainer object */ public SourceContainer getPackagesById(Integer pId) { Connection connection = ConnectionPool.getInstance().getConnection(); EntityManager entityManager = EntityManager.getInstance(connection); SourceContainer aPackage = entityManager.findUnique( SourceContainer.class, "where id = ?", pId); Import anImport = entityManager.load(Import.class, aPackage.getImportId()); aPackage.setName(anImport.getName()); ConnectionPool.getInstance().releaseConnection(connection); return aPackage; } }