1 package org.columba.addressbook.folder.importfilter; 19 20 import java.io.BufferedReader ; 21 import java.io.File ; 22 import java.io.FileReader ; 23 24 import org.columba.addressbook.folder.AbstractFolder; 25 import org.columba.addressbook.model.ContactModel; 26 import org.columba.addressbook.model.EmailModel; 27 import org.columba.addressbook.model.PhoneModel; 28 import org.columba.addressbook.util.AddressbookResourceLoader; 29 30 34 public class MozillaCSVAddressbookImporter extends DefaultAddressbookImporter { 35 36 private static final java.util.logging.Logger LOG = java.util.logging.Logger 37 .getLogger("org.columba.addressbook.folder.importfilter"); 39 public MozillaCSVAddressbookImporter() { 40 super(); 41 } 42 43 public MozillaCSVAddressbookImporter(File sourceFile, 44 AbstractFolder destinationFolder) { 45 super(sourceFile, destinationFolder); 46 } 47 48 public void importAddressbook(File file) throws Exception { 49 LOG.info("importing addressbook::::"); 51 BufferedReader in = new BufferedReader (new FileReader (file)); 52 String str; 53 54 while ((str = in.readLine()) != null) { 55 int counter = -1; 57 ContactModel card = new ContactModel(); 58 59 StringBuffer token = new StringBuffer (); 60 int pos = 0; 61 62 while (pos < str.length()) { 63 char ch = str.charAt(pos); 64 65 if (ch == ',') { 66 counter++; 68 69 if (counter == 0) { 70 card.setGivenName(token.toString()); 71 } else if (counter == 1) { 72 card.setFamilyName(token.toString()); 73 } else if (counter == 2) { 74 card.setSortString(token.toString()); 76 } else if (counter == 3) { 77 card.setNickName(token.toString()); 78 } else if (counter == 4) { 79 card.addEmail(new EmailModel(token.toString(), 80 EmailModel.TYPE_WORK)); 81 } else if (counter == 5) { 82 card.addEmail(new EmailModel(token.toString(), 83 EmailModel.TYPE_HOME)); 84 } else if (counter == 8) { 85 card.addPhone(new PhoneModel(token.toString(), 86 PhoneModel.TYPE_BUSINESS_PHONE)); 87 } else if (counter == 9) { 88 card.addPhone(new PhoneModel(token.toString(), 89 PhoneModel.TYPE_HOME_PHONE)); 90 } 91 92 token = new StringBuffer (); 93 } else { 94 token.append(ch); 95 } 96 97 pos++; 98 } 99 100 saveContact(card); 101 } 102 103 in.close(); 104 } 105 106 public String getDescription() { 107 return AddressbookResourceLoader.getString("dialog", 108 "addressbookimport", "mozillacsvaddressbook_description"); 109 } 110 } 111 | Popular Tags |