1
0
mirror of https://github.com/sismics/docs.git synced 2025-12-14 02:06:25 +00:00

#180: last inbox sync infos

This commit is contained in:
Benjamin Gamard
2018-02-27 17:11:04 +01:00
parent 1054931e63
commit 062dee987f
4 changed files with 64 additions and 6 deletions

View File

@@ -1,14 +1,13 @@
package com.sismics.docs.core.listener.async;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.eventbus.Subscribe;
import com.sismics.docs.core.dao.jpa.ContributorDao;
import com.sismics.docs.core.dao.lucene.LuceneDao;
import com.sismics.docs.core.event.DocumentCreatedAsyncEvent;
import com.sismics.docs.core.model.jpa.Contributor;
import com.sismics.docs.core.util.TransactionUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Listener on document created.
@@ -25,10 +24,9 @@ public class DocumentCreatedAsyncListener {
* Document created.
*
* @param event Document created event
* @throws Exception
*/
@Subscribe
public void on(final DocumentCreatedAsyncEvent event) throws Exception {
public void on(final DocumentCreatedAsyncEvent event) {
if (log.isInfoEnabled()) {
log.info("Document created event: " + event.toString());
}

View File

@@ -34,6 +34,13 @@ public class InboxService extends AbstractScheduledService {
*/
private static final Logger log = LoggerFactory.getLogger(InboxService.class);
/**
* Last synchronization data.
*/
private Date lastSyncDate;
private int lastSyncMessageCount = 0;
private String lastSyncError;
public InboxService() {
}
@@ -60,18 +67,23 @@ public class InboxService extends AbstractScheduledService {
}
Folder inbox = null;
lastSyncError = null;
lastSyncDate = new Date();
lastSyncMessageCount = 0;
try {
inbox = openInbox();
int count = inbox.getMessageCount();
Message[] messages = inbox.getMessages(1, count);
for (Message message : messages) {
if (!message.getFlags().contains(Flags.Flag.SEEN)) {
importMessage(message);
lastSyncMessageCount++;
}
}
} catch (Exception e) {
log.error("Error synching the inbox", e);
lastSyncError = e.getMessage();
} finally {
try {
if (inbox != null) {
@@ -207,4 +219,16 @@ public class InboxService extends AbstractScheduledService {
FileUtil.createFile(fileContent.getName(), fileContent.getFile(), fileContent.getSize(), "eng", "admin", document.getId());
}
}
public Date getLastSyncDate() {
return lastSyncDate;
}
public int getLastSyncMessageCount() {
return lastSyncMessageCount;
}
public String getLastSyncError() {
return lastSyncError;
}
}