package gcom.gui.faturamento.conta; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.imovel.FiltroCategoria; import gcom.cadastro.imovel.FiltroSubCategoria; import gcom.cadastro.imovel.Subcategoria; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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; public class ExibirAdicionarCategoriaContaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("exibirAdicionarCategoriaConta"); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); //Carregar categorias if (sessao.getAttribute("colecaoAdicionarCategoria") == null){ FiltroCategoria filtroCategoria = new FiltroCategoria(FiltroCategoria.DESCRICAO); filtroCategoria.adicionarParametro(new ParametroSimples(FiltroCategoria.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoAdicionarCategoria = fachada.pesquisar(filtroCategoria, Categoria.class.getName()); if (colecaoAdicionarCategoria == null || colecaoAdicionarCategoria.isEmpty()){ throw new ActionServletException( "atencao.pesquisa.nenhum_registro_tabela", null, "CATEGORIA"); } // Disponibiliza a cole��o pela sess�o sessao.setAttribute("colecaoAdicionarCategoria", colecaoAdicionarCategoria); } /* * Colocado por Raphael Rossiter em 14/03/2007 * Objetivo: Carregar as subcategorias de acordo com as categorias */ String idCategoria = (String) httpServletRequest.getParameter("carregarSubcategoria"); if (idCategoria != null && !idCategoria.equalsIgnoreCase("")){ FiltroSubCategoria filtroSubCategoria = new FiltroSubCategoria(FiltroSubCategoria.DESCRICAO); filtroSubCategoria.adicionarParametro(new ParametroSimples(FiltroSubCategoria.CATEGORIA_ID, idCategoria)); filtroSubCategoria.adicionarParametro(new ParametroSimples(FiltroSubCategoria.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoAdicionarSubCategoria = fachada.pesquisar(filtroSubCategoria, Subcategoria.class.getName()); if (colecaoAdicionarSubCategoria == null || colecaoAdicionarSubCategoria.isEmpty()){ sessao.removeAttribute("colecaoSubCategoria"); throw new ActionServletException( "atencao.pesquisa.nenhum_registro_tabela", null, "SUBCATEGORIA"); } // Disponibiliza a cole��o pela sess�o sessao.setAttribute("colecaoAdicionarSubCategoria", colecaoAdicionarSubCategoria); } /* * Colocado por Raphael Rossiter em 14/03/2007 * Objetivo: Manipula��o dos objetos que ser�o exibidos no formul�rio de acordo com a empresa */ SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema(); // httpServletRequest.setAttribute("empresaNome", sistemaParametro.getNomeAbreviadoEmpresa().trim()); httpServletRequest.setAttribute("indicadorTarifaCategoria", sistemaParametro.getIndicadorTarifaCategoria().toString()); return retorno; } }