From 173fa385260fc7e3e3a469ee3aac22416c654fef Mon Sep 17 00:00:00 2001 From: mguessan Date: Tue, 20 Jul 2010 09:36:21 +0000 Subject: [PATCH] Carddav: iPhone personalHomePage support git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@1216 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/exchange/ExchangeSession.java | 4 ++++ .../exchange/TestExchangeSessionContact.java | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/java/davmail/exchange/ExchangeSession.java b/src/java/davmail/exchange/ExchangeSession.java index ae044e2a..948f223d 100644 --- a/src/java/davmail/exchange/ExchangeSession.java +++ b/src/java/davmail/exchange/ExchangeSession.java @@ -2728,6 +2728,9 @@ public abstract class ExchangeSession { properties.put("businesshomepage", property.getValue()); } else if (property.hasParam("TYPE", "home")) { properties.put("personalHomePage", property.getValue()); + } else { + // default: set personal home page + properties.put("personalHomePage", property.getValue()); } } else if ("TITLE".equals(property.getKey())) { properties.put("title", property.getValue()); @@ -3087,6 +3090,7 @@ public abstract class ExchangeSession { CONTACT_ATTRIBUTES.add("extensionattribute4"); CONTACT_ATTRIBUTES.add("bday"); CONTACT_ATTRIBUTES.add("businesshomepage"); + CONTACT_ATTRIBUTES.add("personalHomePage"); CONTACT_ATTRIBUTES.add("cn"); CONTACT_ATTRIBUTES.add("co"); CONTACT_ATTRIBUTES.add("department"); diff --git a/src/test/davmail/exchange/TestExchangeSessionContact.java b/src/test/davmail/exchange/TestExchangeSessionContact.java index d71d72e8..4aa963f9 100644 --- a/src/test/davmail/exchange/TestExchangeSessionContact.java +++ b/src/test/davmail/exchange/TestExchangeSessionContact.java @@ -315,4 +315,21 @@ public class TestExchangeSessionContact extends AbstractExchangeSessionTestCase assertEquals("mobile with prefix", contact.get("mobile")); } + + public void testIphonePersonalHomePage() throws IOException { + ExchangeSession.Contact contact = (ExchangeSession.Contact) session.getItem("testcontactfolder", itemName); + + VCardWriter vCardWriter = new VCardWriter(); + vCardWriter.startCard(); + vCardWriter.appendProperty("ITEM1.URL", "http://www.myhomepage.org"); + vCardWriter.endCard(); + + ExchangeSession.ItemResult result = session.createOrUpdateContact("testcontactfolder", itemName, vCardWriter.toString(), contact.etag, null); + assertEquals(200, result.status); + + contact = (ExchangeSession.Contact) session.getItem("testcontactfolder", itemName); + + assertEquals("http://www.myhomepage.org", contact.get("personalHomePage")); + + } }