From ad9ac4f0ad3babace34a679104939a241fb78a0b Mon Sep 17 00:00:00 2001 From: mguessan Date: Sat, 14 Sep 2013 17:35:04 +0000 Subject: [PATCH] IMAP: Implement davmail.folderSizeLimit git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@2177 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/exchange/dav/DavExchangeSession.java | 3 ++- src/java/davmail/exchange/ews/EwsExchangeSession.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/java/davmail/exchange/dav/DavExchangeSession.java b/src/java/davmail/exchange/dav/DavExchangeSession.java index 274494f5..31a66810 100644 --- a/src/java/davmail/exchange/dav/DavExchangeSession.java +++ b/src/java/davmail/exchange/dav/DavExchangeSession.java @@ -2057,7 +2057,8 @@ public class DavExchangeSession extends ExchangeSession { @Override public MessageList searchMessages(String folderPath, Set attributes, Condition condition) throws IOException { MessageList messages = new MessageList(); - MultiStatusResponse[] responses = searchItems(folderPath, attributes, and(isFalse("isfolder"), isFalse("ishidden"), condition), FolderQueryTraversal.Shallow, 0); + int maxCount = Settings.getIntProperty("davmail.folderSizeLimit", 0); + MultiStatusResponse[] responses = searchItems(folderPath, attributes, and(isFalse("isfolder"), isFalse("ishidden"), condition), FolderQueryTraversal.Shallow, maxCount); for (MultiStatusResponse response : responses) { Message message = buildMessage(response); diff --git a/src/java/davmail/exchange/ews/EwsExchangeSession.java b/src/java/davmail/exchange/ews/EwsExchangeSession.java index a64d9976..9d97bae0 100644 --- a/src/java/davmail/exchange/ews/EwsExchangeSession.java +++ b/src/java/davmail/exchange/ews/EwsExchangeSession.java @@ -663,7 +663,8 @@ public class EwsExchangeSession extends ExchangeSession { @Override public MessageList searchMessages(String folderPath, Set attributes, Condition condition) throws IOException { MessageList messages = new MessageList(); - List responses = searchItems(folderPath, attributes, condition, FolderQueryTraversal.SHALLOW, 0); + int maxCount = Settings.getIntProperty("davmail.folderSizeLimit", 0); + List responses = searchItems(folderPath, attributes, condition, FolderQueryTraversal.SHALLOW, maxCount); for (EWSMethod.Item response : responses) { if (MESSAGE_TYPES.contains(response.type)) {