From addbd73ff714c0350589ac7ae18302162fae0928 Mon Sep 17 00:00:00 2001 From: mguessan Date: Thu, 30 Oct 2014 22:32:03 +0000 Subject: [PATCH] Caldav: fix #98 Support of Contacts in CardDav REPORT git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@2323 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/caldav/CaldavConnection.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/java/davmail/caldav/CaldavConnection.java b/src/java/davmail/caldav/CaldavConnection.java index 97eb8200..43a36a17 100644 --- a/src/java/davmail/caldav/CaldavConnection.java +++ b/src/java/davmail/caldav/CaldavConnection.java @@ -771,15 +771,20 @@ public class CaldavConnection extends AbstractConnection { events = session.getEventMessages(request.getFolderPath()); appendEventsResponses(response, request, events); } else { - // TODO: handle contacts ? - if (request.vTodoOnly) { - events = session.searchTasksOnly(request.getFolderPath()); - } else if (request.vEventOnly) { - events = session.searchEventsOnly(request.getFolderPath(), request.timeRangeStart, request.timeRangeEnd); + ExchangeSession.Folder folder = session.getFolder(folderPath); + if (folder.isContact()) { + List contacts = session.getAllContacts(folderPath); + appendContactsResponses(response, request, contacts); } else { - events = session.searchEvents(request.getFolderPath(), request.timeRangeStart, request.timeRangeEnd); + if (request.vTodoOnly) { + events = session.searchTasksOnly(request.getFolderPath()); + } else if (request.vEventOnly) { + events = session.searchEventsOnly(request.getFolderPath(), request.timeRangeStart, request.timeRangeEnd); + } else { + events = session.searchEvents(request.getFolderPath(), request.timeRangeStart, request.timeRangeEnd); + } + appendEventsResponses(response, request, events); } - appendEventsResponses(response, request, events); } // send not found events errors