diff --git a/docs-core/src/main/java/com/sismics/docs/core/dao/jpa/FileDao.java b/docs-core/src/main/java/com/sismics/docs/core/dao/jpa/FileDao.java index 96fe6eab..ed2036f8 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/dao/jpa/FileDao.java +++ b/docs-core/src/main/java/com/sismics/docs/core/dao/jpa/FileDao.java @@ -155,10 +155,12 @@ public class FileDao { * @param id File ID * @return File */ - public File getById(String id) { + public File getActiveById(String id) { EntityManager em = ThreadLocalContext.get().getEntityManager(); + Query q = em.createQuery("select f from File f where f.id = :id and f.deleteDate is null"); + q.setParameter("id", id); try { - return em.find(File.class, id); + return (File) q.getSingleResult(); } catch (NoResultException e) { return null; } diff --git a/docs-core/src/main/java/com/sismics/docs/core/listener/async/FileCreatedAsyncListener.java b/docs-core/src/main/java/com/sismics/docs/core/listener/async/FileCreatedAsyncListener.java index a5301769..e2244ad5 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/listener/async/FileCreatedAsyncListener.java +++ b/docs-core/src/main/java/com/sismics/docs/core/listener/async/FileCreatedAsyncListener.java @@ -54,7 +54,7 @@ public class FileCreatedAsyncListener { @Override public void run() { FileDao fileDao = new FileDao(); - if (fileDao.getById(file.getId()) == null) { + if (fileDao.getActiveById(file.getId()) == null) { // The file has been deleted since the text extraction started, ignore the result return; }