package org.columba.mail.config; import java.io.File; import org.columba.core.config.DefaultXmlConfig; /** * @author freddy * * To change this generated comment edit the template variable "typecomment": * Window>Preferences>Java>Templates. * To enable and disable the creation of type comments go to * Window>Preferences>Java>Code Generation. */ public class AccountTemplateXmlConfig extends DefaultXmlConfig { public AccountTemplateXmlConfig(File file) { super(file); } }
package org.columba.mail.config; import java.io.File; import org.columba.core.config.DefaultXmlConfig; public class FolderXmlConfig extends DefaultXmlConfig { //private File file; public FolderXmlConfig(File file) { super(file); } /* // create uid list from all accounts protected void getUids(Vector v, AdapterNode parent) { int childCount = parent.getChildCount(); if (childCount > 0) { for (int i = 0; i < childCount; i++) { AdapterNode child = parent.getChild(i); getUids(v, child); //System.out.println("name: "+ child.getName() ); if (child.getName().equals("folder")) { AdapterNode uidNode = child.getChild("uid"); Integer j = new Integer(uidNode.getValue()); v.add(j); } } } } */ /* // find a free uid for a new account protected String createUid() { Vector v = new Vector(); AdapterNode rootNode = new AdapterNode(getDocument()); AdapterNode treeNode = rootNode.getChild(0); getUids(v, treeNode); int result = -1; boolean hit; boolean exit = false; while (exit == false) { hit = false; result++; for (int i = 0; i < v.size(); i++) { Integer j = (Integer) v.get(i); if (j.intValue() == result) { hit = true; } } if (hit == false) exit = true; } Integer newUid = new Integer(result); return newUid.toString(); } */ /* public AdapterNode addVirtualFolderNode( AdapterNode parentNode, int uid, String name, String headerItem, String pattern ) { Element parentElement = createElementNode("folder"); Element childElement = createTextElementNode("name",name); addElement( parentElement, childElement ); childElement = createTextElementNode("accessrights","user"); addElement( parentElement, childElement ); childElement = createTextElementNode("messagefolder", "true"); addElement( parentElement, childElement ); childElement = createTextElementNode("subfolder","false"); addElement( parentElement, childElement ); childElement = createTextElementNode("add", "false"); addElement( parentElement, childElement ); childElement = createTextElementNode("remove", "true"); addElement( parentElement, childElement ); childElement = createTextElementNode("uid", createUid() ); addElement( parentElement, childElement ); childElement = createTextElementNode("type","virtual"); addElement( parentElement, childElement ); Element searchElement = createElementNode("search"); childElement = createTextElementNode("include","false"); addElement( searchElement, childElement ); Integer newUid = new Integer(uid); Element treePathNode = createTextElementNode("uid", newUid.toString() ); addElement( searchElement, treePathNode ); // create filter Element filterParent = createElementNode("filter"); Element child = createElementNode("filterrule"); Element subChild = createElementNode( "filtercriteria" ); Element subNode = createTextElementNode("headeritem", headerItem); addElement( subChild, subNode ); subNode = createTextElementNode("criteria", "contains" ); addElement( subChild, subNode ); subNode = createTextElementNode("pattern", pattern ); addElement( subChild, subNode ); addElement( child, subChild ); subNode = createTextElementNode("condition", "matchall" ); addElement( child, subNode ); addElement( filterParent, child ); addElement( searchElement, filterParent ); addElement( parentElement, searchElement ); AdapterNode childNode=null; if ( parentNode == null ) { AdapterNode node = getRootNode(); childNode = node.addElement( parentElement ); System.out.println("parent node == null "); System.out.println("childnode: "+ childNode ); } else childNode = parentNode.addElement( parentElement ); return childNode; } */ /* public AdapterNode addFolderNode( AdapterNode parentNode, String name, String access, String messagefolder, String type, String subfolder, String add, String remove, Integer uid) { Element parentElement = createElementNode("folder"); Element childElement = createTextElementNode("name", name); addElement(parentElement, childElement); childElement = createTextElementNode("accessrights", access); addElement(parentElement, childElement); childElement = createTextElementNode("messagefolder", messagefolder); addElement(parentElement, childElement); childElement = createTextElementNode("subfolder", subfolder); addElement(parentElement, childElement); childElement = createTextElementNode("add", add); addElement(parentElement, childElement); childElement = createTextElementNode("remove", remove); addElement(parentElement, childElement); childElement = createTextElementNode("uid", createUid()); addElement(parentElement, childElement); if (type.equals("columba")) { childElement = createTextElementNode("type", type); addElement(parentElement, childElement); } else if (type.equals("virtual")) { childElement = createTextElementNode("type", type); addElement(parentElement, childElement); Element searchElement = createElementNode("search"); childElement = createTextElementNode("include", "false"); addElement(searchElement, childElement); Element treePathNode = createTextElementNode("uid", "101"); addElement(searchElement, treePathNode); // create filter Element filterParent = createElementNode("filter"); Element child = createElementNode("filterrule"); Element subChild = createElementNode("filtercriteria"); Element subNode = createTextElementNode("headeritem", "Subject"); addElement(subChild, subNode); subNode = createTextElementNode("criteria", "contains"); addElement(subChild, subNode); subNode = createTextElementNode("pattern", "pattern"); addElement(subChild, subNode); subNode = createTextElementNode("type", "Subject"); addElement(subChild, subNode); addElement(child, subChild); subNode = createTextElementNode("condition", "matchall"); addElement(child, subNode); addElement(filterParent, child); addElement(searchElement, filterParent); addElement(parentElement, searchElement); } else if (type.equals("outbox")) { childElement = createTextElementNode("type", type); addElement(parentElement, childElement); } else if ((type.equals("imap")) || (type.equals("imaproot"))) { childElement = createTextElementNode("type", type); addElement(parentElement, childElement); String uidString = (uid).toString(); childElement = createTextElementNode("accountuid", uidString); addElement(parentElement, childElement); } AdapterNode childNode = null; if (parentNode == null) { AdapterNode node = getRootNode(); childNode = node.addElement(parentElement); System.out.println("parent node == null "); System.out.println("childnode: " + childNode); } else childNode = parentNode.addElement(parentElement); return childNode; } */ /* public FolderItem getFolderItem(AdapterNode node) { if (node != null) { if (node.getName().equals("folder")) { FolderItem folderItem = new FolderItem(getDocument()); folderItem.setNameNode(node.getChild("name")); //System.out.println("folder found: "+ node.getChild("name").getValue() ); folderItem.setAccessRightsNode(node.getChild("accessrights")); folderItem.setMessageFolderNode(node.getChild("messagefolder")); folderItem.setTypeNode(node.getChild("type")); folderItem.setSubfolderNode(node.getChild("subfolder")); folderItem.setAddNode(node.getChild("add")); folderItem.setRemoveNode(node.getChild("remove")); folderItem.setUidNode(node.getChild("uid")); String type = node.getChild("type").getValue(); if ((type.equals("imap")) || (type.equals("imaproot"))) folderItem.setAccountUidNode(node.getChild("accountuid")); AdapterNode filterNode = node.getChild("filterlist"); if (filterNode != null) { folderItem.setFilterListNode(filterNode); } else { AdapterNode searchNode = node.getChild("search"); if (searchNode != null) { //System.out.println("search node found"); folderItem.setSearchNode(searchNode); } } return folderItem; } } return null; } */ /* public AdapterNode addEmptyFilterCriteria(AdapterNode filterRuleNode) { Element child = createElementNode("filtercriteria"); Element subNode = createTextElementNode("headeritem", "Subject"); addElement(child, subNode); subNode = createTextElementNode("criteria", "contains"); addElement(child, subNode); subNode = createTextElementNode("pattern", "pattern"); addElement(child, subNode); subNode = createTextElementNode("type", "Subject"); addElement(child, subNode); filterRuleNode.domNode.appendChild(child); return new AdapterNode(child); } */ /* public AdapterNode addEmptyFilterAction(AdapterNode filterActionNode) { Element actionNode = createElementNode("action"); Element nameNode = createTextElementNode("name", "move"); addElement(actionNode, nameNode); Element uidNode = createTextElementNode("uid", "101"); addElement(actionNode, uidNode); filterActionNode.domNode.appendChild(actionNode); return new AdapterNode(actionNode); } public AdapterNode addEmptyFilterNode(AdapterNode folderNode) { Element parent = createElementNode("filter"); Element child = createTextElementNode("enabled", "true"); addElement(parent, child); child = createTextElementNode("description", "new filter"); addElement(parent, child); addElement(parent, child); // create filterrule-node child = createElementNode("filterrule"); Element subChild = createElementNode("filtercriteria"); Element subNode = createTextElementNode("headeritem", "Subject"); addElement(subChild, subNode); subNode = createTextElementNode("criteria", "contains"); addElement(subChild, subNode); subNode = createTextElementNode("pattern", "pattern"); addElement(subChild, subNode); subNode = createTextElementNode("type", "Subject"); addElement(subChild, subNode); addElement(child, subChild); subNode = createTextElementNode("condition", "matchall"); addElement(child, subNode); addElement(parent, child); // create actionlist-node Element actionNode = createElementNode("actionlist"); Element subActionNode = createElementNode("action"); Element nameNode = createTextElementNode("name", "move"); addElement(subActionNode, nameNode); Element uidNode = createTextElementNode("uid", "101"); addElement(subActionNode, uidNode); addElement(actionNode, subActionNode); addElement(parent, actionNode); AdapterNode filterListNode = folderNode.getChild("filterlist"); if (filterListNode == null) { Element listNode = createElementNode("filterlist"); addElement(listNode, parent); Node node = folderNode.domNode.appendChild(listNode); AdapterNode result = new AdapterNode(parent); return result; } else { Node node = filterListNode.domNode.appendChild(parent); AdapterNode result = new AdapterNode(node); return result; } } */ }
Clone fragments detected by clone detection tool
File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/config/AccountTemplateXmlConfig.java File path: /columba-1.4-src/mail/src/main/java/org/columba/mail/config/FolderXmlConfig.java
Method name: Method name:
Number of AST nodes: 0 Number of AST nodes: 0
1
package org.columba.mail.config;
1
package org.columba.mail.config;
2
import java.io.File;
2
import java.io.File;
3
import org.columba.core.config.DefaultXmlConfig;
3
import org.columba.core.config.DefaultXmlConfig;
4
/**
5
 * @author freddy
6
 *
7
 * To change this generated comment edit the template variable "typecomment":
8
 * Window>Preferences>Java>Templates.
9
 * To enable and disable the creation of type comments go to
10
 * Window>Preferences>Java>Code Generation.
11
 */
12
public class AccountTemplateXmlConfig extends DefaultXmlConfig
4
public class FolderXmlConfig extends DefaultXmlConfig {
5
    //private File file;
6
    public FolderXmlConfig(File file) {
7
        super(file);
8
    }
9
    /*
10
        // create uid list from all accounts
11
        protected void getUids(Vector v, AdapterNode parent) {
12
                int childCount = parent.getChildCount();
13
                if (childCount > 0) {
14
                        for (int i = 0; i < childCount; i++) {
15
                                AdapterNode child = parent.getChild(i);
16
                                getUids(v, child);
17
                                //System.out.println("name: "+ child.getName() );
18
                                if (child.getName().equals("folder")) {
19
                                        AdapterNode uidNode = child.getChild("uid");
20
                                        Integer j = new Integer(uidNode.getValue());
21
                                        v.add(j);
22
                                }
23
                        }
24
                }
25
        }
26
        */
27
    /*
28
// find a free uid for a new account
29
protected String createUid() {
30
        Vector v = new Vector();
31
        AdapterNode rootNode = new AdapterNode(getDocument());
32
        AdapterNode treeNode = rootNode.getChild(0);
33
        getUids(v, treeNode);
34
        int result = -1;
35
        boolean hit;
36
        boolean exit = false;
37
        while (exit == false) {
38
                hit = false;
39
                result++;
40
                for (int i = 0; i < v.size(); i++) {
41
                        Integer j = (Integer) v.get(i);
42
                        if (j.intValue() == result) {
43
                                hit = true;
44
                        }
45
                }
46
                if (hit == false)
47
                        exit = true;
48
        }
49
        Integer newUid = new Integer(result);
50
        return newUid.toString();
51
}
52
*/
53
    /*
54
public AdapterNode addVirtualFolderNode( AdapterNode parentNode,
55
                                         int uid,
56
                                         String name,
57
                                         String headerItem,
58
                                         String pattern )
59
{
60
    Element parentElement = createElementNode("folder");
61
    Element childElement = createTextElementNode("name",name);
62
    addElement( parentElement, childElement );
63
    childElement = createTextElementNode("accessrights","user");
64
    addElement( parentElement, childElement );
65
    childElement = createTextElementNode("messagefolder", "true");
66
    addElement( parentElement, childElement );
67
    childElement = createTextElementNode("subfolder","false");
68
    addElement( parentElement, childElement );
69
    childElement = createTextElementNode("add", "false");
70
    addElement( parentElement, childElement );
71
    childElement = createTextElementNode("remove", "true");
72
    addElement( parentElement, childElement );
73
    childElement = createTextElementNode("uid", createUid() );
74
    addElement( parentElement, childElement );
75
    childElement = createTextElementNode("type","virtual");
76
        addElement( parentElement, childElement );
77
        Element searchElement = createElementNode("search");
78
        childElement = createTextElementNode("include","false");
79
        addElement( searchElement, childElement );
80
        Integer newUid = new Integer(uid);
81
        Element treePathNode = createTextElementNode("uid", newUid.toString() );
82
        addElement( searchElement, treePathNode );
83
          // create filter
84
        Element filterParent = createElementNode("filter");
85
        Element child = createElementNode("filterrule");
86
        Element subChild = createElementNode( "filtercriteria" );
87
        Element subNode = createTextElementNode("headeritem", headerItem);
88
        addElement( subChild, subNode );
89
        subNode = createTextElementNode("criteria", "contains" );
90
        addElement( subChild, subNode );
91
        subNode = createTextElementNode("pattern", pattern );
92
        addElement( subChild, subNode );
93
        addElement( child, subChild );
94
        subNode = createTextElementNode("condition", "matchall" );
95
        addElement( child, subNode );
96
        addElement( filterParent, child );
97
        addElement( searchElement, filterParent );
98
        addElement( parentElement, searchElement );
99
        AdapterNode childNode=null;
100
    if ( parentNode == null )
101
    {
102
        AdapterNode node = getRootNode();
103
        childNode =  node.addElement( parentElement );
104
        System.out.println("parent node == null ");
105
        System.out.println("childnode: "+ childNode );
106
    }
107
    else
108
        childNode = parentNode.addElement( parentElement );
109
    return childNode;
110
}
111
*/
112
    /*
113
public AdapterNode addFolderNode(
114
        AdapterNode parentNode,
115
        String name,
116
        String access,
117
        String messagefolder,
118
        String type,
119
        String subfolder,
120
        String add,
121
        String remove,
122
        Integer uid) {
123
        Element parentElement = createElementNode("folder");
124
        Element childElement = createTextElementNode("name", name);
125
        addElement(parentElement, childElement);
126
        childElement = createTextElementNode("accessrights", access);
127
        addElement(parentElement, childElement);
128
        childElement = createTextElementNode("messagefolder", messagefolder);
129
        addElement(parentElement, childElement);
130
        childElement = createTextElementNode("subfolder", subfolder);
131
        addElement(parentElement, childElement);
132
        childElement = createTextElementNode("add", add);
133
        addElement(parentElement, childElement);
134
        childElement = createTextElementNode("remove", remove);
135
        addElement(parentElement, childElement);
136
        childElement = createTextElementNode("uid", createUid());
137
        addElement(parentElement, childElement);
138
        if (type.equals("columba")) {
139
                childElement = createTextElementNode("type", type);
140
                addElement(parentElement, childElement);
141
        } else if (type.equals("virtual")) {
142
                childElement = createTextElementNode("type", type);
143
                addElement(parentElement, childElement);
144
                Element searchElement = createElementNode("search");
145
                childElement = createTextElementNode("include", "false");
146
                addElement(searchElement, childElement);
147
                Element treePathNode = createTextElementNode("uid", "101");
148
                addElement(searchElement, treePathNode);
149
                // create filter
150
                Element filterParent = createElementNode("filter");
151
                Element child = createElementNode("filterrule");
152
                Element subChild = createElementNode("filtercriteria");
153
                Element subNode = createTextElementNode("headeritem", "Subject");
154
                addElement(subChild, subNode);
155
                subNode = createTextElementNode("criteria", "contains");
156
                addElement(subChild, subNode);
157
                subNode = createTextElementNode("pattern", "pattern");
158
                addElement(subChild, subNode);
159
                subNode = createTextElementNode("type", "Subject");
160
                addElement(subChild, subNode);
161
                addElement(child, subChild);
162
                subNode = createTextElementNode("condition", "matchall");
163
                addElement(child, subNode);
164
                addElement(filterParent, child);
165
                addElement(searchElement, filterParent);
166
                addElement(parentElement, searchElement);
167
        } else if (type.equals("outbox")) {
168
                childElement = createTextElementNode("type", type);
169
                addElement(parentElement, childElement);
170
        } else if ((type.equals("imap")) || (type.equals("imaproot"))) {
171
                childElement = createTextElementNode("type", type);
172
                addElement(parentElement, childElement);
173
                String uidString = (uid).toString();
174
                childElement = createTextElementNode("accountuid", uidString);
175
                addElement(parentElement, childElement);
176
        }
177
        AdapterNode childNode = null;
178
        if (parentNode == null) {
179
                AdapterNode node = getRootNode();
180
                childNode = node.addElement(parentElement);
181
                System.out.println("parent node == null ");
182
                System.out.println("childnode: " + childNode);
183
        } else
184
                childNode = parentNode.addElement(parentElement);
185
        return childNode;
186
}
187
*/
188
    /*
189
public FolderItem getFolderItem(AdapterNode node) {
190
        if (node != null) {
191
                if (node.getName().equals("folder")) {
192
                        FolderItem folderItem = new FolderItem(getDocument());
193
                        folderItem.setNameNode(node.getChild("name"));
194
                        //System.out.println("folder found: "+ node.getChild("name").getValue() );
195
                        folderItem.setAccessRightsNode(node.getChild("accessrights"));
196
                        folderItem.setMessageFolderNode(node.getChild("messagefolder"));
197
                        folderItem.setTypeNode(node.getChild("type"));
198
                        folderItem.setSubfolderNode(node.getChild("subfolder"));
199
                        folderItem.setAddNode(node.getChild("add"));
200
                        folderItem.setRemoveNode(node.getChild("remove"));
201
                        folderItem.setUidNode(node.getChild("uid"));
202
                        String type = node.getChild("type").getValue();
203
                        if ((type.equals("imap")) || (type.equals("imaproot")))
204
                                folderItem.setAccountUidNode(node.getChild("accountuid"));
205
                        AdapterNode filterNode = node.getChild("filterlist");
206
                        if (filterNode != null) {
207
                                folderItem.setFilterListNode(filterNode);
208
                        } else {
209
                                AdapterNode searchNode = node.getChild("search");
210
                                if (searchNode != null) {
211
                                        //System.out.println("search node found");
212
                                        folderItem.setSearchNode(searchNode);
213
                                }
214
                        }
215
                        return folderItem;
216
                }
217
        }
218
        return null;
219
}
220
*/
221
    /*
222
public AdapterNode addEmptyFilterCriteria(AdapterNode filterRuleNode) {
223
        Element child = createElementNode("filtercriteria");
224
        Element subNode = createTextElementNode("headeritem", "Subject");
225
        addElement(child, subNode);
226
        subNode = createTextElementNode("criteria", "contains");
227
        addElement(child, subNode);
228
        subNode = createTextElementNode("pattern", "pattern");
229
        addElement(child, subNode);
230
        subNode = createTextElementNode("type", "Subject");
231
        addElement(child, subNode);
232
        filterRuleNode.domNode.appendChild(child);
233
        return new AdapterNode(child);
234
}
235
*/
236
    /*
237
public AdapterNode addEmptyFilterAction(AdapterNode filterActionNode) {
238
        Element actionNode = createElementNode("action");
239
        Element nameNode = createTextElementNode("name", "move");
240
        addElement(actionNode, nameNode);
241
        Element uidNode = createTextElementNode("uid", "101");
242
        addElement(actionNode, uidNode);
243
        filterActionNode.domNode.appendChild(actionNode);
244
        return new AdapterNode(actionNode);
245
}
13
 {
246
public AdapterNode addEmptyFilterNode(AdapterNode folderNode) {
14
    public AccountTemplateXmlConfig(File file) {
247
    
15
        super(file
248
    Element parent = createElementNode("filter");
249
        Element child = createTextElementNode("enabled", "true");
250
        addElement(parent, child);
251
        child = createTextElementNode("description", "new filter");
252
        addElement(parent, child);
253
        addElement(parent, child);
254
        // create filterrule-node
255
        child = createElementNode("filterrule");
256
        Element subChild = createElementNode("filtercriteria");
257
        Element subNode = createTextElementNode("headeritem", "Subject");
258
        addElement(subChild, subNode);
259
        subNode = createTextElementNode("criteria", "contains");
260
        addElement(subChild, subNode);
261
        subNode = createTextElementNode("pattern", "pattern");
262
        addElement(subChild, subNode);
263
        subNode = createTextElementNode("type", "Subject");
264
        addElement(subChild, subNode);
265
        addElement(child, subChild);
266
        subNode = createTextElementNode("condition", "matchall");
267
        addElement(child, subNode);
268
        addElement(parent, child);
269
        // create actionlist-node
270
        Element actionNode = createElementNode("actionlist");
271
        Element subActionNode = createElementNode("action");
272
        Element nameNode = createTextElementNode("name", "move");
273
        addElement(subActionNode, nameNode);
274
        Element uidNode = createTextElementNode("uid", "101");
275
        addElement(subActionNode, uidNode);
276
        addElement(actionNode, subActionNode);
277
        addElement(parent, actionNode);
278
        AdapterNode filterListNode = folderNode.getChild("filterlist");
279
        if (filterListNode == null) {
280
                Element listNode = createElementNode("filterlist");
281
                addElement(listNode, parent);
282
                Node node = folderNode.domNode.appendChild(listNode);
283
                AdapterNode result = new AdapterNode(parent);
284
                return result;
285
        } else {
16
);
286
                Node node = filterListNode.domNode.appendChild(parent);
17
    }
287
                AdapterNode result = new AdapterNode(node);
288
                return result;
289
        }
290
}
291
*/
18
}
292
}
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