Iterator getPhoneIterator() { Element child = getParentElement().getChild(VCARD.TEL); // if not specified return empty iterator if (child == null) return new Vector().iterator(); Iterator it = child.getChildren().iterator(); Vector v = new Vector(); while (it.hasNext()) { Element e = (Element) it.next(); v.add(new PhoneModel(e.getValue(), e.getName())); } return v.iterator(); } public void addPhone(PhoneModel m) { Element child = getParentElement().getChild(VCARD.TEL); if (child == null) { child = new Element(VCARD.TEL); getParentElement().addContent(child); } Element prefixchild = new Element(m.getTypeString()); child.addContent(prefixchild); prefixchild.setText(m.getNumber());
Iterator getInstantMessagingIterator() { Element child = getParentElement().getChild(VCARD.IM); // if not specified return empty iterator if (child == null) return new Vector().iterator(); Iterator it = child.getChildren().iterator(); Vector v = new Vector(); while (it.hasNext()) { Element e = (Element) it.next(); v.add(new InstantMessagingModel(e.getValue(), e.getName())); } return v.iterator(); } public void addInstantMessaging(InstantMessagingModel m) { Element child = getParentElement().getChild(VCARD.IM); if (child == null) { child = new Element(VCARD.IM); getParentElement().addContent(child); } Element prefixchild = new Element(m.getTypeString()); child.addContent(prefixchild); prefixchild.setText(m.getUserId());
Clone fragments detected by clone detection tool
File path: /columba-1.4-src/contact/src/main/java/org/columba/addressbook/parser/XMLContactDocumentParser.java File path: /columba-1.4-src/contact/src/main/java/org/columba/addressbook/parser/XMLContactDocumentParser.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
Iterator getPhoneIterator() {
1
Iterator getInstantMessagingIterator() {
2
		Element child = getParentElement().getChild(VCARD.TEL);
2
		Element child = getParentElement().getChild(VCARD.IM);
3
		// if not specified return empty iterator
3
		// if not specified return empty iterator
4
		if (child == null)
4
		if (child == null)
5
			return new Vector().iterator();
5
			return new Vector().iterator();
6
		Iterator it = child.getChildren().iterator();
6
		Iterator it = child.getChildren().iterator();
7
		Vector v = new Vector();
7
		Vector v = new Vector();
8
		while (it.hasNext()) {
8
		while (it.hasNext()) {
9
			Element e = (Element) it.next();
9
			Element e = (Element) it.next();
10
			v.add(new PhoneModel(e.getValue(), e.getName()));
10
			v.add(new InstantMessagingModel(e.getValue(), e.getName()));
11
		}
11
		}
12
		return v.iterator();
12
		return v.iterator();
13
	}
13
	}
14
	public void addPhone(PhoneModel m) {
14
	public void addInstantMessaging(InstantMessagingModel m) {
15
		Element child = getParentElement().getChild(VCARD.TEL);
15
		Element child = getParentElement().getChild(VCARD.IM);
16
		if (child == null) {
16
		if (child == null) {
17
			child = new Element(VCARD.TEL);
17
			child = new Element(VCARD.IM);
18
			getParentElement().addContent(child);
18
			getParentElement().addContent(child);
19
		}
19
		}
20
		Element prefixchild = new Element(m.getTypeString());
20
		Element prefixchild = new Element(m.getTypeString());
21
		child.addContent(prefixchild);
21
		child.addContent(prefixchild);
22
		prefixchild.setText(m.getNumber());
22
		prefixchild.setText(m.getUserId());
23
	
23
	
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