Collections.sort(messageRemovedList[swap], FolderEventComparator .getInstance()); FolderEvent event = (FolderEvent) messageRemovedList[swap].get(0); IMailFolder lastFolder = (IMailFolder) event.getSource(); // Collect the uids for one folder List collectedUids = new ArrayList(); collectedUids.add(event.getChanges()); // Process the events for (int i = 1; i < messageRemovedList[swap].size(); i++) { FolderEvent next = (FolderEvent) messageRemovedList[swap] .get(i); if (next.getSource() != lastFolder) { // new folder, fire to the old folder fireTableEvent(new TableModelChangedEvent( TableModelChangedEvent.REMOVE, lastFolder, collectedUids.toArray())); // clear list and collect uids for new folder collectedUids.clear(); collectedUids.add(next.getChanges()); lastFolder = (IMailFolder) next.getSource(); } else { collectedUids.add(next.getChanges()); } } fireTableEvent(new TableModelChangedEvent( TableModelChangedEvent.REMOVE, lastFolder, collectedUids .toArray()));
Collections.sort(messageFlagChangedList[swap], FolderEventComparator.getInstance()); FolderEvent event = (FolderEvent) messageFlagChangedList[swap] .get(0); IMailFolder lastFolder = (IMailFolder) event.getSource(); // Collect the uids for one folder List collectedUids = new ArrayList(); collectedUids.add(event.getChanges()); // Process the events for (int i = 1; i < messageFlagChangedList[swap].size(); i++) { FolderEvent next = (FolderEvent) messageFlagChangedList[swap] .get(i); if (next.getSource() != lastFolder) { // new folder, fire to the old folder fireTableEvent(new TableModelChangedEvent( TableModelChangedEvent.MARK, lastFolder, collectedUids.toArray())); // clear list and collect uids for new folder collectedUids.clear(); collectedUids.add(next.getChanges()); lastFolder = (IMailFolder) next.getSource(); } else { collectedUids.add(next.getChanges()); } } fireTableEvent(new TableModelChangedEvent( TableModelChangedEvent.MARK, lastFolder, collectedUids .toArray()));
Clone fragments detected by clone detection tool
File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/folder/event/FolderEventDelegator.java File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/folder/event/FolderEventDelegator.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
Collections.sort(messageRemovedList[swap], 
1
Collections.sort(messageFlagChangedList[swap],
2
FolderEventComparator
2
					FolderEventComparator
3
					.getInstance());
3
.getInstance());
4
			FolderEvent event = (FolderEvent) messageRemovedList[swap]
4
			FolderEvent event = (FolderEvent) messageFlagChangedList[swap]
5
.get(0);
5
					.get(0);
6
			IMailFolder lastFolder = (IMailFolder) event.getSource();
6
			IMailFolder lastFolder = (IMailFolder) event.getSource();
7
			// Collect the uids for one folder
7
			// Collect the uids for one folder
8
			List collectedUids = new ArrayList();
8
			List collectedUids = new ArrayList();
9
			collectedUids.add(event.getChanges());
9
			collectedUids.add(event.getChanges());
10
			// Process the events
10
			// Process the events
11
			for (int i = 1; i < messageRemovedList[swap].size(); i++) {
11
			for (int i = 1; i < messageFlagChangedList[swap].size(); i++) {
12
				FolderEvent next = (FolderEvent) messageRemovedList[swap]
12
				FolderEvent next = (FolderEvent) messageFlagChangedList[swap]
13
						.get(i);
13
						.get(i);
14
				if (next.getSource() != lastFolder) {
14
				if (next.getSource() != lastFolder) {
15
					// new folder, fire to the old folder
15
					// new folder, fire to the old folder
16
					fireTableEvent(new TableModelChangedEvent(
16
					fireTableEvent(new TableModelChangedEvent(
17
							TableModelChangedEvent.REMOVE, lastFolder,
17
							TableModelChangedEvent.MARK, lastFolder,
18
							collectedUids.toArray()));
18
							collectedUids.toArray()));
19
					// clear list and collect uids for new folder
19
					// clear list and collect uids for new folder
20
					collectedUids.clear();
20
					collectedUids.clear();
21
					collectedUids.add(next.getChanges());
21
					collectedUids.add(next.getChanges());
22
					lastFolder = (IMailFolder) next.getSource();
22
					lastFolder = (IMailFolder) next.getSource();
23
				} else {
23
				} else {
24
					collectedUids.add(next.getChanges());
24
					collectedUids.add(next.getChanges());
25
				}
25
				}
26
			}
26
			}
27
			fireTableEvent(new TableModelChangedEvent(
27
			fireTableEvent(new TableModelChangedEvent(
28
					TableModelChangedEvent.REMOVE, lastFolder, collectedUids
28
					TableModelChangedEvent.MARK, lastFolder, collectedUids
29
							.toArray()));
29
							.toArray()));
30
		
30
		
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