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.citcorpore.bean.DicionarioDTO; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.citframework.util.Constantes; import br.com.citframework.util.UtilI18N; @SuppressWarnings({ "rawtypes", }) public class DownloadAgente extends AjaxFormAction { static final int TAMANHO_BUFFER = 65536; private UsuarioDTO usuario; @Override public void load(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { usuario = br.com.centralit.citcorpore.util.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; } document.executeScript("$('#btnGravar').hide();"); //this.preencherComboIdioma(document, request, response); } // public void criarMensagensNovos(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { // // DicionarioDTO dicionario = (DicionarioDTO) document.getBean(); // if (dicionario.getIdLingua() == null || dicionario.getIdLingua().intValue() == 0){ // document.alert(UtilI18N.internacionaliza(request, "dicionario.selecioneUmIdioma")); // return; // } // DicionarioService dicionarioService = (DicionarioService) ServiceLocator.getInstance().getService(DicionarioService.class, null); // if (dicionario.getIdLingua() != null) { // LinguaService linguaService = (LinguaService) ServiceLocator.getInstance().getService(LinguaService.class, null); // LinguaDTO linguaDto = new LinguaDTO(); // linguaDto.setIdLingua(dicionario.getIdLingua()); // linguaDto = (LinguaDTO) linguaService.restore(linguaDto); // if (linguaDto != null){ // /* auxNome e' usado para se trabalhar com nome da lingua. */ // String auxNome = ""; // if(linguaDto.getNome() != null){ // auxNome = linguaDto.getNome().toLowerCase(); // } // // /* Acrescentada a verificacao se o nome e' similiar a "portug" para obter o arquivo correto. */ // if (linguaDto.getSigla() == null || auxNome.contains("portug")){ // linguaDto.setSigla(""); // } // dicionarioService.criarMensagensNovos(request, linguaDto.getSigla(), linguaDto.getIdLingua()); // this.montarTabelaDicionario(document, request, response); // } // } // // } // // public void montarTabelaDicionario(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { // // DicionarioDTO dicionario = (DicionarioDTO) document.getBean(); // // Integer contIdDicionario = 0; // Integer contIdLingua = 0; // Integer contNome = 0; // Integer contValor = 0; // // DicionarioService dicionarioService = (DicionarioService) ServiceLocator.getInstance().getService(DicionarioService.class, null); // // LinguaService linguaService = (LinguaService) ServiceLocator.getInstance().getService(LinguaService.class, null); // // LinguaDTO linguaDto = new LinguaDTO(); // // Collection<DicionarioDTO> listaDicionario = null; // // if (dicionario.getIdLingua() != null) { // // listaDicionario = dicionarioService.listaDicionario(dicionario); // } // // StringBuilder html = new StringBuilder(); // // html.append("<table class='table' id='tabelaRetorno' width='100%' >"); // if (listaDicionario != null) { // // for (DicionarioDTO dicionarioDto : listaDicionario) { // // linguaDto.setIdLingua(dicionarioDto.getIdLingua()); // // linguaDto = (LinguaDTO) linguaService.restore(linguaDto); // // html.append("<tr>"); // html.append("<th style='background:#FFFFFF; border:0px solid black;'> </th>"); // html.append("<th>" + linguaDto.getNome() + "</th>"); // html.append("</tr>"); // break; // } // // html.append("<tr>"); // html.append("<th>"+UtilI18N.internacionaliza(request, "citcorpore.comum.key")+"</th>"); // html.append("<th>"+UtilI18N.internacionaliza(request, "citcorpore.comum.valor")+"</th>"); // html.append("</tr>"); // // for (DicionarioDTO dicionarioDto : listaDicionario) { // contIdDicionario++; // contIdLingua++; // contNome++; // contValor++; // // html.append("<tr>"); // html.append("<input type='hidden' id='idDicionario" + contIdDicionario + "' name='idDicionario" + contIdDicionario + "' value='" // + dicionarioDto.getIdDicionario() + "' />"); // html.append("<input type='hidden' id='idLingua" + contIdLingua + "' name='idLingua" + contIdLingua + "' value='" + dicionarioDto.getIdLingua() + "' />"); // html.append("<td><input name='nome" + contNome + "' readonly='readonly' id='nome" + contNome + "' size='100' value='" + dicionarioDto.getNome() // + "' type='text' maxlength='256' /></td>"); // html.append("<td><input name='valor" + contValor + "' id='valor" + contValor + "' size='100' value='" + dicionarioDto.getValor() // + "' type='text' maxlength='256' /></td>"); // html.append("</tr>"); // } // // for (int i = 0; i < 20; i++) { // contIdDicionario++; // contIdLingua++; // contNome++; // contValor++; // // html.append("<tr>"); // html.append("<input type='hidden' id='idDicionario" + contIdDicionario + "' name='idDicionario" + contIdDicionario + "' value='' />"); // html.append("<input type='hidden' id='idLingua" + contIdLingua + "' name='idLingua" + contIdLingua + "' value='" + dicionario.getIdLingua() + "' />"); // html.append("<td><input name='nome" + contNome + "' id='nome" + contNome + "' size='100' value='' type='text' maxlength='256' /></td>"); // html.append("<td><input name='valor" + contValor + "' id='valor" + contValor + "' size='100' value='' type='text' maxlength='256' /></td>"); // html.append("</tr>"); // } // // } // html.append("</table >"); // document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); // HTMLElement divPrincipal = document.getElementById("tabelaDicionario"); // divPrincipal.setInnerHTML(html.toString()); // document.executeScript("$('#btnGravar').show();"); // // } // // private void inicializaCombo(HTMLSelect componenteCombo, HttpServletRequest request) { // componenteCombo.removeAllOptions(); // componenteCombo.addOption("", UtilI18N.internacionaliza(request, "citcorpore.comum.selecione")); // } // public void save(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { // // DicionarioDTO dicionario = (DicionarioDTO) document.getBean(); // // dicionario.setListDicionario(((Collection<DicionarioDTO>) WebUtil.deserializeCollectionFromRequest(DicionarioDTO.class, "dicionarioSerializados", request))); // // DicionarioService dicionarioService = (DicionarioService) ServiceLocator.getInstance().getService(DicionarioService.class, null); // // if(dicionario.getListDicionario()!=null ){ // // for (DicionarioDTO dicionarioDto : dicionario.getListDicionario()) { // // if (dicionarioDto.getIdDicionario()!=null) { // if(dicionarioDto.getIdDicionario() != null){ // dicionarioService.update(dicionarioDto); // } // }else{ // if (dicionarioDto.getNome() != null && !dicionarioDto.getNome().trim().equalsIgnoreCase("")){ // dicionarioService.create(dicionarioDto); // } // } // // } // // this.montarTabelaDicionario(document, request, response); // } // // document.alert(UtilI18N.internacionaliza(request, "MSG05")); // document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); // // I18N i18n = new I18N(); // i18n.carregaMaps(); // } // // public void preencherComboIdioma(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws Exception { // // LinguaService linguaService = (LinguaService) ServiceLocator.getInstance().getService(LinguaService.class, null); // // HTMLSelect comboIdioma = (HTMLSelect) document.getSelectById("idLingua"); // // Collection<LinguaDTO> listaIdioma = linguaService.list(); // // inicializaCombo(comboIdioma, request); // // if (listaIdioma != null && listaIdioma.size() != 0) { // // for (LinguaDTO linguaDto : listaIdioma) { // // comboIdioma.addOption(linguaDto.getIdLingua().toString(), linguaDto.getNome()); // } // } // // } @Override public Class getBeanClass() { return DicionarioDTO.class; } // public void exportarDicionarioXml(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws ServiceException, Exception { // // DicionarioService dicionarioService = (DicionarioService) ServiceLocator.getInstance().getService(DicionarioService.class, null); // // DicionarioDTO dicionario = (DicionarioDTO) document.getBean(); // // LinguaService linguaService = (LinguaService) ServiceLocator.getInstance().getService(LinguaService.class, null); // // LinguaDTO linguaDto = new LinguaDTO(); // // Collection<DicionarioDTO> listaDicionario = null; // // if (dicionario.getIdLingua() != null) { // // listaDicionario = dicionarioService.listaDicionario(dicionario); // } // // // Element tagDicionarioSuperior = new Element("dicionarioMensagens"); // // Element tagDicionario = new Element("dicionario"); // // // if (listaDicionario != null && !listaDicionario.isEmpty()) { // // for (DicionarioDTO dicionarioDto : listaDicionario) { // // linguaDto.setIdLingua(dicionarioDto.getIdLingua()); // // linguaDto = (LinguaDTO) linguaService.restore(linguaDto); // // Element tagMensagens = new Element("mensagens"); // Element idLingua = new Element("idLingua"); // Element keyMensagens = new Element("key"); // Element valor = new Element("valor"); // // idLingua.setText(dicionarioDto.getIdLingua().toString()); // keyMensagens.setText(dicionarioDto.getNome()); // valor.setText(dicionarioDto.getValor()); // // tagMensagens.addContent(idLingua); // tagMensagens.addContent(keyMensagens); // tagMensagens.addContent(valor); // // tagDicionario.addContent(tagMensagens); // // // } // }else{ // document.alert(UtilI18N.internacionaliza(request, "dicionario.precisoGerarMensagens")); // document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); // return; // } // // tagDicionarioSuperior.addContent(tagDicionario); // // Document doc = new Document(); // // doc.setRootElement(tagDicionarioSuperior); // // try { // String separator = System.getProperty("file.separator"); // // String diretorioReceita = CITCorporeUtil.caminho_real_app + separator + "tempFiles" + separator; // // // // File file = new File(diretorioReceita + "dicionario"+linguaDto.getSigla()+".xml"); // // Writer out = new OutputStreamWriter(new FileOutputStream(file)); // // XMLOutputter xout = new XMLOutputter(); // // xout.setFormat(Format.getCompactFormat().setEncoding("ISO-8859-1")); // // xout.output(doc, out); // // // int cont; // byte[] dados = new byte[TAMANHO_BUFFER]; // // BufferedInputStream origem = null; // FileInputStream streamDeEntrada = null; // FileOutputStream destino = null; // ZipOutputStream saida = null; // ZipEntry entry = null; // // // destino = new FileOutputStream(new File(diretorioReceita+ "dicionario" +linguaDto.getSigla()+ ".zip")); // saida = new ZipOutputStream(new BufferedOutputStream(destino)); // streamDeEntrada = new FileInputStream(file); // origem = new BufferedInputStream(streamDeEntrada, TAMANHO_BUFFER); // entry = new ZipEntry(file.getName()); // saida.putNextEntry(entry); // // // while((cont = origem.read(dados, 0, TAMANHO_BUFFER)) != -1) { // saida.write(dados, 0, cont); // } // origem.close(); // saida.close(); // // // document.alert(UtilI18N.internacionaliza(request, "menu.criarXml")); // // document.executeScript("window.open('" + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/printPDF/printPDF.jsp?url=" // + Constantes.getValue("SERVER_ADDRESS") + Constantes.getValue("CONTEXTO_APLICACAO") + "/tempFiles" + "/dicionario"+linguaDto.getSigla()+".zip')"); // // document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); // // } catch (UnsupportedEncodingException e) { // // e.printStackTrace(); // // } catch (IOException e) { // // e.printStackTrace(); // // } // } // public void importarDicionarioXml(DocumentHTML document, HttpServletRequest request, HttpServletResponse response) throws ServiceException, Exception { // // DicionarioService dicionarioService = (DicionarioService) ServiceLocator.getInstance().getService(DicionarioService.class, null); // // DicionarioDTO dicionario = (DicionarioDTO) document.getBean(); // // LinguaService linguaService = (LinguaService) ServiceLocator.getInstance().getService(LinguaService.class, null); // // LinguaDTO linguaDto = new LinguaDTO(); // // if (dicionario.getIdLingua() != null) { // // linguaDto.setIdLingua(dicionario.getIdLingua()); // // linguaDto = (LinguaDTO) linguaService.restore(linguaDto); // } // // String separator = System.getProperty("file.separator"); // // String diretorioReceita = CITCorporeUtil.caminho_real_app + "XMLs" + separator; // // File file = new File(diretorioReceita + "dicionario"+linguaDto.getSigla()+".xml"); // // dicionarioService.gerarCarga(file); // // document.alert(UtilI18N.internacionaliza(request, "dicionario.diconarioAtualizado")); // // this.montarTabelaDicionario(document, request, response); // // document.getJanelaPopupById("JANELA_AGUARDE_MENU").hide(); // } }