View Javadoc

1   /*
2    * Created on 01/12/2004
3    */
4   package ecar.dao;
5   
6   import java.util.ArrayList;
7   import java.util.List;
8   
9   import javax.servlet.http.HttpServletRequest;
10  
11  import comum.database.Dao;
12  
13  import ecar.exception.ECARException;
14  import ecar.pojo.OpcaoOpc;
15  import ecar.pojo.PerfilPfl;
16  
17  /**
18   * @author evandro
19   */
20  public class PerfilDao extends Dao {
21  
22    /**
23     * Construtor. Chama o Session factory do Hibernate
24     */
25    public PerfilDao(HttpServletRequest request) {
26      super();
27      this.request = request;
28    }
29  
30    /**
31     * Verifica depois exclui
32     * @param perfil
33     * @throws ECARException
34     */
35    public void excluir(PerfilPfl perfil) throws ECARException {
36      try {
37        boolean excluir = true;
38        if (contar(perfil.getOpcaoPerfilOpcps()) > 0) {
39          excluir = false;
40          throw new ECARException("perfil.exclusao.erro.opcaoPerfilOpcps");
41        }
42  
43        if (excluir)
44          super.excluir(perfil);
45      } catch (ECARException e) {
46        this.logger.error(e);
47        throw e;
48      }
49    }
50  
51    /**
52     * Lista Opções possíveis de serem incluídas no perfil excluindo as que já
53     * estão relacionadas a ele
54     */
55    public List getOpcoesDisponiveis(PerfilPfl perfil) throws ECARException {
56      List opcoes = new ArrayList();
57  
58      if (perfil != null) {
59        try {
60          opcoes = this.listar(OpcaoOpc.class, new String[] { "descricaoOpc", "asc" });
61          opcoes.removeAll(perfil.getOpcaoPerfilOpcps());
62        } catch (ECARException e) {
63          this.logger.error(e);
64          throw e;
65        }
66      }
67      return opcoes;
68    }
69  }