Package ecar.popup

Source Code of ecar.popup.PopUpRegDemanda

/*
* Created on 14/12/2004
*
* Classe que implementa a interface PopUpPesquisa que � utilizada pelo template jsp
* popup_pesquisa.jsp
*
* O template instancia essa classe utilizando os m�todos definidos na interface.
* Assim o template pode ser usado para pesquisar e navegar em v�rias classes sem
* precisar escrever um jsp espec�fico para cada um.
* Basta criar uma classe que implementa a interface PopUpPesquisa e pass�-la como
* par�matro no momento de chamar a tela de pesquisa
*
* A tela de pesquisa sempre retorna um c�digo e uma descri��o do que foi selecionado.
*
*/
package ecar.popup;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import javax.servlet.http.HttpServletRequest;

import comum.database.Dao;
import comum.util.Pagina;

import ecar.dao.AtributoDemandaDao;
import ecar.dao.RegDemandaDao;
import ecar.dao.VisaoDao;
import ecar.exception.ECARException;
import ecar.pojo.EntidadeEnt;
import ecar.pojo.RegDemandaRegd;
import ecar.pojo.UsuarioUsu;
import ecar.pojo.VisaoDemandasVisDem;

/**
* @author garten
*
*/
public class PopUpRegDemanda implements PopUpPesquisa {
   

    // array de nomes de campos em que pode pesquisar
    private String[] pesquisarEm;
   
    // declare o seu pojo e o Dao aqui
    private RegDemandaRegd pojo;
    private RegDemandaDao dao;
   
    private List objetosIgnorados;
   
    private Set gruposAcesso = null;
   
    private VisaoDemandasVisDem visaoDemandasVisDem = null;
   
    private List visoesAcesso = null;
   
    private UsuarioUsu usuario = null;
   
    private final String descricaoRegd = "descricaoRegd";
   
    private final String entidade = "entidadeDemandaEntds";
   
    private final String nomeSolicitanteRegd= "nomeSolicitanteRegd";
   
    private AtributoDemandaDao atributoDemandaDao = null;
   
   
  /**
     *
     */
    public PopUpRegDemanda() throws ECARException{
        pojo = new RegDemandaRegd();
        dao = new RegDemandaDao(null);
        atributoDemandaDao = new AtributoDemandaDao(null);
        this.setPesquisarEm(new String[] {atributoDemandaDao.getLabelAtributoDemandaFixo(descricaoRegd),
                          "Sigla " + atributoDemandaDao.getLabelAtributoDemandaFixo(entidade),
                          "Nome " + atributoDemandaDao.getLabelAtributoDemandaFixo(entidade),
                          atributoDemandaDao.getLabelAtributoDemandaFixo(nomeSolicitanteRegd)});
    }
   
    /**
     *
     * @param request
     */
    public PopUpRegDemanda(HttpServletRequest request) throws ECARException{
        pojo = new RegDemandaRegd();
        dao = new RegDemandaDao(request);
        atributoDemandaDao = new AtributoDemandaDao(null);
        this.setPesquisarEm(new String[] {atributoDemandaDao.getLabelAtributoDemandaFixo(descricaoRegd),
                          "Sigla " + atributoDemandaDao.getLabelAtributoDemandaFixo(entidade),
                          "Nome " + atributoDemandaDao.getLabelAtributoDemandaFixo(entidade),
                          atributoDemandaDao.getLabelAtributoDemandaFixo(nomeSolicitanteRegd)});
    }
   
    /**
     * Devolve para o template jsp o Dao.<br>
     *
     * @author N/C
     * @since N/C
     * @version N/C
     * @return Dao
     * @see ecar.popup.PopUpPesquisa#getDao()
     */
    public Dao getDao() {
        return dao;
    }
   
    /**
     * Retorna String "Demanda".<br>
     *
     * @author N/C
     * @since N/C
     * @version N/C
     * @return String
     */
    public String getTitulo(){
        return "Demanda";
    }

