public void importAddressbook(File file) throws Exception { LOG.info("importing addressbook::::"); //$NON-NLS-1$ BufferedReader in = new BufferedReader(new FileReader(file)); String str; while ((str = in.readLine()) != null) { // start parsing line int counter = -1; ContactModel card = new ContactModel(); StringBuffer token = new StringBuffer(); int pos = 0; while (pos < str.length()) { char ch = str.charAt(pos); if (ch == ',') { // found new token counter++; if (counter == 0) { card.setGivenName(token.toString()); } else if (counter == 1) { card.setFamilyName(token.toString()); } else if (counter == 2) { // backwards compatibility card.setSortString(token.toString()); } else if (counter == 3) { card.setNickName(token.toString()); } else if (counter == 4) { card.addEmail(new EmailModel(token.toString(), EmailModel.TYPE_WORK)); } else if (counter == 5) { card.addEmail(new EmailModel(token.toString(), EmailModel.TYPE_HOME)); } else if (counter == 8) { card.addPhone(new PhoneModel(token.toString(), PhoneModel.TYPE_BUSINESS_PHONE)); } else if (counter == 9) { card.addPhone(new PhoneModel(token.toString(), PhoneModel.TYPE_HOME_PHONE)); } token = new StringBuffer(); } else { token.append(ch); } pos++; } saveContact(card); } in.close();
public void importAddressbook(File file) throws Exception { // open file BufferedReader in = new BufferedReader(new FileReader(file)); String str; while ((str = in.readLine()) != null) { // start parsing line int counter = -1; // create new contact card ContactModel card = new ContactModel(); StringBuffer token = new StringBuffer(); int pos = 0; while (pos < str.length()) { char ch = str.charAt(pos); if (ch == ',') { // found new token counter++; if (counter == 0) { card.setGivenName(token.toString()); } else if (counter == 1) { card.setFamilyName(token.toString()); } else if (counter == 2) { card.setSortString(token.toString()); } else if (counter == 3) { card.setNickName(token.toString()); } else if (counter == 4) { card.addEmail(new EmailModel(token.toString(), EmailModel.TYPE_WORK)); } else if (counter == 5) { card.addEmail(new EmailModel(token.toString(), EmailModel.TYPE_HOME)); } else if (counter == 8) { card.addPhone(new PhoneModel(token.toString(), PhoneModel.TYPE_BUSINESS_PHONE)); } else if (counter == 9) { card.addPhone(new PhoneModel(token.toString(), PhoneModel.TYPE_HOME_PHONE)); } token = new StringBuffer(); } else { token.append(ch); } pos++; } // add contact to addressbook saveContact(card); } in.close();
Clone fragments detected by clone detection tool
File path: /columba-1.4-src/contact/src/main/java/org/columba/addressbook/folder/importfilter/MozillaCSVAddressbookImporter.java File path: /columba-1.4-src/plugins/org.columba.example.CSVAddressbookImportFilter/src/CSVAddressbookImporter.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
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
	
Summary
Number of common nesting structure subtrees0
Number of refactorable cases0
Number of non-refactorable cases0
Time elapsed for finding largest common nesting structure subtrees (ms)0.0
Clones location
Number of node comparisons0