public Archivo registrarArchivoRemoto( final CarpetaPersonal carpetaPersonal, final Archivo archivoOriginal, final String identificacionPropietario) { Carpeta carpeta = carpetaDAO.getCarpetaPrincipal(carpetaPersonal.getId()); Archivo archivo = new Archivo(); archivo.setCarpetaPadreId(carpeta); archivo.setCarpetaPersonal(carpetaPersonal); archivo.setEstadoId(estadoArchivoDAO.getEstadoActivo()); archivo.setFecha(new Date()); archivo.setFirmado(Boolean.FALSE); archivo.setFormato(archivoOriginal.getFormato()); archivo.setIdentificacionPropietario(identificacionPropietario); archivo.setNombre(archivoOriginal.getNombre()); archivo.setSizeArchivo(archivoOriginal.getSizeArchivo()); archivo.setTipo(archivoOriginal.getTipo()); archivo.setUrl(archivoOriginal.getId() + ""); archivoDAO.insertar(archivo); carpeta.addArchivo(archivo); return archivo; }
public void compartirArchivo( final Usuario usuarioPropietario, final UsuarioDTO usuarioDestinoDTO, final Archivo arhivoLocal) { registrarPermisoCompartido(arhivoLocal, usuarioDestinoDTO.getDocumento()); if (usuarioDestinoDTO.isUsuarioLocal()) { Usuario usuarioDestino = usuarioEJB.obtenerUsuario(usuarioDestinoDTO.getDocumento()); CarpetaPersonal carpetaPersonalDestino = usuarioDestino.getCarpetaPersonal(); Archivo archivoDestino = registrarArchivoRemoto( carpetaPersonalDestino, arhivoLocal, usuarioPropietario.getDocumento()); registrarNotificacionCompartidoLocal( carpetaPersonalDestino, usuarioPropietario.getDocumento(), archivoDestino); } else { NotificacionCompartidoDTO notificacion = new NotificacionCompartidoDTO(); notificacion.setTextoMensaje( usuarioPropietario.getNombreCompleto() + " le compartió el archivo " + arhivoLocal.getNombre()); notificacion.setFormato(arhivoLocal.getFormato().getExtencion()); notificacion.setIdArchivo(arhivoLocal.getId() + ""); notificacion.setIdentificacionDestinatario(usuarioDestinoDTO.getDocumento()); notificacion.setIdentificacionRemitente(usuarioPropietario.getDocumento()); notificacion.setNombreArchivo(arhivoLocal.getNombre()); notificacion.setNombreTipoArchivo(arhivoLocal.getTipo().getNombre()); notificacion.setSizeArchivo(arhivoLocal.getSizeArchivo() + ""); notificacionService.notificarCompartido( notificacion, usuarioDestinoDTO.getOperador().getUrl()); } }