mirror of
https://github.com/moparisthebest/davmail
synced 2024-12-13 19:22:22 -05:00
Caldav: implement merged folder ctag over WebDav
git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@1743 3d1905a2-6b24-0410-a738-b14d5a86fcbd
This commit is contained in:
parent
0a32a5ba9e
commit
7bd0cbc5d0
@ -1247,7 +1247,16 @@ public abstract class ExchangeSession {
|
|||||||
* @return Folder object
|
* @return Folder object
|
||||||
* @throws IOException on error
|
* @throws IOException on error
|
||||||
*/
|
*/
|
||||||
public abstract Folder getFolder(String folderName) throws IOException;
|
public ExchangeSession.Folder getFolder(String folderPath) throws IOException {
|
||||||
|
Folder folder = internalGetFolder(folderPath);
|
||||||
|
if (isMainCalendar(folderPath)) {
|
||||||
|
Folder taskFolder = internalGetFolder(TASKS);
|
||||||
|
folder.ctag += taskFolder.ctag;
|
||||||
|
}
|
||||||
|
return folder;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected abstract Folder internalGetFolder(String folderName) throws IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check folder ctag and reload messages as needed.
|
* Check folder ctag and reload messages as needed.
|
||||||
|
@ -1695,7 +1695,7 @@ public class DavExchangeSession extends ExchangeSession {
|
|||||||
* @inheritDoc
|
* @inheritDoc
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Folder getFolder(String folderPath) throws IOException {
|
protected Folder internalGetFolder(String folderPath) throws IOException {
|
||||||
MultiStatusResponse[] responses = DavGatewayHttpClientFacade.executePropFindMethod(
|
MultiStatusResponse[] responses = DavGatewayHttpClientFacade.executePropFindMethod(
|
||||||
httpClient, URIUtil.encodePath(getFolderPath(folderPath)), 0, FOLDER_PROPERTIES_NAME_SET);
|
httpClient, URIUtil.encodePath(getFolderPath(folderPath)), 0, FOLDER_PROPERTIES_NAME_SET);
|
||||||
Folder folder = null;
|
Folder folder = null;
|
||||||
|
@ -877,19 +877,6 @@ public class EwsExchangeSession extends ExchangeSession {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @inheritDoc
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public ExchangeSession.Folder getFolder(String folderPath) throws IOException {
|
|
||||||
Folder folder = internalGetFolder(folderPath);
|
|
||||||
if (isMainCalendar(folderPath)) {
|
|
||||||
Folder taskFolder = internalGetFolder(TASKS);
|
|
||||||
folder.ctag += taskFolder.ctag;
|
|
||||||
}
|
|
||||||
return folder;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get folder by path.
|
* Get folder by path.
|
||||||
*
|
*
|
||||||
@ -897,6 +884,7 @@ public class EwsExchangeSession extends ExchangeSession {
|
|||||||
* @return folder object
|
* @return folder object
|
||||||
* @throws IOException on error
|
* @throws IOException on error
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
protected EwsExchangeSession.Folder internalGetFolder(String folderPath) throws IOException {
|
protected EwsExchangeSession.Folder internalGetFolder(String folderPath) throws IOException {
|
||||||
FolderId folderId = getFolderId(folderPath);
|
FolderId folderId = getFolderId(folderPath);
|
||||||
GetFolderMethod getFolderMethod = new GetFolderMethod(BaseShape.ID_ONLY, folderId, FOLDER_PROPERTIES);
|
GetFolderMethod getFolderMethod = new GetFolderMethod(BaseShape.ID_ONLY, folderId, FOLDER_PROPERTIES);
|
||||||
|
Loading…
Reference in New Issue
Block a user