private void criarAnexoBaseConhecimento(final Integer idIncidente, final UploadDTO arquivo) throws Exception { final AnexoIncidenteDTO anexoIncidente = new AnexoIncidenteDTO(); anexoIncidente.setDataInicio(UtilDatas.getDataAtual()); final String extensao[] = arquivo.getNameFile().split("\\."); if (extensao.length > 1) { anexoIncidente.setExtensao(extensao[extensao.length - 1]); } anexoIncidente.setNomeAnexo(extensao[0]); anexoIncidente.setIdIncidente(idIncidente); anexoIncidente.setLink( this.getDiretorioAnexosIncidentes().getAbsolutePath() + File.separator + arquivo.getNameFile()); anexoIncidente.setDescricao(arquivo.getDescricao()); this.getDao().create(anexoIncidente); }
/** * Copia da pasta temporária para a pasta definitiva definida nas constantes e persiste no banco * os relacionamentos entre anexos e serviços. * * @author breno.guimaraes * @param arquivosUpados * @param idIncidente * @throws IOException * @throws Exception */ private void copiaArquivosEPersisteReferencias( final Collection<UploadDTO> arquivosUpados, final Integer idIncidente) throws IOException, Exception { if (arquivosUpados == null || arquivosUpados.isEmpty()) { return; } for (final UploadDTO arquivo : arquivosUpados) { final File file = new File(arquivo.getPath()); if (!file.getAbsolutePath() .equalsIgnoreCase( this.getDiretorioAnexosIncidentes().getAbsoluteFile() + File.separator + file.getName())) { this.copiarArquivo( file, this.getDiretorioAnexosIncidentes() + File.separator + file.getName()); if (file.getAbsolutePath().indexOf("tempUpload") > 1) { file.delete(); } this.criarAnexoBaseConhecimento(idIncidente, arquivo); } } }