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.addressbook.shutdown; 17 18 import org.columba.addressbook.folder.AddressbookFolder; 19 import org.columba.addressbook.folder.AddressbookTreeNode; 20 import org.columba.addressbook.gui.tree.AddressbookTreeModel; 21 22 23 /** 24 * @author freddy 25 * 26 * To change this generated comment edit the template variable "typecomment": 27 * Window>Preferences>Java>Templates. 28 * To enable and disable the creation of type comments go to 29 * Window>Preferences>Java>Code Generation. 30 */ 31 public class SaveAllAddressbooksPlugin implements Runnable { 32 /** 33 * Constructor for SaveAllFoldersPlugin. 34 */ 35 public SaveAllAddressbooksPlugin() { 36 super(); 37 } 38 39 /** 40 * @see org.columba.api.shutdown.ShutdownPlugin#run() 41 */ 42 public void run() { 43 saveFolders((AddressbookTreeNode) AddressbookTreeModel.getInstance().getRoot()); 44 } 45 46 public void saveFolders(AddressbookTreeNode folder) { 47 for (int i = 0; i < folder.getChildCount(); i++) { 48 AddressbookTreeNode child = (AddressbookTreeNode) folder.getChildAt(i); 49 50 if (child instanceof AddressbookFolder) { 51 try { 52 ((AddressbookFolder) child).save(); 53 } catch (Exception ex) { 54 ex.printStackTrace(); 55 } 56 } 57 58 saveFolders(child); 59 } 60 } 61 } 62