package gcom.gui.cadastro.imovel; import gcom.cadastro.cliente.FiltroClienteTipo; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.imovel.CategoriaTipo; import gcom.cadastro.imovel.FiltroCategoria; import gcom.cadastro.imovel.FiltroCategoriaTipo; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.List; 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 ExibirAtualizarCategoriaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("atualizarCategoria"); CategoriaActionForm categoriaActionForm = (CategoriaActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); //Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); String codigoCategoria = httpServletRequest.getParameter("idRegistroAtualizacao"); if (codigoCategoria == null){ if (httpServletRequest.getAttribute("idRegistroAtualizacao") == null){ codigoCategoria = (String) sessao.getAttribute("codigoCategoria"); }else{ codigoCategoria = (String) httpServletRequest.getAttribute("idRegistroAtualizacao").toString(); } } else { sessao.setAttribute("i", true); } //Verifica se o c�digo foi digitado if (codigoCategoria != null && !codigoCategoria.trim().equals("") && Integer.parseInt(codigoCategoria) > 0) { // Pesquisa os Tipos de Categoria FiltroCategoriaTipo filtroCategoriaTipo = new FiltroCategoriaTipo(); filtroCategoriaTipo.setCampoOrderBy(FiltroClienteTipo.DESCRICAO); httpServletRequest.setAttribute("colecaoTipoCategoria", Fachada .getInstancia().pesquisar(filtroCategoriaTipo, CategoriaTipo.class.getName())); FiltroCategoria filtroCategoria = new FiltroCategoria(); filtroCategoria.adicionarCaminhoParaCarregamentoEntidade("categoriaTipo"); filtroCategoria.adicionarParametro(new ParametroSimples( FiltroCategoria.CODIGO, codigoCategoria)); Collection categorias = fachada.pesquisar(filtroCategoria, Categoria.class .getName()); if (categorias != null && !categorias.isEmpty()) { //A categoria foi encontrada categoriaActionForm .setIdCategoria(formatarResultado(((Categoria) ((List) categorias) .get(0)).getId().toString())); categoriaActionForm .setDescricao(formatarResultado(((Categoria) ((List) categorias) .get(0)).getDescricao().toString())); categoriaActionForm .setDescricaoAbreviada(formatarResultado(((Categoria) ((List) categorias) .get(0)).getDescricaoAbreviada().toString())); categoriaActionForm .setConsumoMinimo(formatarResultado(((Categoria) ((List) categorias).get(0)) .getConsumoMinimo().toString())); categoriaActionForm .setConsumoEstouro(formatarResultado(((Categoria) ((List) categorias).get(0)) .getConsumoEstouro().toString())); categoriaActionForm .setVezesMediaEstouro(formatarResultado(((Categoria) ((List) categorias).get(0)) .getVezesMediaEstouro().toString().replace('.',','))); categoriaActionForm .setMediaBaixoConsumo(formatarResultado(((Categoria) ((List) categorias).get(0)) .getMediaBaixoConsumo().toString())); categoriaActionForm .setPorcentagemMediaBaixoConsumo(Util.formatarMoedaReal(((Categoria) ((List) categorias).get(0)) .getPorcentagemMediaBaixoConsumo())); categoriaActionForm .setConsumoAlto(formatarResultado(((Categoria) ((List) categorias).get(0)) .getConsumoAlto().toString())); categoriaActionForm .setVezesMediaAltoConsumo(formatarResultado(((Categoria) ((List) categorias).get(0)) .getVezesMediaAltoConsumo().toString().replace('.',','))); categoriaActionForm .setIndicadorUso(formatarResultado("" + ((Categoria) ((List) categorias).get(0)) .getIndicadorUso())); categoriaActionForm .setTipoCategoria("" + ((Categoria) ((List) categorias).get(0)).getCategoriaTipo().getId()); Categoria categoria = ((Categoria) ((List) categorias).get(0)); sessao.setAttribute("categoria", categoria); } else { categoriaActionForm.setIdCategoria(""); httpServletRequest.setAttribute("idCategoriaNaoEncontrado","true"); throw new ActionServletException( "atencao.categoria_inexistente", null, "categoria"); } } return retorno; } /** * formatarResultado * * @param parametro * Descri��o do par�metro * @return Descri��o do retorno */ private String formatarResultado(String parametro) { if (parametro != null && !parametro.trim().equals("")) { if (parametro.equals("null")) { return ""; } else { return parametro.trim(); } } else { return ""; } } }