diff --git a/docs-core/src/main/java/com/sismics/docs/core/dao/DocumentDao.java b/docs-core/src/main/java/com/sismics/docs/core/dao/DocumentDao.java index 34d170c7..1a05a6e0 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/dao/DocumentDao.java +++ b/docs-core/src/main/java/com/sismics/docs/core/dao/DocumentDao.java @@ -196,21 +196,6 @@ public class DocumentDao { * @return Updated document */ public Document update(Document document, String userId) { - Document documentDb = updateSilently(document); - - // Create audit log - AuditLogUtil.create(documentDb, AuditLogType.UPDATE, userId); - - return documentDb; - } - - /** - * Update a document without audit log. - * - * @param document Document to update - * @return Updated document - */ - public Document updateSilently(Document document) { EntityManager em = ThreadLocalContext.get().getEntityManager(); // Get the document @@ -233,10 +218,27 @@ public class DocumentDao { documentDb.setLanguage(document.getLanguage()); documentDb.setFileId(document.getFileId()); documentDb.setUpdateDate(new Date()); - + + // Create audit log + AuditLogUtil.create(documentDb, AuditLogType.UPDATE, userId); + return documentDb; } + /** + * Update the file ID on a document. + * + * @param document Document + */ + public void updateFileId(Document document) { + EntityManager em = ThreadLocalContext.get().getEntityManager(); + Query query = em.createNativeQuery("update T_DOCUMENT d set d.DOC_IDFILE_C = :fileId where d.DOC_ID_C = :id"); + query.setParameter("fileId", document.getFileId()); + query.setParameter("id", document.getId()); + query.executeUpdate(); + + } + /** * Returns the number of documents. * diff --git a/docs-core/src/main/java/com/sismics/docs/core/listener/async/DocumentUpdatedAsyncListener.java b/docs-core/src/main/java/com/sismics/docs/core/listener/async/DocumentUpdatedAsyncListener.java index fb791d2a..3abddd59 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/listener/async/DocumentUpdatedAsyncListener.java +++ b/docs-core/src/main/java/com/sismics/docs/core/listener/async/DocumentUpdatedAsyncListener.java @@ -58,7 +58,7 @@ public class DocumentUpdatedAsyncListener { } // Update database and index - documentDao.updateSilently(document); + documentDao.updateFileId(document); AppContext.getInstance().getIndexingHandler().updateDocument(document); // Update contributors list