From ecca2c65b7c2ce4afd38aaf3e08e837fb99c8569 Mon Sep 17 00:00:00 2001 From: mguessan Date: Mon, 12 Jul 2010 22:34:19 +0000 Subject: [PATCH] Dav: handle null properties with new createMessage git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@1176 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- .../exchange/dav/DavExchangeSession.java | 52 ++++++++++--------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/src/java/davmail/exchange/dav/DavExchangeSession.java b/src/java/davmail/exchange/dav/DavExchangeSession.java index be15fd19..9b9540b2 100644 --- a/src/java/davmail/exchange/dav/DavExchangeSession.java +++ b/src/java/davmail/exchange/dav/DavExchangeSession.java @@ -1365,32 +1365,34 @@ public class DavExchangeSession extends ExchangeSession { protected List buildProperties(Map properties) { ArrayList list = new ArrayList(); - for (Map.Entry entry : properties.entrySet()) { - if ("read".equals(entry.getKey())) { - list.add(Field.createDavProperty("read", entry.getValue())); - } else if ("junk".equals(entry.getKey())) { - list.add(Field.createDavProperty("junk", entry.getValue())); - } else if ("flagged".equals(entry.getKey())) { - list.add(Field.createDavProperty("flagStatus", entry.getValue())); - } else if ("answered".equals(entry.getKey())) { - list.add(Field.createDavProperty("lastVerbExecuted", entry.getValue())); - if ("102".equals(entry.getValue())) { - list.add(Field.createDavProperty("iconIndex", "261")); + if (properties != null) { + for (Map.Entry entry : properties.entrySet()) { + if ("read".equals(entry.getKey())) { + list.add(Field.createDavProperty("read", entry.getValue())); + } else if ("junk".equals(entry.getKey())) { + list.add(Field.createDavProperty("junk", entry.getValue())); + } else if ("flagged".equals(entry.getKey())) { + list.add(Field.createDavProperty("flagStatus", entry.getValue())); + } else if ("answered".equals(entry.getKey())) { + list.add(Field.createDavProperty("lastVerbExecuted", entry.getValue())); + if ("102".equals(entry.getValue())) { + list.add(Field.createDavProperty("iconIndex", "261")); + } + } else if ("forwarded".equals(entry.getKey())) { + list.add(Field.createDavProperty("lastVerbExecuted", entry.getValue())); + if ("104".equals(entry.getValue())) { + list.add(Field.createDavProperty("iconIndex", "262")); + } + } else if ("bcc".equals(entry.getKey())) { + list.add(Field.createDavProperty("bcc", entry.getValue())); + } else if ("draft".equals(entry.getKey())) { + // note: draft is readonly after create + list.add(Field.createDavProperty("messageFlags", entry.getValue())); + } else if ("deleted".equals(entry.getKey())) { + list.add(Field.createDavProperty("writedeleted", entry.getValue())); + } else if ("datereceived".equals(entry.getKey())) { + list.add(Field.createDavProperty("datereceived", entry.getValue())); } - } else if ("forwarded".equals(entry.getKey())) { - list.add(Field.createDavProperty("lastVerbExecuted", entry.getValue())); - if ("104".equals(entry.getValue())) { - list.add(Field.createDavProperty("iconIndex", "262")); - } - } else if ("bcc".equals(entry.getKey())) { - list.add(Field.createDavProperty("bcc", entry.getValue())); - } else if ("draft".equals(entry.getKey())) { - // note: draft is readonly after create - list.add(Field.createDavProperty("messageFlags", entry.getValue())); - } else if ("deleted".equals(entry.getKey())) { - list.add(Field.createDavProperty("writedeleted", entry.getValue())); - } else if ("datereceived".equals(entry.getKey())) { - list.add(Field.createDavProperty("datereceived", entry.getValue())); } } return list;