    /**
     * Recebe o argumento de pesquisa do template jsp e seta nos respectivos campos.<br>
     * String arg - a string do argumento d pesquisa.<br>
     * String[] pesquisarEm um array de string com os nomes dos campos que devem ser pesquisados.<br>
     *
     * @param request
     * @author N/C
     * @since N/C
     * @version N/C
     * @throws ECARException
     */
    public void setArgPesquisa(HttpServletRequest request) throws ECARException{
      String arg = Pagina.getParam(request, "hidArg");
        String[] pesquisarEm = request.getParameterValues("hidPesquisarEm");
       
        if(request.getSession().getAttribute("objetosIgnorados") != null)
          objetosIgnorados = new ArrayList((List)request.getSession().getAttribute("objetosIgnorados"));
       
        if (request.getSession().getAttribute("gruposAcesso") != null){
         
          gruposAcesso = (Set) request.getSession().getAttribute("gruposAcesso");
        }
       
        if (request.getSession().getAttribute("usuario") != null){
         
          usuario = (UsuarioUsu) request.getSession().getAttribute("usuario");
        }
             
        VisaoDao visaoDao = new VisaoDao(request);
       
        if (pesquisarEm != null) {
          EntidadeEnt entidade = null;
          for (int i = 0; i < pesquisarEm.length; i++) {
              if ("0".equals(pesquisarEm[i])) {
                  pojo.setDescricaoRegd(arg);
              } else if ("1".equals(pesquisarEm[i])) {
                entidade = new EntidadeEnt();
                entidade.setSiglaEnt(arg);
              } else if ("2".equals(pesquisarEm[i])) {
                if (entidade == null) {
                  entidade = new EntidadeEnt();
                }
                entidade.setNomeEnt(arg);
              } else if ("3".equals(pesquisarEm[i])){
                pojo.setNomeSolicitanteRegd(arg);
              }
          }
          if (entidade != null) {
            pojo.setEntidadeDemandaEntds(new HashSet());
            pojo.getEntidadeDemandaEntds().add(entidade);
          }
                   
        }
        visoesAcesso = new ArrayList();
        if (request.getSession().getAttribute("visoesAcesso") != null){
         
          visoesAcesso = (List) request.getSession().getAttribute("visoesAcesso");
        } else if (visaoDemandasVisDem == null && request.getSession().getAttribute("visaoDemandasVisDem") != null){
          visaoDemandasVisDem = (VisaoDemandasVisDem) request.getSession().getAttribute("visaoDemandasVisDem");
          visoesAcesso.add(visaoDemandasVisDem);
        }
    }

    /**
     * Metodo que efetua pesquisa de demandas.<br>
    
     * @author N/C
     * @since N/C
     * @version N/C
     * @return List
     * @throws ECARException
     */
    public List pesquisar() throws ECARException {
        List<RegDemandaRegd> demandas = dao.pesquisarPopUpRegDemanda(pojo, gruposAcesso, usuario, visoesAcesso);
        // N�O EST� SENDO LEVADO EM CONSIDERA��O SE A DEMANDA EST� INATIVA OU N�O
        if(demandas != null){
          Iterator<RegDemandaRegd> it = demandas.iterator();
          while(it.hasNext()){
            RegDemandaRegd d = (RegDemandaRegd) it.next();
            if((objetosIgnorados != null && objetosIgnorados.contains(d)) || "N".equals(d.getIndAtivoRegd()))
              it.remove();
          }
        }
        return demandas;
    }
   
    /**
     * Devolve para o template o codigo do radio button.<br>
     *
     * @author N/C
     * @since N/C
     * @version N/C
     * @return String
     */
    public String getCodigo() {
        return pojo.getCodRegd().toString();
    }
   
    /**
     * Devolve para o template a descricao.<br>
     *
     * @author N/C
     * @since N/C
     * @version N/C
     * @return String
     */
    public String getDescricao() {
        return pojo.getDescricaoRegd();
    }
   
    /**
     * Recebe um objeto do template.<br>
     *
     * @param o
     * @author N/C
     * @since N/C
     * @version N/C
     */
    public void setPojo(Object o) {
        pojo = (RegDemandaRegd) o;
    }

    /**
     * Retorna para o template um array com os nomes para montar os checkbox.<br>
     *
     * @author N/C
     * @since N/C
     * @version N/C
     * @return String[] - (Returns the pesquisarEm)
     */
    public String[] getPesquisarEm() {
        return pesquisarEm;
    }

    /**
     * Atribui internamente um array com os campos possiveis para a pesquisa.<br>
     *
     * @author N/C
     * @since N/C
     * @version N/C
     * @param String[] pesquisarEm (The pesquisarEm to set)
     */
    private void setPesquisarEm(String[] pesquisarEm) {
        this.pesquisarEm = pesquisarEm;
    }
}
TOP

Related Classes of ecar.popup.PopUpRegDemanda

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.