here is my DefaultImapEncoderFactory

public class DefaultImapEncoderFactory implements ImapEncoderFactory {

    public static final ImapEncoder createDefaultEncoder() {
        final EndImapEncoder endImapEncoder = new EndImapEncoder();
        final UntaggedNoResponseEncoder untaggedNoResponseEncoder = new
UntaggedNoResponseEncoder(endImapEncoder);
        final IdleResponseEncoder idleResponseEncoder = new
IdleResponseEncoder(untaggedNoResponseEncoder);
-->>>        final RecentResponseEncoder recentResponseEncoder = new
RecentResponseEncoder(idleResponseEncoder);
        final FetchResponseEncoder fetchResponseEncoder = new
FetchResponseEncoder(recentResponseEncoder);
        final ExpungeResponseEncoder expungeResponseEncoder = new
ExpungeResponseEncoder(fetchResponseEncoder);
        final ExistsResponseEncoder existsResponseEncoder = new
ExistsResponseEncoder(expungeResponseEncoder);
        final StoreResponseEncoder storeResponseEncoder = new
StoreResponseEncoder(existsResponseEncoder);
        final StatusResponseEncoder statusResponseEncoder = new
StatusResponseEncoder(storeResponseEncoder);
        final SearchResponseEncoder searchResponseEncoder = new
SearchResponseEncoder(statusResponseEncoder);
        final LogoutResponseEncoder logoutResponseEncoder = new
LogoutResponseEncoder(searchResponseEncoder);
        final ListResponseEncoder listResponseEncoder = new
ListResponseEncoder(logoutResponseEncoder);
        final LegacyFetchResponseEncoder legacyFetchResponseEncoder = new
LegacyFetchResponseEncoder(listResponseEncoder);
        final ExamineAndSelectResponseEncoder
examineAndSelectResponseEncoder = new
ExamineAndSelectResponseEncoder(legacyFetchResponseEncoder);
        final ErrorResponseEncoder errorResponseEncoder = new
ErrorResponseEncoder(examineAndSelectResponseEncoder);
        final CommandFailedResponseEncoder commandFailedResponseEncoder =
new CommandFailedResponseEncoder(errorResponseEncoder);
        final CommandCompleteResponseEncoder commandCompleteResponseEncoder
= new CommandCompleteResponseEncoder(commandFailedResponseEncoder);
        final CloseResponseEncoder closeResponseEncoder = new
CloseResponseEncoder(commandCompleteResponseEncoder);
        final CapabilityResponseEncoder capabilityResponseEncoder = new
CapabilityResponseEncoder(closeResponseEncoder);
        final BadResponseEncoder result = new
BadResponseEncoder(capabilityResponseEncoder);

        return result;
    }

    public ImapEncoder buildImapEncoder() {
        return createDefaultEncoder();
    }


as you can see i add the Idle command to the chain..

do you have more guesses? :)

Thanks!
Paulo F.

On Nov 15, 2007 6:45 PM, Robert Burrell Donkin <
[EMAIL PROTECTED]> wrote:

> On Nov 15, 2007 3:26 PM, Paulo Sergio <[EMAIL PROTECTED]> wrote:
> > Hi guys,
> > i've been working in Imap IDLE this week, trying to add it to James.
> > My current problem is that when i send the idle command (tag IDLE)i
> > receive:  "NO Unknown message in pipeline"
> >
> > I've add code to all the IMAP related  modules,so it's a bit hard to
> explain
> > averyting i add, but if any of you have any guess about what could be
> the
> > problem, please let me know...
>
> the seda stuff is event driven. a chain of decoders takes bytes and
> converts to message objects. these value objects are then processed by
> a chain of processors which transform these. these response messages
> are streamed to a chain of encoders which convert value objects to
> bytes.
>
> you need to ensure that each of the chains you use contain the new
> encoders, processors and decoders. i'm not sure without looking at the
> code but i suspect that you're missing a encoder in your factory
> implementation. take a look DefaultImapEncoderFactory.
>
> - robert
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to