package gcom.operacional; import gcom.util.ErroRepositorioException; import gcom.util.HibernateUtil; import java.util.Collection; import org.hibernate.HibernateException; import org.hibernate.Session; /** * Repositorio para modulo operacional * * @author Rafael Pinto * @since 15/10/2008 */ public class RepositorioOperacionalHBM implements IRepositorioOperacional { private static IRepositorioOperacional instancia; /** * Construtor da classe RepositorioMicromedicaoHBM */ private RepositorioOperacionalHBM() { } /** * Retorna o valor de instancia * * @return O valor de instancia */ public static IRepositorioOperacional getInstancia() { if (instancia == null) { instancia = new RepositorioOperacionalHBM(); } return instancia; } /** * [UC0596] - Inserir Qualidade de agua * * Pesquisa as fonte de captacao apatir da tabela de SetorFonteCaptacao * * @author Rafael Pinto * @date 15/10/2008 * * @param Collection colecaoSetorComercial * @throws ErroRepositorioException */ public Collection<FonteCaptacao> pesquisarFonteCaptacao(Collection colecaoSetorComercial) throws ErroRepositorioException { Session session = HibernateUtil.getSession(); String consulta; Collection<FonteCaptacao> retornoConsulta = null; try { consulta = "SELECT distinct fonte " + "from SetorFonteCaptacao setorFonte " + "inner join setorFonte.comp_id.fonteCaptacao fonte " + "left join setorFonte.comp_id.setorComercial setor " + "where setor.id in (:colecaoSetor)"; retornoConsulta = (Collection<FonteCaptacao>) session.createQuery(consulta). setParameterList("colecaoSetor", colecaoSetorComercial).list(); } catch (HibernateException e) { e.printStackTrace(); throw new ErroRepositorioException("Erro no Hibernate"); } finally { HibernateUtil.closeSession(session); } return retornoConsulta; } }