/**
*
*/
package br.com.centralit.citcorpore.ajaxForms;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.ConexaoBIDTO;
import br.com.centralit.citcorpore.bean.UsuarioDTO;
import br.com.centralit.citcorpore.negocio.ConexaoBIService;
import br.com.centralit.citcorpore.util.WebUtil;
import br.com.citframework.service.ServiceLocator;
import br.com.citframework.util.Constantes;
import br.com.citframework.util.UtilI18N;
/**
* @author thiago.barbosa
*
*
*/
public class CadastroConexaoBI extends AjaxFormAction {
@SuppressWarnings("rawtypes")
public Class getBeanClass() {
return ConexaoBIDTO.class;
}
public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UsuarioDTO usuario = WebUtil.getUsuario(request);
if (usuario == null) {
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada"));
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
boolean editar = false;
if(request.getParameter("editar") != null && !request.getParameter("editar").equals("") && !request.getParameter("editar").equals("false")){
editar = true;
}
if (editar){
restore(document, request, response);
}
document.executeScript("document.getElementById(\"nome\").focus();");
}
public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
UsuarioDTO usuario = WebUtil.getUsuario(request);
if (usuario == null) {
document.alert(UtilI18N.internacionaliza(request, "citcorpore.comum.sessaoExpirada"));
document.executeScript("window.location = '" + Constantes.getValue("SERVER_ADDRESS") + request.getContextPath() + "'");
return;
}
try {
ConexaoBIDTO conexaoBIDTO = (ConexaoBIDTO) document.getBean();
ConexaoBIService conexaoBIService = (ConexaoBIService) ServiceLocator.getInstance().getService(ConexaoBIService.class, WebUtil.getUsuarioSistema(request));
boolean validacaoValoresExistentes = this.verificaDadosExistentes(document, request, response);
if (validacaoValoresExistentes){
if (conexaoBIDTO.getIdConexaoBI() == null){
conexaoBIDTO = (ConexaoBIDTO) conexaoBIService.create(conexaoBIDTO);
document.alert(UtilI18N.internacionaliza(request, "MSG05"));
document.executeScript("parent.fecharModalConexaoBI();");
}else {
conexaoBIService.update(conexaoBIDTO);
document.alert(UtilI18N.internacionaliza(request, "MSG06"));
document.executeScript("parent.fecharModalConexaoBI();");
}
}
} catch (Exception e){
String msgErro = e.getMessage();
msgErro = msgErro.replaceAll("java.lang.Exception:", "");
msgErro = msgErro.replaceAll("br.com.citframework.excecao.ServiceException:", "");
msgErro = msgErro.replaceAll("br.com.citframework.excecao.LogicException:", "");
document.alert(msgErro);
}
}
public void restore(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
ConexaoBIDTO conexaoBIDTO = (ConexaoBIDTO) document.getBean();
ConexaoBIService conexaoBIService = (ConexaoBIService) ServiceLocator.getInstance().getService(ConexaoBIService.class, null);
conexaoBIDTO = (ConexaoBIDTO) conexaoBIService.restore(conexaoBIDTO);
/**
* condi��o para setar o valor do tipo de importa��o para o padr�o A, isso � para tratar valores j� existentes no banco, inseridos antes do campo tipo importa��o existir.
*/
if (conexaoBIDTO.getTipoImportacao() == null)
conexaoBIDTO.setTipoImportacao("A");
HTMLForm form = document.getForm("form");
form.clear();
form.setValues(conexaoBIDTO);
}
/**
* Metodo para verificar se nome ou link j� existe no banco de dados
* @param document
* @param request
* @param response
* @return
* @throws Exception
*/
public boolean verificaDadosExistentes (DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception {
ConexaoBIDTO conexaoBIDTO = (ConexaoBIDTO) document.getBean();
ConexaoBIService conexaoBIService = (ConexaoBIService) ServiceLocator.getInstance().getService(ConexaoBIService.class, WebUtil.getUsuarioSistema(request));
boolean nomeExiste = conexaoBIService.jaExisteRegistroComMesmoNome(conexaoBIDTO);
boolean linkExiste = conexaoBIService.jaExisteRegistroComMesmoLink(conexaoBIDTO);
if (nomeExiste) {
document.executeScript("nomeJaExiste();");
return false;
}else if (linkExiste) {
document.executeScript("linkJaExiste();");
return false;
}
return true;
}
}