/** * Gerando o objeto que referencia o arquivo que será anexado ao RA * * @author Raphael Rossiter * @date 30/07/2009 * @param FileItem * @param String */ private RegistroAtendimentoAnexo gerarRegistroAtendimentoAnexo( FileItem arquivoAnexo, String observacaoAnexo) { RegistroAtendimentoAnexo anexo = new RegistroAtendimentoAnexo(); // ARQUIVO EM BYTES anexo.setImagemDocumento(arquivoAnexo.get()); // EXTENSÃO anexo.setNomeExtensaoDocumento(Util.obterExtensaoDoArquivo(arquivoAnexo)); // OBSERVAÇÃO if (observacaoAnexo != null && !observacaoAnexo.equals("")) { anexo.setDescricaoDocumento(observacaoAnexo.trim()); } // ÚLTIMA ALTERAÇÃO anexo.setUltimaAlteracao(new Date()); return anexo; }
public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("atualizarRegistroAtendimentoAnexos"); Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); String adicionar = httpServletRequest.getParameter("adicionar"); String remover = httpServletRequest.getParameter("remover"); String visualizar = httpServletRequest.getParameter("visualizar"); // ADICIONANDO UM ARQUIVO if (adicionar != null && !adicionar.equals("")) { Object[] parametrosFormulario = null; FileItem arquivoInformado = null; String observacaoAnexo = null; // ARQUIVO try { parametrosFormulario = recebendoObjetos(httpServletRequest); } catch (FileUploadException e) { throw new ActionServletException("erro.sistema", e); } arquivoInformado = (FileItem) parametrosFormulario[0]; observacaoAnexo = (String) parametrosFormulario[1]; // VALIDAÇÃO DO ARQUIVO fachada.validarRegistroAtendimentoAnexos(arquivoInformado); RegistroAtendimentoAnexo registroAtendimentoanexo = this.gerarRegistroAtendimentoAnexo(arquivoInformado, observacaoAnexo); // INSERINDO O ARQUIVO NA COLEÇÃO DE VISUALIZAÇÃO Collection colecaoRegistroAtendimentoAnexo = null; if (sessao.getAttribute("colecaoRegistroAtendimentoAnexo") != null) { colecaoRegistroAtendimentoAnexo = (Collection) sessao.getAttribute("colecaoRegistroAtendimentoAnexo"); colecaoRegistroAtendimentoAnexo.add(registroAtendimentoanexo); } else { colecaoRegistroAtendimentoAnexo = new ArrayList(); colecaoRegistroAtendimentoAnexo.add(registroAtendimentoanexo); sessao.setAttribute("colecaoRegistroAtendimentoAnexo", colecaoRegistroAtendimentoAnexo); } } // REMOVENDO UM ARQUIVO this.removerArquivo(remover, sessao); // OBTENDO ARQUIVO PARA VISUALIZAÇÃO RegistroAtendimentoAnexo registroAtendimentoAnexo = this.obterArquivoParaVisualizacao(visualizar, sessao); // PREPARANDO VISUALIZAÇÃO DO ARQUIVO if (registroAtendimentoAnexo != null) { OutputStream out = null; String mimeType = ConstantesSistema.CONTENT_TYPE_GENERICO; if (registroAtendimentoAnexo .getNomeExtensaoDocumento() .equals(ConstantesSistema.EXTENSAO_DOC)) { mimeType = ConstantesSistema.CONTENT_TYPE_MSWORD; } else if (registroAtendimentoAnexo .getNomeExtensaoDocumento() .equals(ConstantesSistema.EXTENSAO_PDF)) { mimeType = ConstantesSistema.CONTENT_TYPE_PDF; } else if (registroAtendimentoAnexo .getNomeExtensaoDocumento() .equals(ConstantesSistema.EXTENSAO_JPG)) { mimeType = ConstantesSistema.CONTENT_TYPE_JPEG; } try { httpServletResponse.setContentType(mimeType); out = httpServletResponse.getOutputStream(); out.write(registroAtendimentoAnexo.getImagemDocumento()); out.flush(); out.close(); } catch (IOException e) { throw new ActionServletException("erro.sistema", e); } } // CARREGANDO OS ANEXOS QUE ESTÃO CADASTRADOS NA BASE if (sessao.getAttribute("colecaoRegistroAtendimentoAnexo") == null) { StatusWizard statusWizard = (StatusWizard) sessao.getAttribute("statusWizard"); FiltroRegistroAtendimentoAnexo filtroRegistroAtendimentoAnexo = new FiltroRegistroAtendimentoAnexo(); filtroRegistroAtendimentoAnexo.adicionarParametro( new ParametroSimples( FiltroRegistroAtendimentoAnexo.REGISTRO_ATENDIMENTO_ID, statusWizard.getId())); Collection colecaoRegistroAtendimentoAnexo = fachada.pesquisar( filtroRegistroAtendimentoAnexo, RegistroAtendimentoAnexo.class.getName()); sessao.setAttribute("colecaoRegistroAtendimentoAnexo", colecaoRegistroAtendimentoAnexo); } httpServletRequest.setAttribute("nomeCampo", "arquivoAnexo"); return retorno; }