File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/composer/MessageComposer.java | File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/gui/message/viewer/HeaderViewer.java | |||
Method name: SendableMessage compose(IWorkerStatusController, boolean)
|
Method name: void updateGUI()
|
|||
Number of AST nodes: 9 | Number of AST nodes: 9 | |||
1 | SecurityItem item = model.getAccountItem().getPGPItem();↵ | 1 | for (Iterator it = ↵ | |
2 | // Set recipients from the recipients vector↵ | |||
3 | List recipientList = model.getRCPTVector(↵ | 2 | keys.keySet().iterator(); it.hasNext();) {↵ | |
3 | String key = (String) it.next();↵ | |||
4 | DynamicItemListPanel value = (DynamicItemListPanel) keys↵ | |||
5 | .get(key);↵ | |||
6 | JLabel keyLabel = new JLabel("<html><b>" + key + "</b></html>");↵ | |||
4 | );↵ | 7 | JLabel separator = new JLabel(":");↵ | |
5 | StringBuffer recipientBuf = new StringBuffer();↵ | 8 | ↵ | |
6 | for (Iterator it = recipientList.iterator(); it.hasNext();) {↵ | |||
7 | recipientBuf.append((String) it.next↵ | 9 | // JButton trailingItem = new JButton("more...");↵ | |
10 | // ↵ | |||
11 | // trailingItem = LinkButton.createLinkButton(trailingItem);↵ | |||
12 | // trailingItem.addActionListener(new ActionListener() {↵ | |||
13 | // public void actionPerformed(ActionEvent event) {↵ | |||
8 | ());↵ | 14 | // showAddressListDialog();↵ | |
9 | }↵ | 15 | ↵ | |
10 | item.setString("recipients", recipientBuf.toString());↵ | |||
11 | PGPMimePart signPart = new PGPMimePart(new MimeHeader("multipart",↵ | |||
12 | "encrypted"), item↵ | 16 | // }↵ | |
17 | //↵ | |||
18 | // });↵ | |||
19 | //↵ | |||
20 | // DynamicItemListPanel p = new DynamicItemListPanel(2,↵ | |||
21 | // trailingItem, true);↵ | |||
22 | // p.setOpaque(false);↵ | |||
23 | //↵ | |||
24 | // for (int i = 0; i < value.length; i++) {↵ | |||
25 | // ↵ | |||
26 | // p.addItem(value[i]);↵ | |||
27 | // }↵ | |||
13 | );↵ | 28 | builder.append(keyLabel);↵ | |
14 | signPart.addChild(root↵ | 29 | builder.append(separator);↵ | |
15 | );↵ | 30 | builder.append(value);↵ | |
16 | root = signPart; | 31 | builder.appendRow(new RowSpec("top:pref:grow"));↵ | |
32 |
| |||
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.9 |
Clones location | Clones are in different classes |
Number of node comparisons | 18 |
Number of mapped statements | 1 |
Number of unmapped statements in the first code fragment | 8 |
Number of unmapped statements in the second code fragment | 8 |
Time elapsed for statement mapping (ms) | 43.7 |
Clone type | Type 3 |
ID | Statement | ID | Statement | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
39 | SecurityItem item = model.getAccountItem().getPGPItem(); | | |||||||||||||||||
40 | List recipientList = model.getRCPTVector(); | | |||||||||||||||||
41 | StringBuffer recipientBuf = new StringBuffer(); | | |||||||||||||||||
42 | for (Iterator it = recipientList.iterator(); it.hasNext(); ) |
| 6 | for (Iterator it = keys.keySet().iterator(); it.hasNext(); ) | |||||||||||||||
|
| 7 | String key = (String)it.next(); | ||||||||||||||||
|
| 8 | DynamicItemListPanel value = (DynamicItemListPanel)keys.get(key); | ||||||||||||||||
|
| 9 | JLabel keyLabel = new JLabel("<html><b>" + key + "</b></html>"); | ||||||||||||||||
|
| 10 | JLabel separator = new JLabel(":"); | ||||||||||||||||
| 11 | builder.append(keyLabel); | |||||||||||||||||
| 12 | builder.append(separator); | |||||||||||||||||
| 13 | builder.append(value); | |||||||||||||||||
| 14 | builder.appendRow(new RowSpec("top:pref:grow")); | |||||||||||||||||
43 | recipientBuf.append((String)it.next()); |
| | ||||||||||||||||
44 | item.setString("recipients", recipientBuf.toString()); |
| | ||||||||||||||||
45 | PGPMimePart signPart = new PGPMimePart(new MimeHeader("multipart", "encrypted"), item); |
| | ||||||||||||||||
46 | signPart.addChild(root); | | |||||||||||||||||
47 | root = signPart; | |
Row | Violation |
---|---|
1 | Expression recipientList cannot be parameterized, because it has dependencies to/from statements that will be extracted |
2 | Expression keys.keySet() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
3 | Unmatched statement String key=(String)it.next(); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
4 | Unmatched statement DynamicItemListPanel value=(DynamicItemListPanel)keys.get(key); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
5 | Unmatched statement JLabel keyLabel=new JLabel("<html><b>" + key + "</b></html>"); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
6 | Unmatched statement JLabel separator=new JLabel(":"); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
7 | Unmatched statement recipientBuf.append((String)it.next()); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
8 | Unmatched statement item.setString("recipients",recipientBuf.toString()); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
9 | Unmatched statement PGPMimePart signPart=new PGPMimePart(new MimeHeader("multipart","encrypted"),item); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
10 | The refactoring of the clones is infeasible, because the number of macthed statements is equal to zero |