View Javadoc

1   /*
2    * Criado em 20/04/2005
3    */
4   package ecar.dao;
5   
6   import java.util.ArrayList;
7   import java.util.Collection;
8   import java.util.Iterator;
9   import java.util.List;
10  
11  import javax.servlet.http.HttpServletRequest;
12  
13  import org.hibernate.HibernateException;
14  
15  import comum.database.Dao;
16  import comum.util.Data;
17  import comum.util.Pagina;
18  
19  import ecar.exception.ECARException;
20  import ecar.pojo.Cor;
21  import ecar.pojo.ItemEstrutMarcadorIettm;
22  import ecar.pojo.ItemEstruturaIett;
23  import ecar.pojo.UsuarioUsu;
24  
25  /**
26   * @author felipev
27   */
28  public class ItemEstrutMarcadorDao extends Dao {
29  
30    public ItemEstrutMarcadorDao(HttpServletRequest request) {
31      super();
32      this.request = request;
33    }
34  
35    /**
36     * Cria um objeto itemEstrutMarcador a partir de parâmetros passados no objeto
37     * request
38     * @param request
39     * @param itemEstruturaMarcador
40     * @throws ECARException
41     */
42    public void setItemEstrutMarcador(HttpServletRequest request, ItemEstrutMarcadorIettm itemEstruturaMarcador) throws ECARException {
43      ItemEstruturaIett itemEstrutura = (ItemEstruturaIett) this.buscar(ItemEstruturaIett.class, Long.valueOf(Pagina.getParamStr(request, "codIett")));
44      itemEstruturaMarcador.setItemEstruturaIett(itemEstrutura);
45      if (!"".equals(Pagina.getParamStr(request, "codCor")))
46        itemEstruturaMarcador.setCor((Cor) this.buscar(Cor.class, Long.valueOf(Pagina.getParamStr(request, "codCor"))));
47      else
48        itemEstruturaMarcador.setCor(null);
49      itemEstruturaMarcador.setDescricaoIettm(Pagina.getParamStr(request, "descricao"));
50      itemEstruturaMarcador.setUsuarioUsu((UsuarioUsu) this.buscar(UsuarioUsu.class, Long.valueOf(Pagina.getParamStr(request, "codUsu"))));
51  
52    }
53  
54    /**
55     * @param itemEstruturaMarcador
56     * @throws ECARException
57     */
58    public void salvar(ItemEstrutMarcadorIettm itemEstruturaMarcador) throws ECARException {
59      itemEstruturaMarcador.setDataInclusaoIettm(Data.getDataAtual());
60      super.salvar(itemEstruturaMarcador);
61    }
62  
63    /**
64     * Retorna uma lista com todos os marcadores de um item feitos por um usuário
65     * @param item
66     * @param usuario
67     * @return
68     * @throws ECARException
69     */
70    public Collection getMarcadoresByUsuario(ItemEstruturaIett item, UsuarioUsu usuario) throws ECARException {
71      List retorno = new ArrayList();
72      try {
73  
74        Iterator itIettms = item.getItemEstrutMarcadorIettms().iterator();
75  
76        while (itIettms.hasNext()) {
77          ItemEstrutMarcadorIettm itemEstrutMarcadorIettm = (ItemEstrutMarcadorIettm) itIettms.next();
78          if (itemEstrutMarcadorIettm.getUsuarioUsu().equals(usuario)) {
79            retorno.add(itemEstrutMarcadorIettm);
80          }
81  
82        }
83  
84        return retorno;
85  
86        // return this.getSession().
87        // createFilter(item.getItemEstrutMarcadorIettms(),
88        // "where this.usuarioUsu = " + usuario.getCodUsu() +
89        // " order by this.dataInclusaoIettm desc").list();
90      } catch (HibernateException e) {
91        this.logger.error(e);
92        throw new ECARException(e);
93      }
94    }
95  
96    /**
97     * Retorna o ultimo marcador de um item para um usuário, se não existirem
98     * marcadores, retorna null
99     * @param item
100    * @return ItemEstrutMarcadorIettm
101    */
102   public ItemEstrutMarcadorIettm getUltimoMarcador(ItemEstruturaIett item, UsuarioUsu usuario) throws ECARException {
103     if (item.getItemEstrutMarcadorIettms().size() == 0)
104       return null;
105     else {
106       Collection marcadores = this.getMarcadoresByUsuario(item, usuario);
107       if (marcadores != null && !marcadores.isEmpty()) {
108         return (ItemEstrutMarcadorIettm) marcadores.iterator().next();
109       }
110       else
111         return null;
112     }
113   }
114 
115   /**
116    * Recebe um array de códigos de ItemEstrutMArcador e exclui os registros
117    * referenciados por estes códigos
118    * @param codigosParaExcluir
119    * @param codItemEstrutura
120    * @throws ECARException
121    */
122   public void excluir(String[] codigosParaExcluir) throws ECARException {
123     List excluir = new ArrayList();
124     for (int i = 0; i < codigosParaExcluir.length; i++) {
125       ItemEstrutMarcadorIettm itemEstrutMarcador = (ItemEstrutMarcadorIettm) this.buscar(ItemEstrutMarcadorIettm.class, Long.valueOf(codigosParaExcluir[i]));
126       excluir.add(itemEstrutMarcador);
127     }
128     super.excluir(excluir);
129   }
130 }