From bf570104d29b1de2849aeb4468149c25c822b0ff Mon Sep 17 00:00:00 2001 From: mguessan Date: Thu, 19 May 2011 22:11:23 +0000 Subject: [PATCH] IMAP: workaround for Exchange 2003 search deleted support git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@1691 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- .../davmail/exchange/dav/DavExchangeSession.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/java/davmail/exchange/dav/DavExchangeSession.java b/src/java/davmail/exchange/dav/DavExchangeSession.java index da918641..7765ebcb 100644 --- a/src/java/davmail/exchange/dav/DavExchangeSession.java +++ b/src/java/davmail/exchange/dav/DavExchangeSession.java @@ -980,12 +980,20 @@ public class DavExchangeSession extends ExchangeSession { @Override public Condition isTrue(String attributeName) { - return new MonoCondition(attributeName, Operator.IsTrue); + if ("Exchange2003".equals(this.serverVersion) && "deleted".equals(attributeName)) { + return isEqualTo(attributeName, "1"); + } else { + return new MonoCondition(attributeName, Operator.IsTrue); + } } @Override public Condition isFalse(String attributeName) { - return new MonoCondition(attributeName, Operator.IsFalse); + if ("Exchange2003".equals(this.serverVersion) && "deleted".equals(attributeName)) { + return or(isEqualTo(attributeName, "0"), isNull(attributeName)); + } else { + return new MonoCondition(attributeName, Operator.IsFalse); + } } /**