View Javadoc

1   /*
2    * Created on 18/09/2004
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.SubAreaSare;
12  
13  /**
14   * @author evandro
15   * @author felipe
16   */
17  public class SubAreaDao extends Dao {
18  
19    /**
20     * Construtor. Chama o Session factory do Hibernate
21     */
22    public SubAreaDao(HttpServletRequest request) {
23      super();
24      this.request = request;
25    }
26  
27    /**
28     * Utiliza o método excluir da classe Dao realizando antes validações de
29     * relacionamento da sub área com registros em outras tabelas.
30     * @param situacao
31     * @throws ECARException
32     */
33    public void excluir(SubAreaSare subArea) throws ECARException {
34      try {
35        boolean excluir = true;
36        if (contar(subArea.getItemEstruturaIetts()) > 0) {
37          excluir = false;
38          throw new ECARException("areas.exclusao.erro.itemEstruturaIetts");
39        }
40        if (excluir)
41          super.excluir(subArea);
42      } catch (ECARException e) {
43        this.logger.error(e);
44        throw new ECARException(e);
45      }
46    }
47  
48    /**
49     * Verifica duplicação depois salva
50     * @param subArea
51     * @throws ECARException
52     */
53    public void salvar(SubAreaSare subArea) throws ECARException {
54      if (subArea.getCodigoIdentSare() != null)
55        if (pesquisarDuplos(subArea, new String[] { "codigoIdentSare" }, "codSare").size() > 0)
56          throw new ECARException("subArea.validacao.registroDuplicado");
57      super.salvar(subArea);
58    }
59  
60    /**
61     * Verifica duplicação depois altera
62     * @param subArea
63     * @throws ECARException
64     */
65    public void alterar(SubAreaSare subArea) throws ECARException {
66      if (subArea.getCodigoIdentSare() != null)
67        if (pesquisarDuplos(subArea, new String[] { "codigoIdentSare" }, "codSare").size() > 0)
68          throw new ECARException("subArea.validacao.registroDuplicado");
69      super.alterar(subArea);
70    }
71  }