Package javax.mail.event

Examples of javax.mail.event.MessageCountEvent


      long[] addedUids = getAddedMessages(uids, uidValidity);
      getLogger().log(Level.FINE, "synchronizing--addedUids.length = " + addedUids.length);

      if (addedUids.length > 0) {
        Message[] addedMsgs = ((UIDFolder)getFolder()).getMessagesByUID(addedUids);
        MessageCountEvent mce = new MessageCountEvent(getFolder(), MessageCountEvent.ADDED, false, addedMsgs);
        messagesAdded(mce);
      }

      long[] removedUids = getRemovedMessages(uids, uidValidity);
      getLogger().log(Level.FINE, "synchronizing--removedUids.length = " + removedUids.length);

      if (removedUids.length > 0) {
        Message[] removedMsgs = new Message[removedUids.length];
        for (int i = 0 ; i < removedUids.length; i++) {
          // messagesRemoved() will handle moving between UIDMimeMessages
          // and real messages.
          removedMsgs[i] = getMessageInfoByUid(removedUids[i]).getMessage();
        }
        MessageCountEvent mce = new MessageCountEvent(getFolder(), MessageCountEvent.REMOVED, false, removedMsgs);
        messagesRemoved(mce);

      }

      updateFlags(uids, messages, uidValidity);
