From dba3ff26ef5e86ee02c9f536693e6c96910787c7 Mon Sep 17 00:00:00 2001 From: mguessan Date: Sat, 24 Jan 2015 21:16:28 +0000 Subject: [PATCH] EWS: improve main calendar folder test git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@2326 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/exchange/ExchangeSession.java | 2 +- src/java/davmail/exchange/ews/EwsExchangeSession.java | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/java/davmail/exchange/ExchangeSession.java b/src/java/davmail/exchange/ExchangeSession.java index 5bf02e5a..88f3e3a1 100644 --- a/src/java/davmail/exchange/ExchangeSession.java +++ b/src/java/davmail/exchange/ExchangeSession.java @@ -3304,7 +3304,7 @@ public abstract class ExchangeSession { * @param folderPath absolute folder path * @return true if folderPath is a public or shared folder */ - public abstract boolean isMainCalendar(String folderPath); + public abstract boolean isMainCalendar(String folderPath) throws IOException; static final String MAILBOX_BASE = "/cn="; diff --git a/src/java/davmail/exchange/ews/EwsExchangeSession.java b/src/java/davmail/exchange/ews/EwsExchangeSession.java index fad20447..064a3dc7 100644 --- a/src/java/davmail/exchange/ews/EwsExchangeSession.java +++ b/src/java/davmail/exchange/ews/EwsExchangeSession.java @@ -1715,7 +1715,7 @@ public class EwsExchangeSession extends ExchangeSession { createOrUpdateItemMethod.setTimezoneContext(EwsExchangeSession.this.getVTimezone().getPropertyValue("TZID")); } //} - } + } executeMethod(createOrUpdateItemMethod); itemResult.status = createOrUpdateItemMethod.getStatusCode(); @@ -2160,8 +2160,10 @@ public class EwsExchangeSession extends ExchangeSession { } @Override - public boolean isMainCalendar(String folderPath) { - return "calendar".equalsIgnoreCase(folderPath) || (currentMailboxPath + "/calendar").equalsIgnoreCase(folderPath); + public boolean isMainCalendar(String folderPath) throws IOException { + FolderId currentFolderId = getFolderId(folderPath); + FolderId calendarFolderId = getFolderId("calendar"); + return calendarFolderId.name.equals(currentFolderId.name) && calendarFolderId.value.equals(currentFolderId.value); } @Override