1 | public void importAddressbook(File file) throws Exception {
↵ | | 1 | public void importAddressbook(File file) throws Exception {↵
|
|
2 | LOG.info("importing addressbook::::"); //$NON-NLS-1$↵ | | 2 | ↵
|
3 |
↵ | | 3 | // open file↵
|
4 | BufferedReader in = new BufferedReader(new FileReader(file));
↵ | | 4 | BufferedReader in = new BufferedReader(new FileReader(file));↵
|
5 | String str;↵ | | 5 | String str;↵
|
6 |
↵ | | |
|
|
7 | while ((str = in.readLine()) != null) {
↵ | | 6 | while ((str = in.readLine()) != null) {↵
|
8 | // start parsing line
↵ | | 7 | // start parsing line↵
|
9 | int counter = -1;
↵ | | 8 | int counter = -1;↵
|
|
| | | 9 | // create new contact card↵
|
10 | ContactModel card = new ContactModel();↵ | | 10 | ContactModel card = new ContactModel();↵
|
11 |
↵ | | |
|
|
12 | StringBuffer token = new StringBuffer();
↵ | | 11 | StringBuffer token = new StringBuffer();↵
|
13 | int pos = 0;↵ | | 12 | int pos = 0;↵
|
14 |
↵ | | |
|
15 | while (pos < str.length()) {
↵ | | 13 | while (pos < str.length()) {↵
|
16 | char ch = str.charAt(pos);↵ | | 14 | char ch = str.charAt(pos);↵
|
17 |
↵ | | |
|
|
18 | if (ch == ',') {
↵ | | 15 | if (ch == ',') {↵
|
19 | // found new token
↵ | | 16 | // found new token↵
|
20 | counter++;↵ | | 17 | counter++;↵
|
21 |
↵ | | |
|
|
22 | if (counter == 0) {
↵ | | 18 | if (counter == 0) {↵
|
23 | card.setGivenName(token.toString());
↵ | | 19 | card.setGivenName(token.toString());↵
|
24 | } else if (counter == 1) {
↵ | | 20 | } else if (counter == 1) {↵
|
25 | card.setFamilyName(token.toString());
↵ | | 21 | card.setFamilyName(token.toString());↵
|
26 | } else if (counter == 2) {↵ | | 22 | } else if (counter == 2) {↵
|
27 | // backwards compatibility
↵ | | |
|
28 | card.setSortString(token.toString());
↵ | | 23 | card.setSortString(token.toString());↵
|
29 | } else if (counter == 3) {
↵ | | 24 | } else if (counter == 3) {↵
|
30 | card.setNickName(token.toString());
↵ | | 25 | card.setNickName(token.toString());↵
|
31 | } else if (counter == 4) {
↵ | | 26 | } else if (counter == 4) {↵
|
32 | card.addEmail(new EmailModel(token.toString(),
↵ | | 27 | card.addEmail(new EmailModel(token.toString(),↵
|
33 | EmailModel.TYPE_WORK));
↵ | | 28 | EmailModel.TYPE_WORK));↵
|
34 | } else if (counter == 5) {
↵ | | 29 | } else if (counter == 5) {↵
|
35 | card.addEmail(new EmailModel(token.toString(),
↵ | | 30 | card.addEmail(new EmailModel(token.toString(),↵
|
36 | EmailModel.TYPE_HOME));
↵ | | 31 | EmailModel.TYPE_HOME));↵
|
37 | } else if (counter == 8) {
↵ | | 32 | } else if (counter == 8) {↵
|
38 | card.addPhone(new PhoneModel(token.toString(),
↵ | | 33 | card.addPhone(new PhoneModel(token.toString(),↵
|
39 | PhoneModel.TYPE_BUSINESS_PHONE));
↵ | | 34 | PhoneModel.TYPE_BUSINESS_PHONE));↵
|
40 | } else if (counter == 9) {
↵ | | 35 | } else if (counter == 9) {↵
|
41 | card.addPhone(new PhoneModel(token.toString(),
↵ | | 36 | card.addPhone(new PhoneModel(token.toString(),↵
|
42 | PhoneModel.TYPE_HOME_PHONE));
↵ | | 37 | PhoneModel.TYPE_HOME_PHONE));↵
|
43 | }↵ | | 38 | }↵
|
44 |
↵ | | |
|
|
45 | token = new StringBuffer();
↵ | | 39 | token = new StringBuffer();↵
|
|
46 | } else {
↵ | | 40 | } else {↵
|
47 | token.append(ch);
↵ | | 41 | token.append(ch);↵
|
48 | }↵ | | 42 | }↵
|
49 |
↵ | | |
|
|
50 | pos++;
↵ | | 43 | pos++;↵
|
|
51 | }↵ | | 44 | }↵
|
52 |
↵ | | |
|
|
| | | 45 | // add contact to addressbook↵
|
53 | saveContact(card);
↵ | | 46 | saveContact(card);↵
|
|
54 | }↵ | | 47 | }↵
|
55 |
↵ | | |
|
|
56 | in.close();
↵ | | 48 | in.close();↵
|
57 | | | 49 |
|