Show
Ignore:
Timestamp:
08/01/08 10:18:16 PM (5 months ago)
Author:
octorian
Message:

Mailbox node serialization

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/LogicMail/src/org/logicprobe/LogicMail/mail/imap/ImapClient.java

    r253 r259  
    325325        } 
    326326 
    327     public void refreshFolderStatus(FolderTreeItem root) throws IOException, MailException { 
    328         // Flatten the tree for easy batching of the status refresh 
    329         Vector folders = new Vector(); 
    330         flattenFolderTree(folders, root); 
    331          
     327    public void refreshFolderStatus(FolderTreeItem[] folders) throws IOException, MailException { 
    332328        // Construct an array of mailbox paths to match the folder vector 
    333         int size = folders.size(); 
    334329        Vector mboxPaths = new Vector(); 
    335330        Hashtable mboxMap = new Hashtable(); 
    336331        int i; 
    337         for(i=0; i<size; i++) { 
    338             FolderTreeItem item = (FolderTreeItem)folders.elementAt(i); 
     332        for(i=0; i<folders.length; i++) { 
     333            FolderTreeItem item = folders[i]; 
    339334            if(item.isSelectable()) { 
    340335                mboxPaths.addElement(item.getPath()); 
     
    355350        } 
    356351    } 
    357      
    358     /** 
    359      * Recursively walk the folder tree, populating a flat vector of 
    360      * FolderTreeItem objects. 
    361      * 
    362      * @param folders An initialized Vector to populate 
    363      * @param node The FolderTreeItem to start from 
    364      */ 
    365     private void flattenFolderTree(Vector folders, FolderTreeItem node) { 
    366         // Avoid adding the invisible root node 
    367         if(node.getPath().length() > 0) { 
    368             folders.addElement(node); 
    369         } 
    370          
    371         if(node.hasChildren()) { 
    372             FolderTreeItem[] children = node.children(); 
    373             for(int i = 0; i < children.length; i++) { 
    374                 flattenFolderTree(folders, children[i]); 
    375             } 
    376         } 
    377     } 
    378      
    379352     
    380353    public FolderTreeItem getActiveFolder() {