1 19 import java.io.BufferedReader ; 20 import java.io.File ; 21 import java.io.FileReader ; 22 23 import org.columba.addressbook.folder.AbstractFolder; 24 import org.columba.addressbook.folder.importfilter.DefaultAddressbookImporter; 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 37 public class CSVAddressbookImporter extends DefaultAddressbookImporter { 38 39 public CSVAddressbookImporter() { 40 super(); 41 } 42 43 public CSVAddressbookImporter(File sourceFile, 44 AbstractFolder destinationFolder) { 45 super(sourceFile, destinationFolder); 46 } 47 48 public void importAddressbook(File file) throws Exception { 49 50 BufferedReader in = new BufferedReader (new FileReader (file)); 52 String str; 53 54 while ((str = in.readLine()) != null) { 55 int counter = -1; 57 58 ContactModel card = new ContactModel(); 60 61 StringBuffer token = new StringBuffer (); 62 int pos = 0; 63 while (pos < str.length()) { 64 char ch = str.charAt(pos); 65 66 if (ch == ',') { 67 counter++; 69 70 if (counter == 0) { 71 card.setGivenName(token.toString()); 72 } else if (counter == 1) { 73 card.setFamilyName(token.toString()); 74 } else if (counter == 2) { 75 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 94 } else { 95 token.append(ch); 96 } 97 98 pos++; 99 100 } 101 102 saveContact(card); 104 105 } 106 107 in.close(); 108 } 109 110 public String getDescription() { 111 return AddressbookResourceLoader.getString("dialog", 112 "addressbookimport", "mozillacsvaddressbook_description"); 113 } 114 115 } 116
| Popular Tags
|