KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > shutdown > SaveAllFoldersPlugin


1 //The contents of this file are subject to the Mozilla Public License Version 1.1
2
//(the "License"); you may not use this file except in compliance with the
3
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
4
//
5
//Software distributed under the License is distributed on an "AS IS" basis,
6
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
7
//for the specific language governing rights and
8
//limitations under the License.
9
//
10
//The Original Code is "The Columba Project"
11
//
12
//The Initial Developers of the Original Code are Frederik Dietz and Timo Stich.
13
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
14
//
15
//All Rights Reserved.
16
package org.columba.mail.shutdown;
17
18 import java.util.Enumeration JavaDoc;
19 import java.util.logging.Logger JavaDoc;
20
21 import org.columba.core.command.CommandProcessor;
22 import org.columba.mail.command.MailFolderCommandReference;
23 import org.columba.mail.folder.IMailFolder;
24 import org.columba.mail.folder.command.SaveFolderConfigurationCommand;
25 import org.columba.mail.gui.tree.FolderTreeModel;
26
27 /**
28  * Launches a new SaveFolderConfigurationCommand for each folder in the
29  * hierarchy.
30  *
31  * @author freddy
32  */

33 public class SaveAllFoldersPlugin implements Runnable JavaDoc {
34
35     /** JDK 1.4+ logging framework logger, used for logging. */
36     private static final Logger JavaDoc LOG = Logger
37             .getLogger("org.columba.mail.shutdown");
38
39     public void run() {
40         IMailFolder rootFolder = (IMailFolder) FolderTreeModel.getInstance()
41                 .getRoot();
42         saveFolder(rootFolder);
43     }
44
45     protected void saveFolder(IMailFolder parentFolder) {
46         IMailFolder child;
47
48         for (Enumeration JavaDoc e = parentFolder.children(); e.hasMoreElements();) {
49             child = (IMailFolder) e.nextElement();
50
51             MailFolderCommandReference r = new MailFolderCommandReference(child);
52
53             LOG.info("Saving folder " + child.getName());
54
55             CommandProcessor.getInstance().addOp(
56                     new SaveFolderConfigurationCommand(r));
57
58             saveFolder(child);
59         }
60     }
61 }
62
Popular Tags