package com.idega.block.email.client.business; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.SortedMap; import java.util.TreeMap; import javax.mail.Flags; import javax.mail.Folder; import javax.mail.Message; import javax.mail.search.FlagTerm; /** * Title: * Description: * Copyright: Copyright (c) 2001 * Company: * @author <br><a href="mailto:aron@idega.is">Aron Birkir</a><br> * @version 1.0 */ public class MessageFinder { public MessageFinder() { } public static List getMessagesInfo(MailUserBean user){ try{ FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.DELETED), false); Folder f = user.getFolder(); Message[] msgs = f.search(ft); List l = new ArrayList(); MessageInfo mi; for (int i = 0; i < msgs.length; i++) { mi = new MessageInfo(); mi.setMessage(msgs[i]); l.add(mi); System.err.println("msgnum " + mi.getNum()); } return l; } catch(Exception ex){ ex.printStackTrace(); } return null; } public static Map getMappedMessagesInfo(MailUserBean user){ return getMappedMessagesInfo(getMessagesInfo(user)); } public static SortedMap getMappedMessagesInfo(List messagesInfo){ TreeMap m = new TreeMap(); if(messagesInfo!=null && messagesInfo.size()>0){ Iterator iter = messagesInfo.iterator(); while (iter.hasNext()) { MessageInfo mi = (MessageInfo) iter.next(); m.put(new Integer(mi.getNum()),mi); } } return m; } }