KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > addressbook > folder > importfilter > MozillaCSVAddressbookImporter


1 // The contents of this file are subject to the Mozilla Public License Version
2
// 1.1
3
//(the "License"); you may not use this file except in compliance with the
4
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
5
//
6
//Software distributed under the License is distributed on an "AS IS" basis,
7
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8
//for the specific language governing rights and
9
//limitations under the License.
10
//
11
//The Original Code is "The Columba Project"
12
//
13
//The Initial Developers of the Original Code are Frederik Dietz and Timo
14
// Stich.
15
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16
//
17
//All Rights Reserved.
18
package org.columba.addressbook.folder.importfilter;
19
20 import java.io.BufferedReader JavaDoc;
21 import java.io.File JavaDoc;
22 import java.io.FileReader JavaDoc;
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 /**
31  * @version 1.0
32  * @author
33  */

34 public class MozillaCSVAddressbookImporter extends DefaultAddressbookImporter {
35
36     private static final java.util.logging.Logger JavaDoc LOG = java.util.logging.Logger
37             .getLogger("org.columba.addressbook.folder.importfilter"); //$NON-NLS-1$
38

39     public MozillaCSVAddressbookImporter() {
40         super();
41     }
42
43     public MozillaCSVAddressbookImporter(File JavaDoc sourceFile,
44             AbstractFolder destinationFolder) {
45         super(sourceFile, destinationFolder);
46     }
47
48     public void importAddressbook(File JavaDoc file) throws Exception JavaDoc {
49         LOG.info("importing addressbook::::"); //$NON-NLS-1$
50

51         BufferedReader JavaDoc in = new BufferedReader JavaDoc(new FileReader JavaDoc(file));
52         String JavaDoc str;
53
54         while ((str = in.readLine()) != null) {
55             // start parsing line
56
int counter = -1;
57             ContactModel card = new ContactModel();
58
59             StringBuffer JavaDoc token = new StringBuffer JavaDoc();
60             int pos = 0;
61
62             while (pos < str.length()) {
63                 char ch = str.charAt(pos);
64
65                 if (ch == ',') {
66                     // found new token
67
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                         // backwards compatibility
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 JavaDoc();
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 JavaDoc getDescription() {
107         return AddressbookResourceLoader.getString("dialog",
108                 "addressbookimport", "mozillacsvaddressbook_description");
109     }
110 }
111
Popular Tags