package org.columba.mail.gui.search; import java.text.MessageFormat; import java.util.Iterator; import java.util.List; import java.util.ResourceBundle; import javax.swing.ImageIcon; import javax.swing.JComponent; import org.columba.core.gui.search.api.IResultPanel; import org.columba.core.search.api.IResultEvent; import org.columba.core.search.api.ISearchResult; import org.columba.mail.resourceloader.IconKeys; import org.columba.mail.resourceloader.MailImageLoader; public class BasicResultPanel implements IResultPanel { private ResourceBundle bundle; private String providerTechnicalName; private String criteriaTechnicalName; private ResultList list; public BasicResultPanel(String providerTechnicalName, String criteriaTechnicalName) { super(); this.criteriaTechnicalName = criteriaTechnicalName; this.providerTechnicalName = providerTechnicalName; bundle = ResourceBundle.getBundle("org.columba.mail.i18n.search"); list = new ResultList(); } public String getSearchCriteriaTechnicalName() { return criteriaTechnicalName; } public String getProviderTechnicalName() { return providerTechnicalName; } public JComponent getView() { return list; } public ImageIcon getIcon() { return MailImageLoader.getSmallIcon(IconKeys.MESSAGE_READ); } public String getTitle(String searchTerm) { String result = MessageFormat.format(bundle .getString(criteriaTechnicalName + "_title"), new Object[] { searchTerm }); return result; } public String getDescription(String searchTerm) { String result = MessageFormat.format(bundle .getString(criteriaTechnicalName + "_description"), new Object[] { searchTerm }); return result; } public void resultArrived(IResultEvent event) { if (!event.getProviderName().equals(this.providerTechnicalName)) return; if (!event.getSearchCriteria().getTechnicalName().equals( this.criteriaTechnicalName)) return; List<ISearchResult> result = event.getSearchResults(); Iterator<ISearchResult> it = result.iterator(); while (it.hasNext()) { list.add(it.next()); } // setPreferredSize(list.getPreferredSize()); list.revalidate(); } public void clearSearch(IResultEvent event) { } public void reset(IResultEvent event) { list.clear(); } public void finished(IResultEvent event) { }
package org.columba.mail.gui.search; import java.text.MessageFormat; import java.util.Iterator; import java.util.List; import java.util.ResourceBundle; import javax.swing.ImageIcon; import javax.swing.JComponent; import org.columba.core.gui.search.api.IResultPanel; import org.columba.core.search.api.IResultEvent; import org.columba.core.search.api.ISearchResult; import org.columba.mail.resourceloader.IconKeys; import org.columba.mail.resourceloader.MailImageLoader; public class CriteriaResultPanel implements IResultPanel { private ResourceBundle bundle; private String providerTechnicalName; private String criteriaTechnicalName; private ResultList list; public CriteriaResultPanel(String providerTechnicalName, String criteriaTechnicalName) { super(); this.criteriaTechnicalName = criteriaTechnicalName; this.providerTechnicalName = providerTechnicalName; bundle = ResourceBundle.getBundle("org.columba.mail.i18n.search"); list = new ResultList(); } public String getSearchCriteriaTechnicalName() { return criteriaTechnicalName; } public String getProviderTechnicalName() { return providerTechnicalName; } public JComponent getView() { return list; } public ImageIcon getIcon() { return MailImageLoader.getSmallIcon(IconKeys.MESSAGE_READ); } public String getTitle(String searchTerm) { String result = MessageFormat.format(bundle .getString(criteriaTechnicalName + "_title"), new Object[] { searchTerm }); return result; } public String getDescription(String searchTerm) { String result = MessageFormat.format(bundle .getString(criteriaTechnicalName + "_description"), new Object[] { searchTerm }); return result; } public void resultArrived(IResultEvent event) { if (!event.getProviderName().equals(this.providerTechnicalName)) return; if (!event.getSearchCriteria().getTechnicalName().equals( this.criteriaTechnicalName)) return; List<ISearchResult> result = event.getSearchResults(); Iterator<ISearchResult> it = result.iterator(); while (it.hasNext()) { list.add(it.next()); } list.revalidate(); } public void clearSearch(IResultEvent event) { } public void reset(IResultEvent event) { list.clear(); } public void finished(IResultEvent event) { }
Clone fragments detected by clone detection tool
File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/gui/search/BasicResultPanel.java File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/gui/search/CriteriaResultPanel.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
package org.columba.mail.gui.search;
1
package org.columba.mail.gui.search;
2
import java.text.MessageFormat;
2
import java.text.MessageFormat;
3
import java.util.Iterator;
3
import java.util.Iterator;
4
import java.util.List;
4
import java.util.List;
5
import java.util.ResourceBundle;
5
import java.util.ResourceBundle;
6
import javax.swing.ImageIcon;
6
import javax.swing.ImageIcon;
7
import javax.swing.JComponent;
7
import javax.swing.JComponent;
8
import org.columba.core.gui.search.api.IResultPanel;
8
import org.columba.core.gui.search.api.IResultPanel;
9
import org.columba.core.search.api.IResultEvent;
9
import org.columba.core.search.api.IResultEvent;
10
import org.columba.core.search.api.ISearchResult;
10
import org.columba.core.search.api.ISearchResult;
11
import org.columba.mail.resourceloader.IconKeys;
11
import org.columba.mail.resourceloader.IconKeys;
12
import org.columba.mail.resourceloader.MailImageLoader;
12
import org.columba.mail.resourceloader.MailImageLoader;
13
public class BasicResultPanel implements IResultPanel {
13
public class CriteriaResultPanel implements IResultPanel {
14
	private ResourceBundle bundle;
14
	private ResourceBundle bundle;
15
	private String providerTechnicalName;
15
	private String providerTechnicalName;
16
	private String criteriaTechnicalName;
16
	private String criteriaTechnicalName;
17
	private ResultList list;
17
	private ResultList list;
18
	public BasicResultPanel(String providerTechnicalName,
18
	public CriteriaResultPanel(String providerTechnicalName,
19
			String criteriaTechnicalName) {
19
			String criteriaTechnicalName) {
20
		super();
20
		super();
21
		this.criteriaTechnicalName = criteriaTechnicalName;
21
		this.criteriaTechnicalName = criteriaTechnicalName;
22
		this.providerTechnicalName = providerTechnicalName;
22
		this.providerTechnicalName = providerTechnicalName;
23
		bundle = ResourceBundle.getBundle("org.columba.mail.i18n.search");
23
		bundle = ResourceBundle.getBundle("org.columba.mail.i18n.search");
24
		list = new ResultList();
24
		list = new ResultList();
25
	}
25
	}
26
	public String getSearchCriteriaTechnicalName() {
26
	public String getSearchCriteriaTechnicalName() {
27
		return criteriaTechnicalName;
27
		return criteriaTechnicalName;
28
	}
28
	}
29
	public String getProviderTechnicalName() {
29
	public String getProviderTechnicalName() {
30
		return providerTechnicalName;
30
		return providerTechnicalName;
31
	}
31
	}
32
	public JComponent getView() {
32
	public JComponent getView() {
33
		return list;
33
		return list;
34
	}
34
	}
35
	public ImageIcon getIcon() {
35
	public ImageIcon getIcon() {
36
		return MailImageLoader.getSmallIcon(IconKeys.MESSAGE_READ);
36
		return MailImageLoader.getSmallIcon(IconKeys.MESSAGE_READ);
37
	}
37
	}
38
	public String getTitle(String searchTerm) {
38
	public String getTitle(String searchTerm) {
39
		String result = MessageFormat.format(bundle
39
		String result = MessageFormat.format(bundle
40
				.getString(criteriaTechnicalName + "_title"),
40
				.getString(criteriaTechnicalName + "_title"),
41
				new Object[] { searchTerm });
41
				new Object[] { searchTerm });
42
		return result;
42
		return result;
43
	}
43
	}
44
	public String getDescription(String searchTerm) {
44
	public String getDescription(String searchTerm) {
45
		String result = MessageFormat.format(bundle
45
		String result = MessageFormat.format(bundle
46
				.getString(criteriaTechnicalName + "_description"),
46
				.getString(criteriaTechnicalName + "_description"),
47
				new Object[] { searchTerm });
47
				new Object[] { searchTerm });
48
		return result;
48
		return result;
49
	}
49
	}
50
	public void resultArrived(IResultEvent event) {
50
	public void resultArrived(IResultEvent event) {
51
		if (!event.getProviderName().equals(this.providerTechnicalName))
51
		if (!event.getProviderName().equals(this.providerTechnicalName))
52
			return;
52
			return;
53
		if (!event.getSearchCriteria().getTechnicalName().equals(
53
		if (!event.getSearchCriteria().getTechnicalName().equals(
54
				this.criteriaTechnicalName))
54
				this.criteriaTechnicalName))
55
			return;
55
			return;
56
		List<ISearchResult> result = event.getSearchResults();
56
		List<ISearchResult> result = event.getSearchResults();
57
		Iterator<ISearchResult> it = result.iterator();
57
		Iterator<ISearchResult> it = result.iterator();
58
		while (it.hasNext()) {
58
		while (it.hasNext()) {
59
			list.add(it.next());
59
			list.add(it.next());
60
		}
60
		}
61
		// setPreferredSize(list.getPreferredSize());
62
		list.revalidate();
61
		list.revalidate();
63
	}
62
	}
64
	public void clearSearch(IResultEvent event) {
63
	public void clearSearch(IResultEvent event) {
65
	}
64
	}
66
	public void reset(IResultEvent event) {
65
	public void reset(IResultEvent event) {
67
		list.clear();
66
		list.clear();
68
	}
67
	}
69
	public void finished(IResultEvent event) {
68
	public void finished(IResultEvent event) {
70
	}
69
	}
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