package gcom.gui.cadastro.imovel; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.imovel.FiltroCategoria; import gcom.cadastro.imovel.FiltroSubCategoria; import gcom.cadastro.imovel.Subcategoria; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; 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; /** * Action respons�vel pela pre-exibi��o da pagina de atualizar subcategoria * * [UC0059] Atualizar Subcategoria * * @author Fernanda Paiva * @date 04/01/2005 */ public class ExibirAtualizarSubcategoriaAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("atualizarSubcategoria"); FiltrarSubcategoriaActionForm filtrarSubcategoriaActionForm = (FiltrarSubcategoriaActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); // Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); String codigoSubcategoria = httpServletRequest .getParameter("idRegistroAtualizacao"); if (codigoSubcategoria == null){ if (httpServletRequest.getAttribute("idRegistroAtualizacao") == null){ codigoSubcategoria = (String) sessao.getAttribute("codigoSubcategoria"); }else{ codigoSubcategoria = (String) httpServletRequest.getAttribute("idRegistroAtualizacao").toString(); } } else { sessao.setAttribute("i", true); } sessao.setAttribute("codigoSubcategoria", codigoSubcategoria); FiltroCategoria filtroCategoria = new FiltroCategoria(); filtroCategoria.adicionarParametro(new ParametroSimples(FiltroCategoria.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection<Categoria> collectionImovelCategoria = fachada.pesquisar( filtroCategoria, Categoria.class.getName()); httpServletRequest.setAttribute("collectionImovelCategoria", collectionImovelCategoria); // ------Inicio da parte que verifica se vem da p�gina de manter_subcategoria.jsp if (codigoSubcategoria != null && !codigoSubcategoria.equals("")) { FiltroSubCategoria filtroSubcategoria = new FiltroSubCategoria(); filtroSubcategoria.adicionarParametro(new ParametroSimples( FiltroSubCategoria.ID, codigoSubcategoria)); // Informa ao filtro para ele buscar objetos associados a Subcategoria filtroSubcategoria .adicionarCaminhoParaCarregamentoEntidade("categoria"); Collection subcategorias = fachada.pesquisar(filtroSubcategoria, Subcategoria.class.getName()); if (subcategorias != null && !subcategorias.isEmpty()) { // A subcategoria foi encontrada filtrarSubcategoriaActionForm .setIdCategoria(formatarResultado(((Subcategoria) ((List) subcategorias) .get(0)).getCategoria().getId().toString())); filtrarSubcategoriaActionForm .setCodigoSubcategoria(formatarResultado("" + ((Subcategoria) ((List) subcategorias).get(0)) .getCodigo())); filtrarSubcategoriaActionForm .setDescricaoSubcategoria(formatarResultado(((Subcategoria) ((List) subcategorias) .get(0)).getDescricao())); filtrarSubcategoriaActionForm .setDescricaoAbreviada(formatarResultado("" + ((Subcategoria) ((List) subcategorias).get(0)) .getDescricaoAbreviada())); filtrarSubcategoriaActionForm .setCodigoTarifaSocial(formatarResultado("" + ((Subcategoria) ((List) subcategorias).get(0)) .getCodigoTarifaSocial())); filtrarSubcategoriaActionForm .setCodigoGrupoSubcategoria(formatarResultado("" + ((Subcategoria) ((List) subcategorias).get(0)) .getCodigoGrupoSubcategoria())); filtrarSubcategoriaActionForm .setNumeroFatorFiscalizacao(formatarResultado("" + ((Subcategoria) ((List) subcategorias).get(0)) .getNumeroFatorFiscalizacao())); filtrarSubcategoriaActionForm .setIndicadorTarifaConsumo(formatarResultado("" + ((Subcategoria) ((List) subcategorias).get(0)) .getIndicadorTarifaConsumo())); filtrarSubcategoriaActionForm .setIndicadorSazonalidade(formatarResultado("" + ((Subcategoria) ((List) subcategorias).get(0)) .getIndicadorSazonalidade())); filtrarSubcategoriaActionForm .setIndicadorUso(formatarResultado("" + ((Subcategoria) ((List) subcategorias).get(0)) .getIndicadorUso())); filtrarSubcategoriaActionForm.setIdSubcategoria(codigoSubcategoria); Subcategoria subcategoria = ((Subcategoria) ((List) subcategorias) .get(0)); sessao.setAttribute("subcategoria", subcategoria); sessao.setAttribute("filtrarSubcategoriaActionForm", filtrarSubcategoriaActionForm); } } // ------Fim da parte que verifica se vem da p�gina de // manter_subcategoria.jsp // caso ainda n�o tenha sido setado o nome campo(na primeira vez) if (httpServletRequest.getParameter("manter") != null){ sessao.setAttribute("manter", "manter"); } return retorno; } /** * Formata o resultado * * @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 ""; } } }