Changeset 692


Ignore:
Timestamp:
08/21/10 18:42:39 (21 months ago)
Author:
octorian
Message:

Fix for fetch-update bug

File:
1 edited

Legend:

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

    r690 r692  
    481481                Integer.toString(firstIndex) + CHAR_COLON + 
    482482                Integer.toString(lastIndex) + " (FLAGS UID)", 
    483                 new ExecuteCallback() { public void processResponse(byte[] rawLine) { 
    484                     FetchFlagsResponse response = prepareFetchFlagsResponse(rawLine); 
    485                     if(response != null) { 
    486                         result.addElement(response); 
    487                     } 
    488                 }}, 
    489                 progressHandler); 
     483                new ExecuteCallback() { 
     484            public void processResponse(byte[] rawLine) { 
     485                FetchFlagsResponse response = prepareFetchFlagsResponse(rawLine); 
     486                if(response != null) { 
     487                    result.addElement(response); 
     488                } 
     489            } 
     490            public void executeComplete() { }}, 
     491            progressHandler); 
    490492 
    491493        FetchFlagsResponse[] resultArray = new FetchFlagsResponse[result.size()]; 
     
    513515                Integer.toString(uidNext) + CHAR_COLON_ASTERISK + 
    514516                " (FLAGS UID)", 
    515                 new ExecuteCallback() { public void processResponse(byte[] rawLine) { 
    516                     FetchFlagsResponse response = prepareFetchFlagsResponse(rawLine); 
    517                     if(response != null) { 
    518                         result.addElement(response); 
    519                     } 
    520                 }}, 
    521                 progressHandler); 
     517                new ExecuteCallback() { 
     518            public void processResponse(byte[] rawLine) { 
     519                FetchFlagsResponse response = prepareFetchFlagsResponse(rawLine); 
     520                if(response != null) { 
     521                    result.addElement(response); 
     522                } 
     523            } 
     524            public void executeComplete() { }}, 
     525            progressHandler); 
    522526 
    523527        FetchFlagsResponse[] resultArray = new FetchFlagsResponse[result.size()]; 
     
    610614                Integer.toString(lastIndex) + 
    611615                " (FLAGS UID ENVELOPE BODYSTRUCTURE)", 
    612                 new ExecuteCallback() { public void processResponse(byte[] rawLine) { 
    613                     prepareFetchEnvelopeResponse(rawLine, callback); 
    614                 }}, 
    615                 progressHandler); 
     616                new ExecuteCallback() { 
     617            public void processResponse(byte[] rawLine) { 
     618                prepareFetchEnvelopeResponse(rawLine, callback); 
     619            } 
     620            public void executeComplete() { 
     621                if(callback != null) { 
     622                    callback.responseAvailable(null); 
     623                } 
     624            } 
     625        }, 
     626        progressHandler); 
    616627    } 
    617628 
     
    634645                Integer.toString(uidNext) + CHAR_COLON_ASTERISK + 
    635646                " (FLAGS UID ENVELOPE BODYSTRUCTURE)", 
    636                 new ExecuteCallback() { public void processResponse(byte[] rawLine) { 
    637                     prepareFetchEnvelopeResponse(rawLine, callback); 
    638                 }}, 
    639                 progressHandler); 
     647                new ExecuteCallback() { 
     648            public void processResponse(byte[] rawLine) { 
     649                prepareFetchEnvelopeResponse(rawLine, callback); 
     650            } 
     651            public void executeComplete() { 
     652                if(callback != null) { 
     653                    callback.responseAvailable(null); 
     654                } 
     655            } 
     656        }, 
     657        progressHandler); 
    640658    } 
    641659 
     
    674692        executeResponse(UID_FETCH, 
    675693                uidList + " (FLAGS UID ENVELOPE BODYSTRUCTURE)", 
    676                 new ExecuteCallback() { public void processResponse(byte[] rawLine) { 
    677                     prepareFetchEnvelopeResponse(rawLine, callback); 
    678                 }}, 
    679                 progressHandler); 
     694                new ExecuteCallback() { 
     695            public void processResponse(byte[] rawLine) { 
     696                prepareFetchEnvelopeResponse(rawLine, callback); 
     697            } 
     698            public void executeComplete() { 
     699                if(callback != null) { 
     700                    callback.responseAvailable(null); 
     701                } 
     702            } 
     703        }, 
     704        progressHandler); 
    680705    } 
    681706 
     
    14181443        } 
    14191444 
     1445        try { 
     1446            callback.executeComplete(); 
     1447        } catch (Throwable t) { 
     1448            EventLogger.logEvent(AppInfo.GUID, 
     1449                    ("Unable to complete processing the response: " + t.getMessage()).getBytes(), 
     1450                    EventLogger.ERROR); 
     1451        } 
     1452         
    14201453        if (StringArrays.startsWith(temp, BAD_PREFIX, tagBytes.length) || 
    14211454                StringArrays.startsWith(temp, NO_PREFIX, 
     
    14301463    protected interface ExecuteCallback { 
    14311464        void processResponse(byte[] rawLine); 
     1465        void executeComplete(); 
    14321466    } 
    14331467     
Note: See TracChangeset for help on using the changeset viewer.