package gcom.gui.operacional; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.operacional.DistritoOperacional; import gcom.operacional.FiltroDistritoOperacional; import gcom.operacional.ZonaPressao; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; 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 AtualizarZonaPressaoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o caminho de retorno ActionForward retorno = actionMapping.findForward("telaSucesso"); // Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); // Mudar isso quando for implementado o esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); AtualizarZonaPressaoActionForm atualizarZonaPressaoActionForm = (AtualizarZonaPressaoActionForm) actionForm; ZonaPressao zonaPressao = (ZonaPressao) sessao.getAttribute("atualizarZonaPressao"); Collection colecaoPesquisa = null; String descricaoZonaPressao = atualizarZonaPressaoActionForm.getDescricao(); String descricaoAbreviadaZonaPressao = atualizarZonaPressaoActionForm.getDescricaoAbreviada(); String indicadordeUso = atualizarZonaPressaoActionForm.getIndicadorUso(); String distritoOperacionalID = atualizarZonaPressaoActionForm.getDistritoOperacionalID(); //Distrito Operacional � obrigat�rio. if (distritoOperacionalID == null || distritoOperacionalID.equalsIgnoreCase("")) { throw new ActionServletException("atencao.required", null, "Distrito Operacional"); } FiltroDistritoOperacional filtroDistritoOperacional = new FiltroDistritoOperacional(); filtroDistritoOperacional.adicionarParametro(new ParametroSimples( FiltroDistritoOperacional.ID, distritoOperacionalID)); filtroDistritoOperacional.adicionarParametro(new ParametroSimples( FiltroDistritoOperacional.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); //Retorna distrito Operacional colecaoPesquisa = fachada.pesquisar(filtroDistritoOperacional, DistritoOperacional.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.distrito_operacional_inexistente"); } zonaPressao.setDescricaoZonaPressao(atualizarZonaPressaoActionForm.getDescricao()); zonaPressao.setDescricaoAbreviada(atualizarZonaPressaoActionForm.getDescricaoAbreviada()); zonaPressao.setIndicadorUso(new Short (atualizarZonaPressaoActionForm.getIndicadorUso())); DistritoOperacional distritoOperacional = new DistritoOperacional(); distritoOperacional.setId(new Integer(atualizarZonaPressaoActionForm.getDistritoOperacionalID())); zonaPressao.setDistritoOperacional(distritoOperacional); zonaPressao.setDescricaoZonaPressao(descricaoZonaPressao); // Caso n�o tenha sido preenchida a Descri��o Abreviada, no banco ficar� null if(atualizarZonaPressaoActionForm.getDescricaoAbreviada() != null && !atualizarZonaPressaoActionForm.getDescricaoAbreviada().equals("")){ zonaPressao.setDescricaoAbreviada(descricaoAbreviadaZonaPressao); } else { zonaPressao.setDescricaoAbreviada(null); } // Seta a data da altera��o zonaPressao.setUltimaAlteracao( new Date() ); // Seta o Indicador de Uso zonaPressao.setIndicadorUso( new Short(indicadordeUso)); fachada.atualizar(zonaPressao); montarPaginaSucesso(httpServletRequest, "Zona de Press�o " + atualizarZonaPressaoActionForm.getId().toString() + " atualizado com sucesso.", "Realizar outra Manuten��o de Zona de Press�o ", "exibirFiltrarZonaPressaoAction.do?menu=sim"); return retorno; } }