while (mutex) { try { wait(); } catch (InterruptedException e) { if (Thread.currentThread().isInterrupted()) { // gota go now throw new RuntimeException(e); } // else keep waiting } }
try { load(); } catch (IOException e) { LOG.severe(e.getLocalizedMessage()); throw new RuntimeException("Mailbox is corrupted!"); }
Clone fragments detected by clone detection tool
File path: /columba-1.4-src/core/src/main/java/org/columba/core/base/Mutex.java File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/folder/mbox/MboxDataStorage.java
Method name: void lock() Method name: void MboxDataStorage(AbstractMessageFolder)
Number of AST nodes: 3 Number of AST nodes: 2
1
while (mutex) {
2
            try {
3
                wait();
4
            } catch (InterruptedException e) {
5
                if (Thread.currentThread().isInterrupted()) {
6
                    // gota go now
7
                    throw new RuntimeException(e);
8
                }
9
                // else keep waiting
10
            }
11
        
1
try {
2
				load();
3
			} catch (IOException e) {
4
				LOG.severe(e.getLocalizedMessage());
5
					
6
				throw new RuntimeException("Mailbox is corrupted!");
12
}
7
			}
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.2
Clones locationClones are in different classes
Number of node comparisons1