| 1 18 19 package sync4j.exchange.items.contact.dao; 20 21 import java.io.IOException ; 22 import java.text.MessageFormat ; 23 import java.util.ArrayList ; 24 import java.util.List ; 25 26 import sync4j.exchange.httptransport.WebDavHttpTransport; 27 import sync4j.exchange.items.contact.model.Contact; 28 import sync4j.exchange.items.common.dao.ItemDAO; 29 import sync4j.exchange.xml.XmlParseException; 30 import sync4j.exchange.xml.XmlParser; 31 32 import sync4j.exchange.util.StringTools; 33 34 import sync4j.exchange.DataAccessException; 35 36 import sync4j.foundation.pdi.contact.Address; 37 import sync4j.foundation.pdi.contact.BusinessDetail; 38 import sync4j.foundation.pdi.contact.ContactDetail; 39 import sync4j.foundation.pdi.contact.Email; 40 import sync4j.foundation.pdi.contact.Name; 41 import sync4j.foundation.pdi.contact.Note; 42 import sync4j.foundation.pdi.contact.PersonalDetail; 43 import sync4j.foundation.pdi.contact.Note; 44 import sync4j.foundation.pdi.contact.Phone; 45 import sync4j.foundation.pdi.contact.Title; 46 import sync4j.foundation.pdi.contact.WebPage; 47 48 import sync4j.framework.server.store.NotFoundException; 49 50 58 public class ContactDAO extends ItemDAO { 59 60 62 private static final String TAG_ANNIVERSARY 63 = "weddinganniversary" ; 64 private static final String TAG_BIRTHDAY = "bday" ; 65 private static final String TAG_CATEGORIES = "keywordsutf8" ; 66 private static final String TAG_CHILDREN = "childrensnames" ; 67 private static final String TAG_DEPARTMENT = "department" ; 68 private static final String TAG_FILEAS = "fileas" ; 69 public static final String TAG_FIRSTNAME = "givenname" ; 70 private static final String TAG_HOBBY = "hobbies" ; 71 private static final String TAG_HOME_CITY = "homecity" ; 72 private static final String TAG_HOME_COUNTRY = "homecountry" ; 73 private static final String TAG_HOME_POST_OFFICE_BOX 74 ="homepostofficebox" ; 75 private static final String TAG_HOME_STATE = "homestate" ; 76 private static final String TAG_HOME_POSTAL_CODE = "homepostalcode" ; 77 private static final String TAG_HOME_STREET = "homestreet" ; 78 private static final String TAG_IMPORTANCE = "importance" ; 79 private static final String TAG_INITIALS = "initials" ; 80 private static final String TAG_JOBTITLE = "title" ; 81 private static final String TAG_LANGUAGE = "language" ; 82 public static final String TAG_LASTNAME = "sn" ; 83 public static final String TAG_MIDDLENAME = "middlename" ; 84 private static final String TAG_MILEAGE = "mileage" ; 85 private static final String TAG_SUFFIX = "namesuffix" ; 86 private static final String TAG_NICKNAME = "nickname" ; 87 private static final String TAG_OFFICE_LOCATION = "roomnumber" ; 88 private static final String TAG_ORGANIZATION = "organization" ; 89 private static final String TAG_ORGANIZATION_ID_NUMBER 90 = "employeenumber" ; 91 private static final String TAG_OTHER_CITY = "othercity" ; 92 private static final String TAG_OTHER_COUNTRY = "othercountry" ; 93 private static final String TAG_OTHER_POSTALCODE = "otherpostalcode" ; 94 private static final String TAG_OTHER_POST_OFFICE_BOX 95 = "otherpostofficebox" ; 96 private static final String TAG_OTHER_STATE = "otherstate" ; 97 private static final String TAG_OTHER_STREET = "otherstreet" ; 98 private static final String TAG_SECRETARY = "secretarycn" ; 99 private static final String TAG_SENSITIVITY = "sensitivity" ; 100 private static final String TAG_SPOUSECN = "spousecn" ; 101 private static final String TAG_TITLE = "personaltitle" ; 102 private static final String TAG_WORK_CITY = "city" ; 103 private static final String TAG_WORK_COUNTRY = "country" ; 104 private static final String TAG_WORK_POSTALCODE = "postalcode" ; 105 private static final String TAG_WORK_POST_OFFICE_BOX 106 = "postofficebox" ; 107 private static final String TAG_WORK_STATE = "state" ; 108 private static final String TAG_WORK_STREET = "street" ; 109 110 private static final String  111 TAG_YOMI_COMPANY_NAME = "yomiorganization" ; 112 private static final String TAG_YOMI_FIRST_NAME = "yomilastname" ; 113 private static final String TAG_YOMI_LAST_NAME = "yomifirstname" ; 114 115 private static final String TAG_CALL_BACK_PHONE = "callbackphone" ; 116 private static final String  117 TAG_FAC_SIMILE_TELEPHONE_NUMBER 118 = "facsimiletelephonenumber" ; 119 private static final String TAG_HOME_FAX = "homefax" ; 120 private static final String TAG_HOME_PHONE = "homephone" ; 121 private static final String TAG_HOME_PHONE2 = "homephone2" ; 122 private static final String TAG_ISDN_NUMBER 123 = "internationalisdnnumber" ; 124 private static final String TAG_MANAGER = "manager" ; 125 private static final String TAG_MOBILE = "mobile" ; 126 private static final String  127 TAG_ORGANIZATION_MAIN_PHONE 128 = "organizationmainphone" ; 129 private static final String TAG_OTHER_FAX = "otherfax" ; 130 private static final String TAG_OTHER_MOBILE = "othermobile" ; 131 private static final String TAG_OTHER_TELEPHONE 132 = "othertelephone" ; 133 private static final String TAG_PAGER = "pager" ; 134 private static final String TAG_PROFESSION = "profession" ; 135 private static final String TAG_SECRETARY_PHONE = "secretaryphone" ; 136 private static final String TAG_TELEPHONE_NUMBER = "telephonenumber" ; 137 private static final String TAG_TELEPHONE_NUMBER2 = "telephonenumber2" ; 138 private static final String TAG_TELEX_NUMBER = "telexnumber" ; 139 140 private static final String TAG_COMPUTER_NETWORK_NAME 141 = "computernetworkname" ; 142 143 private static final String  144 TAG_BUSINESS_HOME_PAGE 145 = "businesshomepage" ; 146 private static final String  147 TAG_PERSONAL_HOME_PAGE 148 = "personalHomePage" ; 149 150 public static final String TAG_EMAIL1 = "email1" ; 151 private static final String TAG_EMAIL2 = "email2" ; 152 private static final String TAG_EMAIL3 = "email3" ; 153 154 private static final String TAG_EMAIL1_ADDRESS_TYPE 155 = "email1addrtype" ; 156 private static final String TAG_EMAIL2_ADDRESS_TYPE 157 = "email2addrtype" ; 158 private static final String TAG_EMAIL3_ADDRESS_TYPE 159 = "email3addrtype" ; 160 161 private static final String TAG_RESPONSE = "a:response" ; 162 private static final String TAG_REPLUID = "repluid" ; 163 private static final String TAG_LAST_MODIFIED = "getlastmodified" ; 164 165 166 private static final String WEBDAV_MSG_SELECT_CONTACTS = 167 "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + 168 "<D:searchrequest xmlns:D =\"DAV:\">\n" + 169 "<D:sql>\n" + 170 "Select " + 171 "\"http://schemas.microsoft.com/repl/repl-uid\" AS repluid, " + 172 "\"urn:schemas:contacts:weddinganniversary\" AS " 173 + TAG_ANNIVERSARY + ", " + 174 "\"urn:schemas:contacts:bday\" AS " + TAG_BIRTHDAY + ", " + 175 "\"urn:schemas:contacts:childrensnames\" AS " + TAG_CHILDREN + ", " + 176 "\"urn:schemas:contacts:fileas\" AS " + TAG_FILEAS + ", " + 177 "\"urn:schemas:contacts:givenName\" AS " + TAG_FIRSTNAME + ", " + 178 "\"http://schemas.microsoft.com/exchange/keywords-utf8\" AS " 179 + TAG_CATEGORIES + ", " + 180 "\"urn:schemas:contacts:hobbies\" AS " + TAG_HOBBY + ", " + 181 "\"urn:schemas:httpmail:importance\" AS " + TAG_IMPORTANCE + ", " + 182 "\"urn:schemas:contacts:initials\" AS " + TAG_INITIALS + ", " + 183 "\"urn:schemas:contacts:sn\" AS " + TAG_LASTNAME + ", " + 184 "\"urn:schemas:contacts:language\" AS " + TAG_LANGUAGE + ", " + 185 "\"urn:schemas:contacts:title\" AS " + TAG_JOBTITLE + ", " + 186 "\"urn:schemas:contacts:middlename\" AS " + TAG_MIDDLENAME + ", " + 187 "\"urn:schemas:contacts:mileage\" AS " + TAG_MILEAGE + ", " + 188 "\"urn:schemas:contacts:nickname\" AS " + TAG_NICKNAME + ", " + 189 "\"urn:schemas:contacts:o\" AS " + TAG_ORGANIZATION + ", " + 190 "\"urn:schemas:contacts:sensitivity\" AS " + TAG_SENSITIVITY + ", " + 191 "\"urn:schemas:contacts:spousecn\" AS " + TAG_SPOUSECN + ", " + 192 "\"urn:schemas:contacts:namesuffix\" AS " + TAG_SUFFIX + ", " + 193 "\"urn:schemas:contacts:personaltitle\" AS " + TAG_TITLE + ", " + 194 "\"http://schemas.microsoft.com/exchange/yomiorganization\" AS " 195 + TAG_YOMI_COMPANY_NAME + ", " + 196 "\"http://schemas.microsoft.com/exchange/yomifirstname\" AS " 197 + TAG_YOMI_FIRST_NAME + ", " + 198 "\"http://schemas.microsoft.com/exchange/yomilastname\" AS " 199 + TAG_YOMI_LAST_NAME + ", " + 200 "\"urn:schemas:contacts:homeStreet\" AS " + TAG_HOME_STREET + ", " + 201 "\"urn:schemas:contacts:homeCity\" AS " + TAG_HOME_CITY + ", " + 202 "\"urn:schemas:contacts:homeState\" AS " + TAG_HOME_STATE + ", " + 203 "\"urn:schemas:contacts:homePostalCode\" AS " + TAG_HOME_POSTAL_CODE + ", " + 204 "\"urn:schemas:contacts:homepostofficebox\" AS "+ 205 TAG_HOME_POST_OFFICE_BOX + ", " + 206 "\"urn:schemas:contacts:homeCountry\" AS " + TAG_HOME_COUNTRY + ", " + 207 208 "\"urn:schemas:contacts:street\" AS " + TAG_WORK_STREET + ", " + 209 "\"urn:schemas:contacts:l\" AS " + TAG_WORK_CITY + ", " + 210 "\"urn:schemas:contacts:st\" AS " + TAG_WORK_STATE + ", " + 211 "\"urn:schemas:contacts:postalcode\" AS " + TAG_WORK_POSTALCODE + ", " + 212 "\"urn:schemas:contacts:postofficebox\" AS " + 213 TAG_WORK_POST_OFFICE_BOX + ", " + 214 "\"urn:schemas:contacts:co\" AS " + TAG_WORK_COUNTRY + ", " + 215 216 "\"urn:schemas:contacts:otherstreet\" AS " + TAG_OTHER_STREET + ", " + 217 "\"urn:schemas:contacts:othercity\" AS " + TAG_OTHER_CITY + ", " + 218 "\"urn:schemas:contacts:otherstate\" AS " + TAG_OTHER_STATE + ", " + 219 "\"urn:schemas:contacts:otherpostalcode\" AS " + TAG_OTHER_POSTALCODE + ", " + 220 "\"urn:schemas:contacts:otherpostofficebox\" AS " 221 + TAG_OTHER_POST_OFFICE_BOX + ", " + 222 "\"urn:schemas:contacts:othercountry\" AS " + TAG_OTHER_COUNTRY + ", " + 223 224 "\"urn:schemas:contacts:callbackphone\" AS " + TAG_CALL_BACK_PHONE + ", " + 225 "\"urn:schemas:contacts:facsimiletelephonenumber\" " + 226 "AS " + 227 TAG_FAC_SIMILE_TELEPHONE_NUMBER + ", " + 228 "\"urn:schemas:contacts:homefax\" AS " + TAG_HOME_FAX + ", " + 229 "\"urn:schemas:contacts:homePhone\" AS " + TAG_HOME_PHONE + ", " + 230 "\"urn:schemas:contacts:homephone2\" AS " + TAG_HOME_PHONE2 + ", " + 231 "\"urn:schemas:contacts:mobile\" AS " + TAG_MOBILE + ", " + 232 "\"urn:schemas:contacts:internationalisdnnumber\" AS " + 233 TAG_ISDN_NUMBER + ", " + 234 "\"urn:schemas:contacts:organizationmainphone\" " + 235 "AS " + 236 TAG_ORGANIZATION_MAIN_PHONE + ", " + 237 "\"urn:schemas:contacts:otherfax\" AS " + TAG_OTHER_FAX + ", " + 238 "\"urn:schemas:contacts:othermobile\" AS " + TAG_OTHER_MOBILE + ", " + 239 "\"urn:schemas:contacts:otherTelephone\" AS " + TAG_OTHER_TELEPHONE + ", " + 240 "\"urn:schemas:contacts:pager\" AS " + TAG_PAGER + ", " + 241 "\"urn:schemas:contacts:secretaryphone\" AS " + TAG_SECRETARY_PHONE + ", " + 242 "\"urn:schemas:contacts:telephoneNumber\" AS " + TAG_TELEPHONE_NUMBER + ", " + 243 "\"urn:schemas:contacts:telephonenumber2\" AS " + TAG_TELEPHONE_NUMBER2 + ", " + 244 "\"urn:schemas:contacts:telexnumber\" AS " + TAG_TELEX_NUMBER + ", " + 245 246 "\"urn:schemas:contacts:businesshomepage\" AS " + TAG_BUSINESS_HOME_PAGE + ", " + 247 "\"urn:schemas:contacts:personalHomePage\" AS " + TAG_PERSONAL_HOME_PAGE + ", " + 248 249 "\"urn:schemas:contacts:department\" AS " + TAG_DEPARTMENT + ", " + 250 "\"urn:schemas:contacts:roomnumber\" AS " + TAG_OFFICE_LOCATION + ", " + 251 "\"urn:schemas:contacts:employeenumber\" AS " + 252 TAG_ORGANIZATION_ID_NUMBER + ", " + 253 "\"urn:schemas:contacts:profession\" AS " + TAG_PROFESSION + ", " + 254 "\"urn:schemas:contacts:manager\" AS " + TAG_MANAGER + ", " + 255 "\"urn:schemas:contacts:secretarycn\" AS " + TAG_SECRETARY + ", " + 256 257 "\"urn:schemas:contacts:email1\" AS " + TAG_EMAIL1 + ", " + 258 "\"urn:schemas:contacts:email2\" AS " + TAG_EMAIL2 + ", " + 259 "\"urn:schemas:contacts:email3\" AS " + TAG_EMAIL3 + ", " + 260 "\"urn:schemas:contacts:email1addrtype\" AS " + 261 TAG_EMAIL1_ADDRESS_TYPE + ", " + 262 "\"urn:schemas:contacts:email2addrtype\" AS " + 263 TAG_EMAIL2_ADDRESS_TYPE + ", " + 264 "\"urn:schemas:contacts:email3addrtype\" AS " + 265 TAG_EMAIL3_ADDRESS_TYPE + ", " + 266 267 "\"urn:schemas:contacts:computernetworkname\" AS " 268 + TAG_COMPUTER_NETWORK_NAME + ", " + 269 "\"DAV:displayname\", " + 270 "\"DAV:getlastmodified\" AS getlastmodified, " + 271 "\"DAV:isfolder\" AS isfolder " + 272 "FROM \"/{0}/{1}/{2}\" " + 273 "{3} " + 274 "</D:sql>\n" + 275 "</D:searchrequest>" ; 276 277 private static final String  278 FIELD_PREFIX = "urn:schemas:contacts:" ; 279 280 private static final String  281 WEBDAV_INIT_EX = "EX:" ; 282 private static final String  283 WEBDAV_INIT_HG = "HG:" ; 284 private static final String  285 WEBDAV_INIT_HM = "HM:" ; 286 private static final String  287 WEBDAV_INIT_HN = "HN:" ; 288 private static final String  289 WEBDAV_INIT_HO = "HO:" ; 290 291 private static final String  292 WEBDAV_INIT_MAPI = "mapi:" ; 293 294 private static final String  295 WEBDAV_TAG_ANNIVERSARY = WEBDAV_INIT_HM + 296 "weddinganniversary" ; 297 private static final String  298 WEBDAV_TAG_ASSISTANT = WEBDAV_INIT_HM + 299 "secretarycn" ; 300 private static final String  301 WEBDAV_TAG_BIRTHDAY = WEBDAV_INIT_HM + 302 "bday" ; 303 private static final String  304 WEBDAV_TAG_CATEGORIES = WEBDAV_INIT_EX + 305 "keywords-utf8" ; 306 private static final String  307 WEBDAV_TAG_CHILDREN = WEBDAV_INIT_HM + 308 "childrensnames" ; 309 private static final String  310 WEBDAV_TAG_CN = WEBDAV_INIT_HM + 311 "cn" ; 312 private static final String  313 WEBDAV_TAG_COMPANY = WEBDAV_INIT_HM + 314 "o" ; 315 private static final String  316 WEBDAV_TAG_DEPARTMENT = WEBDAV_INIT_HM + 317 "department" ; 318 private static final String  319 WEBDAV_TAG_FILE_AS = WEBDAV_INIT_HM + 320 "fileas" ; 321 private static final String  322 WEBDAV_TAG_FIRST_NAME = WEBDAV_INIT_HM + 323 "givenName" ; 324 private static final String  325 WEBDAV_TAG_HOBBY = WEBDAV_INIT_HM + 326 "hobbies" ; 327 private static final String  328 WEBDAV_TAG_HOME_CITY = WEBDAV_INIT_HM + 329 "homeCity" ; 330 private static final String  331 WEBDAV_TAG_HOME_COUNTRY = WEBDAV_INIT_HM + 332 "homeCountry" ; 333 private static final String  334 WEBDAV_TAG_HOME_POSTALCODE = WEBDAV_INIT_HM + 335 "homePostalCode" ; 336 private static final String  337 WEBDAVTAG_HOME_POST_OFFICE_BOX 338 = WEBDAV_INIT_HM + 339 "homepostofficebox" ; 340 private static final String  341 WEBDAV_TAG_HOME_STATE = WEBDAV_INIT_HM + 342 "homeState" ; 343 private static final String  344 WEBDAV_TAG_HOME_STREET = WEBDAV_INIT_HM + 345 "homeStreet" ; 346 private static final String  347 WEBDAV_TAG_IMPORTANCE = WEBDAV_INIT_HN + 348 "importance" ; 349 private static final String  350 WEBDAV_TAG_INITIALS = WEBDAV_INIT_HM + 351 "initials" ; 352 private static final String  353 WEBDAV_TAG_JOB_TITLE = WEBDAV_INIT_HM + 354 "title" ; 355 private static final String  356 WEBDAV_TAG_LANGUAGE = WEBDAV_INIT_HM + 357 "language"; 358 private static final String  359 WEBDAV_TAG_LAST_NAME = WEBDAV_INIT_HM + 360 "sn" ; 361 private static final String  362 WEBDAV_TAG_MANAGER = WEBDAV_INIT_HM + 363 "manager" ; 364 private static final String  365 WEBDAV_TAG_MIDDLE_NAME = WEBDAV_INIT_HM + 366 "middlename" ; 367 private static final String  368 WEBDAV_TAG_MILEAGE = WEBDAV_INIT_EX + 369 "mileage" ; 370 private static final String  371 WEBDAV_TAG_NICKNAME = WEBDAV_INIT_HM + 372 "nickname" ; 373 private static final String  374 WEBDAV_TAG_OFFICE_LOCATION = WEBDAV_INIT_HM + 375 "roomnumber" ; 376 private static final String  377 WEBDAV_TAG_OTHER_CITY = WEBDAV_INIT_HM + 378 "othercity" ; 379 private static final String  380 WEBDAV_TAG_OTHER_COUNTRY = WEBDAV_INIT_HM + 381 "othercountry" ; 382 private static final String  383 WEBDAV_TAG_OTHER_POSTALCODE = WEBDAV_INIT_HM + 384 "otherpostalcode" ; 385 private static final String  386 WEBDAV_TAG_OTHER_POST_OFFICE_BOX 387 = WEBDAV_INIT_HM + 388 "otherpostofficebox" ; 389 390 private static final String  391 WEBDAV_TAG_OTHER_STATE = WEBDAV_INIT_HM + 392 "otherstate" ; 393 private static final String  394 WEBDAV_TAG_OTHER_STREET = WEBDAV_INIT_HM + 395 "otherstreet" ; 396 private static final String  397 WEBDAV_TAG_ORGANIZATION_ID_NUMBER 398 = WEBDAV_INIT_HM + 399 "employeenumber" ; 400 private static final String  401 WEBDAV_TAG_PROFESSION = WEBDAV_INIT_HM + 402 "profession" ; 403 private static final String  404 WEBDAV_TAG_SENSITIVITY = WEBDAV_INIT_MAPI + 405 "sensitivity" ; 406 private static final String  407 WEBDAV_TAG_SPOUSE = WEBDAV_INIT_HM + 408 "spousecn" ; 409 private static final String  410 WEBDAV_TAG_SUBJECT1 = WEBDAV_INIT_HN + 411 "subject" ; 412 private static final String  413 WEBDAV_TAG_SUBJECT2 = WEBDAV_INIT_HO + 414 "subject" ; 415 private static final String  416 WEBDAV_TAG_SUFFIX = WEBDAV_INIT_HM + 417 "namesuffix" ; 418 private static final String  419 WEBDAV_TAG_TITLE = WEBDAV_INIT_HM + 420 "personaltitle" ; 421 private static final String  422 WEBDAV_TAG_WORK_CITY = WEBDAV_INIT_HM + 423 "l" ; 424 private static final String  425 WEBDAV_TAG_WORK_COUNTRY = WEBDAV_INIT_HM + 426 "co" ; 427 private static final String  428 WEBDAV_TAG_WORK_POSTALCODE = WEBDAV_INIT_HM + 429 "postalcode" ; 430 private static final String  431 WEBDAV_TAG_WORK_POST_OFFICE_BOX = WEBDAV_INIT_HM + 432 "postofficebox" ; 433 private static final String  434 WEBDAV_TAG_WORK_STATE = WEBDAV_INIT_HM + 435 "st" ; 436 private static final String  437 WEBDAV_TAG_WORK_STREET = WEBDAV_INIT_HM + 438 "street" ; 439 440 private static final String  441 WEBDAV_TAG_YOMI_COMAPANY_NAME = WEBDAV_INIT_EX + 442 "yomiorganization" ; 443 private static final String  444 WEBDAV_TAG_YOMI_FIRST_NAME = WEBDAV_INIT_EX + 445 "yomifirstname" ; 446 private static final String  447 WEBDAV_TAG_YOMI_LAST_NAME = WEBDAV_INIT_EX + 448 "yomilastname" ; 449 private static final String  450 WEBDAV_TAG_ASSISTANT_PHONE = WEBDAV_INIT_HM + 451 "secretaryphone" ; 452 private static final String  453 WEBDAV_TAG_CALLBACK_PHONE = WEBDAV_INIT_HM + 454 "callbackphone" ; 455 private static final String  456 WEBDAV_TAG_COMPANY_PHONE = WEBDAV_INIT_HM + 457 "organizationmainphone" ; 458 private static final String  459 WEBDAV_TAG_HOME_FAX = WEBDAV_INIT_HM + 460 "homefax" ; 461 private static final String  462 WEBDAV_TAG_HOME_OTHER_PHONE = WEBDAV_INIT_HM + 463 "homephone2" ; 464 private static final String  465 WEBDAV_TAG_HOME_PHONE = WEBDAV_INIT_HM + 466 "homePhone" ; 467 private static final String  468 WEBDAV_TAG_MOBILE_OTHER_PHONE = WEBDAV_INIT_HM + 469 "othermobile" ; 470 private static final String  471 WEBDAV_TAG_MOBILE_PHONE = WEBDAV_INIT_HM + 472 "mobile" ; 473 private static final String  474 WEBDAV_TAG_OTHER_FAX = WEBDAV_INIT_HM + 475 "otherfax" ; 476 private static final String  477 WEBDAV_TAG_OTHER_PHONE = WEBDAV_INIT_HM + 478 "otherTelephone" ; 479 private static final String  480 WEBDAV_TAG_PAGER = WEBDAV_INIT_HM + 481 "pager" ; 482 private static final String  483 WEBDAV_TAG_TELEX_NUMBER = WEBDAV_INIT_HM + 484 "telexnumber" ; 485 private static final String  486 WEBDAV_TAG_WORK_FAX = WEBDAV_INIT_HM + 487 "facsimiletelephonenumber" ; 488 private static final String  489 WEBDAV_TAG_WORK_OTHER_PHONE = WEBDAV_INIT_HM + 490 "telephonenumber2" ; 491 private static final String  492 WEBDAV_TAG_WORK_PHONE = WEBDAV_INIT_HM + 493 "telephoneNumber" ; 494 495 private static final String  496 WEBDAV_TAG_BUSINESS_HOME_PAGE = WEBDAV_INIT_HM + 497 "businesshomepage" ; 498 private static final String  499 WEBDAV_TAG_PERSONAL_HOME_PAGE = WEBDAV_INIT_HM + 500 "personalHomePage" ; 501 private static final String  502 WEBDAV_TAG_EMAIL1 = WEBDAV_INIT_HM + 503 "email1" ; 504 private static final String  505 WEBDAV_TAG_EMAIL2 = WEBDAV_INIT_HM + 506 "email2" ; 507 private static final String  508 WEBDAV_TAG_EMAIL3 = WEBDAV_INIT_HM + 509 "email3" ; 510 private static final String  511 WEBDAV_TAG_EMAIL1_ADDRESS_TYPE = WEBDAV_INIT_MAPI + 512 "email1addrtype" ; 513 private static final String  514 WEBDAV_TAG_EMAIL2_ADDRESS_TYPE = WEBDAV_INIT_MAPI +
|