Dav: fix nullpointer in DavExchangeSession

git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@1186 3d1905a2-6b24-0410-a738-b14d5a86fcbd
This commit is contained in:
mguessan 2010-07-13 12:46:14 +00:00
parent 641dcaeeb1
commit 4131c0f505
1 changed files with 17 additions and 16 deletions

View File

@ -1432,25 +1432,26 @@ public class DavExchangeSession extends ExchangeSession {
String messageUrl = URIUtil.encodePathQuery(getFolderPath(folderPath) + '/' + messageName + ".EML");
PropPatchMethod patchMethod;
List<DavConstants> davProperties = buildProperties(properties);
if (!properties.containsKey("read")) {
// force unread
davProperties.add(Field.createDavProperty("read", "0"));
}
// create the message first as draft
if (properties.containsKey("draft")) {
patchMethod = new PropPatchMethod(messageUrl, davProperties);
try {
// update message with blind carbon copy and other flags
int statusCode = httpClient.executeMethod(patchMethod);
if (statusCode != HttpStatus.SC_MULTI_STATUS) {
throw new DavMailException("EXCEPTION_UNABLE_TO_CREATE_MESSAGE", messageUrl, statusCode, ' ', patchMethod.getStatusLine());
}
if (properties != null) {
if (!properties.containsKey("read")) {
// force unread
davProperties.add(Field.createDavProperty("read", "0"));
}
// create the message first as draft
if (properties.containsKey("draft")) {
patchMethod = new PropPatchMethod(messageUrl, davProperties);
try {
// update message with blind carbon copy and other flags
int statusCode = httpClient.executeMethod(patchMethod);
if (statusCode != HttpStatus.SC_MULTI_STATUS) {
throw new DavMailException("EXCEPTION_UNABLE_TO_CREATE_MESSAGE", messageUrl, statusCode, ' ', patchMethod.getStatusLine());
}
} finally {
patchMethod.releaseConnection();
} finally {
patchMethod.releaseConnection();
}
}
}
PutMethod putmethod = new PutMethod(messageUrl);
putmethod.setRequestHeader("Translate", "f");
try {