package br.com.centralit.citcorpore.ajaxForms; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import br.com.centralit.bpm.dto.FluxoDTO; import br.com.centralit.bpm.servico.FluxoService; import br.com.centralit.citajax.html.AjaxFormAction; import br.com.centralit.citajax.html.DocumentHTML; import br.com.centralit.citajax.html.HTMLForm; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.centralit.citcorpore.util.WebUtil; import br.com.citframework.service.ServiceLocator; import br.com.citframework.util.Constantes; public class CadastroFluxo extends AjaxFormAction { @Override public Class<FluxoDTO> getBeanClass() { return FluxoDTO.class; } private FluxoService fluxoService; private FluxoService getFluxoService() throws Exception { if (fluxoService == null) { fluxoService = (FluxoService) ServiceLocator.getInstance().getService(FluxoService.class, null); } return fluxoService; } @Override public void load(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final UsuarioDTO usuario = WebUtil.getUsuario(request); if (usuario == null) { document.alert("Sess�o expirada! Favor efetuar logon novamente!"); document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'"); return; } final FluxoDTO fluxoDto = (FluxoDTO) document.getBean(); if (fluxoDto.getIdFluxo() != null) { this.restore(document, request, response); } } public void save(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { FluxoDTO fluxoDto = (FluxoDTO) document.getBean(); String variaveis = fluxoDto.getVariaveis(); variaveis = variaveis.replaceAll("\n", ";"); fluxoDto.setVariaveis(variaveis); if (fluxoDto.getIdFluxo() == null || fluxoDto.getIdFluxo().intValue() == 0) { fluxoDto = (FluxoDTO) this.getFluxoService().create(fluxoDto); } else { this.getFluxoService().update(fluxoDto); } document.alert("Registro gravado com sucesso"); document.executeScript("parent.atualizar(" + fluxoDto.getIdFluxo() + ");"); } public void restore(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { FluxoDTO fluxoDto = (FluxoDTO) document.getBean(); fluxoDto = (FluxoDTO) this.getFluxoService().restore(fluxoDto); if (fluxoDto.getDataFim() != null) { fluxoDto = this.getFluxoService().findByTipoFluxo(fluxoDto.getIdTipoFluxo()); } if (fluxoDto != null) { if (fluxoDto.getVariaveis() != null) { String variaveis = fluxoDto.getVariaveis(); variaveis = variaveis.replaceAll(";", "\n"); fluxoDto.setVariaveis(variaveis); } final HTMLForm form = document.getForm("form"); form.setValues(fluxoDto); } } public void delete(final DocumentHTML document, final HttpServletRequest request, final HttpServletResponse response) throws Exception { final FluxoDTO fluxoDto = (FluxoDTO) document.getBean(); if (fluxoDto.getIdFluxo() == null || fluxoDto.getIdFluxo().intValue() == 0) { return; } this.getFluxoService().delete(fluxoDto); document.alert("Fluxo exclu�do com sucesso"); document.executeScript("parent.atualizar(" + fluxoDto.getIdFluxo() + ");"); } }