View Javadoc

1   /*
2    * Criado em 29/04/2005
3    */
4   package ecar.dao;
5   
6   import javax.servlet.http.HttpServletRequest;
7   
8   import comum.database.Dao;
9   
10  import ecar.exception.ECARException;
11  import ecar.pojo.SegmentoItemFonteSgtif;
12  
13  /**
14   * @author felipev
15   */
16  public class SegmentoItemFonteDao extends Dao {
17    /**
18     * Construtor. Chama o Session factory do Hibernate
19     */
20    public SegmentoItemFonteDao(HttpServletRequest request) {
21      super();
22      this.request = request;
23    }
24  
25    /**
26     * Exclui uma fonte, verificando antes se ela possui relação com outras
27     * tabelas. Neste caso, não permite exclusão
28     * @param atributo
29     * @throws ECARException
30     */
31    public void excluir(SegmentoItemFonteSgtif fonte) throws ECARException {
32      try {
33        boolean excluir = true;
34  
35        if (contar(fonte.getSegmentoItemSgtis()) > 0) {
36          excluir = false;
37          throw new ECARException("fonte.exclusao.erro.segmentoItem");
38        }
39        if (excluir)
40          super.excluir(fonte);
41      } catch (ECARException e) {
42        this.logger.error(e);
43        throw e;
44      }
45    }
46  
47    /**
48     * Verifica duplicação depois salva
49     * @param fonte
50     * @throws ECARException
51     */
52    public void salvar(SegmentoItemFonteSgtif fonte) throws ECARException {
53      if (pesquisarDuplos(fonte, new String[] { "descricaoSgtif" }, "codSgtif").size() > 0)
54        throw new ECARException("fonte.validacao.registroDuplicado");
55      super.salvar(fonte);
56    }
57  
58    /**
59     * Verifica duplicação depois altera
60     * @param fonte
61     * @throws ECARException
62     */
63    public void alterar(SegmentoItemFonteSgtif fonte) throws ECARException {
64      if (pesquisarDuplos(fonte, new String[] { "descricaoSgtif" }, "codSgtif").size() > 0)
65        throw new ECARException("fonte.validacao.registroDuplicado");
66      super.alterar(fonte);
67    }
68  }