View Full Code Here


          // our UIDMimeMessages.
          Message[] newMsgs = new Message[addedProxies.size()];
          for (int i = 0; i < addedProxies.size(); i++) {
            newMsgs[i] = ((MessageProxy)addedProxies.elementAt(i)).getMessageInfo().getMessage();
          }
          MessageCountEvent newMce = new MessageCountEvent(getFolder(), mce.getType(), mce.isRemoved(), newMsgs);
          fireMessageCountEvent(newMce);
        }
      } catch (MessagingException me) {
        if (getFolderDisplayUI() != null)
          getFolderDisplayUI().showError(Pooka.getProperty("error.handlingMessages", "Error handling messages."), Pooka.getProperty("error.handlingMessages.title", "Error handling messages."), me);
View Full Code Here

   * This does the real work when messages are removed.
   */
  protected void runMessagesRemoved(MessageCountEvent mce) {
    getLogger().log(Level.FINE, "running MessagesRemoved on " + getFolderID());

    MessageCountEvent newMce = null;
    if (folderTableModel != null) {
      Message[] removedMessages = mce.getMessages();
      Message[] uidRemovedMessages = new Message[removedMessages.length];

      getLogger().log(Level.FINE, "removedMessages was of size " + removedMessages.length);

      MessageInfo mi;
      Vector removedProxies=new Vector();
      for (int i = 0; i < removedMessages.length; i++) {
        getLogger().log(Level.FINE, "checking for existence of message " + removedMessages[i]);

        try {
          UIDMimeMessage removedMsg = getUIDMimeMessage(removedMessages[i]);

          if (removedMsg != null)
            uidRemovedMessages[i] = removedMsg;
          else
            uidRemovedMessages[i] = removedMessages[i];

          mi = getMessageInfo(removedMsg);
          if (mi != null) {
            if (mi.getMessageProxy() != null)
              mi.getMessageProxy().close();

            getLogger().log(Level.FINE, "message exists--removing");
            removedProxies.add(mi.getMessageProxy());
            messageToInfoTable.remove(mi);
            uidToInfoTable.remove(new Long(removedMsg.getUID()));
          } else {
            getLogger().log(Level.FINE, "message with uid " + removedMessages[i] + " not found; not removing.");
          }
        } catch (MessagingException me) {
          getLogger().log(Level.FINE, "caught exception running messagesRemoved on " + removedMessages[i] + ":  " + me.getMessage());
        }
      }
      newMce = new MessageCountEvent(getFolder(), mce.getType(), mce.isRemoved(), uidRemovedMessages);
      if (getFolderDisplayUI() != null) {
        if (removedProxies.size() > 0)
          getFolderDisplayUI().removeRows(removedProxies);
        resetMessageCounts();
        fireMessageCountEvent(newMce);
View Full Code Here

      if (getLogger().isLoggable(Level.FINE))
        getLogger().log(Level.FINE, "synchronizing--addedUids.length = " + addedUids.length);

      if (addedUids.length > 0) {
        Message[] addedMsgs = ((UIDFolder)getFolder()).getMessagesByUID(addedUids);
        MessageCountEvent mce = new MessageCountEvent(getFolder(), MessageCountEvent.ADDED, false, addedMsgs);

        showStatusMessage(getFolderDisplayUI(), Pooka.getProperty("message.UIDFolder.synchronizing.loadingMessages", "Loading") + " " + addedUids.length + " " + Pooka.getProperty("message.UIDFolder.synchronizing.messages", "messages."));

        messagesAdded(mce);
      }

      long[] removedUids = cache.getRemovedMessages(uids, uidValidity);
      if (getLogger().isLoggable(Level.FINE))
        getLogger().log(Level.FINE, "synchronizing--removedUids.length = " + removedUids.length);

      if (removedUids.length > 0) {
        Message[] removedMsgs = new Message[removedUids.length];
        for (int i = 0 ; i < removedUids.length; i++) {

          MessageInfo mi =  getMessageInfoByUid(removedUids[i]);
          if (mi != null)
            removedMsgs[i] = mi.getMessage();

          if (removedMsgs[i] == null) {
            removedMsgs[i] = new CachingMimeMessage(this, removedUids[i]);
          }
        }
        MessageCountEvent mce = new MessageCountEvent(getFolder(), MessageCountEvent.REMOVED, false, removedMsgs);

        showStatusMessage(getFolderDisplayUI(), Pooka.getProperty("message.UIDFolder.synchronizing.removingMessages", "Removing") + " " + removedUids.length + " " + Pooka.getProperty("message.UIDFolder.synchronizing.messages", "messages."));

        messagesRemoved(mce);
      }
View Full Code Here

        // our UIDMimeMessages.
        Message[] newMsgs = new Message[addedProxies.size()];
        for (int i = 0; i < addedProxies.size(); i++) {
          newMsgs[i] = ((MessageProxy)addedProxies.elementAt(i)).getMessageInfo().getMessage();
        }
        MessageCountEvent newMce = new MessageCountEvent(getFolder(), mce.getType(), mce.isRemoved(), newMsgs);
        fireMessageCountEvent(newMce);
      }

    }
  }
View Full Code Here

        }
        getCache().invalidateCache(uid, SimpleFileCache.MESSAGE);
      }
    }

    MessageCountEvent newMce = new MessageCountEvent(getFolder(), mce.getType(), mce.isRemoved(), removedCachingMessages);

    if (getFolderDisplayUI() != null) {
      if (removedProxies.size() > 0) {
        getFolderDisplayUI().removeRows(removedProxies);
      }
View Full Code Here

    public void removeMessageCountListener(MessageCountListener listener) {
        messageCountListeners.remove(listener);
    }

    protected void notifyMessageAddedListeners(Message[] messages) {
        queue.queueEvent(new MessageCountEvent(this, MessageCountEvent.ADDED, false, messages), messageChangedListeners);
    }
View Full Code Here

    protected void notifyMessageAddedListeners(Message[] messages) {
        queue.queueEvent(new MessageCountEvent(this, MessageCountEvent.ADDED, false, messages), messageChangedListeners);
    }

    protected void notifyMessageRemovedListeners(boolean removed, Message[] messages) {
        queue.queueEvent(new MessageCountEvent(this, MessageCountEvent.REMOVED, removed, messages), messageChangedListeners);
    }
View Full Code Here

        ensureFolderIsOpen();

        int count = folder.getMessageCount();
        if (count > 0) {
            Message[] messages = folder.getMessages();
            MessageCountEvent event = new MessageCountEvent(folder, MessageCountEvent.ADDED, true, messages);
            messagesAdded(event);
        } else if (count == -1) {
            throw new MessagingException("Folder: " + folder.getFullName() + " is closed");
        }
View Full Code Here

        ensureFolderIsOpen();

        int count = folder.getMessageCount();
        if (count > 0) {
            Message[] messages = folder.getMessages();
            MessageCountEvent event = new MessageCountEvent(folder, MessageCountEvent.ADDED, true, messages);
            messagesAdded(event);
        } else if (count == -1) {
            throw new MessagingException("Folder: " + folder.getFullName() + " is closed");
        }
View Full Code Here

TOP

Related Classes of javax.mail.event.MessageCountEvent

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.