package gcom.gui.util.tabelaauxiliar.unidade;
import java.util.Collection;
import gcom.atendimentopublico.ordemservico.FiltroMaterialUnidade;
import gcom.atendimentopublico.ordemservico.MaterialUnidade;
import gcom.fachada.Fachada;
import gcom.gui.ActionServletException;
import gcom.gui.GcomAction;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
* Descri��o da classe
*
* @author R�mulo Aur�lio
* @date 02/08/2006
*/
public class ExibirPesquisarTabelaAuxiliarUnidadeAction extends GcomAction {
/**
* < <Descri��o do m�todo>>
*
* @param actionMapping
* Descri��o do par�metro
* @param actionForm
* Descri��o do par�metro
* @param httpServletRequest
* Descri��o do par�metro
* @param httpServletResponse
* Descri��o do par�metro
* @return Descri��o do retorno
*/
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward retorno = actionMapping
.findForward("pesquisarTabelaAuxiliarUnidade");
Fachada fachada = Fachada.getInstancia();
// Mudar isso quando tiver esquema de seguran�a
HttpSession sessao = httpServletRequest.getSession(false);
// Pega o parametro passado no request
String tela = httpServletRequest.getParameter("tela");
// Pega o par�metro que indica se a pesquisa � do tipo que fecha o popup
// de pesquisa e retorna os dados (indicado pela aus�ncia de par�metro)
// ou do tipo que � acionado a partir de um popup
String tipoPesquisa = httpServletRequest.getParameter("tipoPesquisa");
String caminhoRetorno = httpServletRequest
.getParameter("caminhoRetorno");
// Repassa o tipo da pesquisa para a p�gina
httpServletRequest.setAttribute("tipoPesquisa", tipoPesquisa);
// Repassa o caminho do retorno para a p�gina
httpServletRequest.setAttribute("caminhoRetorno", caminhoRetorno);
// Busca na classe DadosTelaTabelaAuxiliarAbreviada pela configura��o da
// tela requisitada
DadosTelaTabelaAuxiliarUnidade dados = DadosTelaTabelaAuxiliarUnidade
.obterDadosTelaTabelaAuxiliarAbreviada(tela);
FiltroMaterialUnidade filtroMaterialUnidade = new FiltroMaterialUnidade();
// Verifica se os dados foram informados da tabela existem e joga numa
// colecao
Collection<MaterialUnidade> colecaoUnidadeMaterial = fachada.pesquisar(
filtroMaterialUnidade, MaterialUnidade.class.getName());
if (colecaoUnidadeMaterial == null || colecaoUnidadeMaterial.isEmpty()) {
throw new ActionServletException(
"atencao.entidade_sem_dados_para_selecao", null,
"Tabela Material Unidade");
}
httpServletRequest.setAttribute("colecaoUnidadeMaterial",
colecaoUnidadeMaterial);
sessao.setAttribute("dados", dados);
return retorno;
}
}