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();