From 6e6bdf80f6d1b4ffcfc75fa14d8ee4e7eb2895bc Mon Sep 17 00:00:00 2001 From: mguessan Date: Tue, 31 Aug 2010 23:43:56 +0000 Subject: [PATCH] Caldav: switch back to contentclass to get calendarmessages over webdav git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@1401 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/exchange/ExchangeSession.java | 7 +------ src/java/davmail/exchange/dav/DavExchangeSession.java | 11 +++++++++++ src/java/davmail/exchange/ews/EwsExchangeSession.java | 7 +++++++ 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/java/davmail/exchange/ExchangeSession.java b/src/java/davmail/exchange/ExchangeSession.java index 8a8b6569..42df170b 100644 --- a/src/java/davmail/exchange/ExchangeSession.java +++ b/src/java/davmail/exchange/ExchangeSession.java @@ -2245,12 +2245,7 @@ public abstract class ExchangeSession { * @return list of calendar messages as Event objects * @throws IOException on error */ - public List getEventMessages(String folderPath) throws IOException { - return searchEvents(folderPath, ITEM_PROPERTIES, - and(or(isEqualTo("outlookmessageclass", "IPM.Schedule.Meeting.Request"), - isEqualTo("outlookmessageclass", "IPM.Schedule.Meeting.Canceled")), - or(isNull("processed"), isFalse("processed")))); - } + public abstract List getEventMessages(String folderPath) throws IOException; /** * Search calendar events in provided folder. diff --git a/src/java/davmail/exchange/dav/DavExchangeSession.java b/src/java/davmail/exchange/dav/DavExchangeSession.java index 805032b5..f52a5dd2 100644 --- a/src/java/davmail/exchange/dav/DavExchangeSession.java +++ b/src/java/davmail/exchange/dav/DavExchangeSession.java @@ -1684,6 +1684,17 @@ public class DavExchangeSession extends ExchangeSession { return contacts; } + /** + * @inheritDoc + */ + @Override + public List getEventMessages(String folderPath) throws IOException { + return searchEvents(folderPath, ITEM_PROPERTIES, + and(isEqualTo("contentclass", "urn:content-classes:calendarmessage"), + or(isNull("processed"), isFalse("processed")))); + } + + @Override public List searchEvents(String folderPath, Set attributes, Condition condition) throws IOException { List events = new ArrayList(); diff --git a/src/java/davmail/exchange/ews/EwsExchangeSession.java b/src/java/davmail/exchange/ews/EwsExchangeSession.java index e5403893..83f0fa71 100644 --- a/src/java/davmail/exchange/ews/EwsExchangeSession.java +++ b/src/java/davmail/exchange/ews/EwsExchangeSession.java @@ -1079,6 +1079,13 @@ public class EwsExchangeSession extends ExchangeSession { return contacts; } + @Override + public List getEventMessages(String folderPath) throws IOException { + return searchEvents(folderPath, ITEM_PROPERTIES, + and(startsWith("outlookmessageclass", "IPM.Schedule.Meeting."), + or(isNull("processed"), isFalse("processed")))); + } + @Override public List searchEvents(String folderPath, Set attributes, Condition condition) throws IOException { List events = new ArrayList();