KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > imap > TestServer


1 package org.columba.mail.imap;
2
3 import java.io.IOException JavaDoc;
4 import java.io.InputStream JavaDoc;
5 import java.util.ArrayList JavaDoc;
6 import java.util.List JavaDoc;
7 import java.util.Observable JavaDoc;
8
9 import org.columba.api.command.IStatusObservable;
10 import org.columba.core.command.CommandCancelledException;
11 import org.columba.core.filter.FilterRule;
12 import org.columba.core.filter.IFilterRule;
13 import org.columba.core.xml.XmlElement;
14 import org.columba.mail.config.ImapItem;
15 import org.columba.mail.folder.headercache.MemoryHeaderList;
16 import org.columba.mail.folder.imap.IMAPFolder;
17 import org.columba.mail.message.IColumbaHeader;
18 import org.columba.mail.message.IHeaderList;
19 import org.columba.ristretto.imap.IMAPException;
20 import org.columba.ristretto.imap.IMAPFlags;
21 import org.columba.ristretto.imap.ListInfo;
22 import org.columba.ristretto.imap.MailboxStatus;
23 import org.columba.ristretto.imap.NamespaceCollection;
24 import org.columba.ristretto.imap.SearchKey;
25 import org.columba.ristretto.imap.SequenceSet;
26 import org.columba.ristretto.message.Header;
27 import org.columba.ristretto.message.MailboxInfo;
28 import org.columba.ristretto.message.MimeTree;
29
30 public class TestServer implements IImapServer {
31
32     
33     
34     private MailboxStatus status;
35     private IHeaderList headerList;
36     private ArrayList JavaDoc<IColumbaHeader> indices;
37     
38     
39     public TestServer(MailboxStatus status) {
40         super();
41         this.status = status;
42         indices = new ArrayList JavaDoc<IColumbaHeader>();
43         headerList = new MemoryHeaderList();
44     }
45     
46     public void addHeader(IColumbaHeader h, Object JavaDoc uid) {
47         headerList.add(h, uid);
48         indices.add(h);
49     }
50     
51     public IColumbaHeader removeHeader(int index) {
52         IColumbaHeader h = indices.remove(index-1);
53         headerList.remove(h.get("columba.uid"));
54         
55         return h;
56     }
57     
58     public String JavaDoc getDelimiter() throws IOException JavaDoc, IMAPException,
59             CommandCancelledException {
60         // TODO Auto-generated method stub
61
return null;
62     }
63
64     public void logout() throws Exception JavaDoc {
65         // TODO Auto-generated method stub
66

67     }
68
69     public List JavaDoc checkSupportedAuthenticationMethods() throws IOException JavaDoc {
70         // TODO Auto-generated method stub
71
return null;
72     }
73
74     public boolean isSupported(String JavaDoc command) throws IOException JavaDoc {
75         // TODO Auto-generated method stub
76
return false;
77     }
78
79     public void setFirstLoginAction(IFirstLoginAction action) {
80         // TODO Auto-generated method stub
81

82     }
83
84     public void ensureSelectedState(IMAPFolder folder) throws IOException JavaDoc,
85             IMAPException, CommandCancelledException {
86         // TODO Auto-generated method stub
87

88     }
89
90     public MailboxStatus getStatus(IMAPFolder folder) throws IOException JavaDoc,
91             IMAPException, CommandCancelledException {
92         return status;
93     }
94
95     public ListInfo[] list(String JavaDoc reference, String JavaDoc pattern) throws Exception JavaDoc {
96         // TODO Auto-generated method stub
97
return null;
98     }
99
100     public Integer JavaDoc append(InputStream JavaDoc messageSource, IMAPFlags flags,
101             IMAPFolder folder) throws Exception JavaDoc {
102         // TODO Auto-generated method stub
103
return null;
104     }
105
106     public Integer JavaDoc append(InputStream JavaDoc messageSource, IMAPFolder folder)
107             throws Exception JavaDoc {
108         // TODO Auto-generated method stub
109
return null;
110     }
111
112     public void createMailbox(String JavaDoc mailboxName, IMAPFolder folder)
113             throws IOException JavaDoc, IMAPException, CommandCancelledException {
114         // TODO Auto-generated method stub
115

116     }
117
118     public void deleteFolder(String JavaDoc path) throws Exception JavaDoc {
119         // TODO Auto-generated method stub
120

121     }
122
123     public void renameFolder(String JavaDoc oldMailboxName, String JavaDoc newMailboxName)
124             throws IOException JavaDoc, IMAPException, CommandCancelledException {
125         // TODO Auto-generated method stub
126

127     }
128
129     public void subscribeFolder(String JavaDoc mailboxName) throws IOException JavaDoc,
130             IMAPException, CommandCancelledException {
131         // TODO Auto-generated method stub
132

133     }
134
135     public void unsubscribeFolder(String JavaDoc mailboxName) throws IOException JavaDoc,
136             IMAPException, CommandCancelledException {
137         // TODO Auto-generated method stub
138

139     }
140
141     public void expunge(IMAPFolder folder) throws IOException JavaDoc, IMAPException,
142             CommandCancelledException {
143         // TODO Auto-generated method stub
144

145     }
146
147     public Integer JavaDoc[] copy(IMAPFolder destFolder, Object JavaDoc[] uids,
148             IMAPFolder folder) throws Exception JavaDoc {
149         // TODO Auto-generated method stub
150
return null;
151     }
152
153     public int fetchUid(SequenceSet set, IMAPFolder folder) throws IOException JavaDoc,
154             IMAPException, CommandCancelledException {
155         
156         //if(set.toString().equals("*")) {
157
return (Integer JavaDoc)indices.get(indices.size()-1).get("columba.uid");
158     }
159
160     public Integer JavaDoc[] fetchUids(SequenceSet set, IMAPFolder folder)
161             throws IOException JavaDoc, IMAPException, CommandCancelledException {
162         
163         
164         int[] idx = set.toArray(indices.size());
165         Integer JavaDoc[] result = new Integer JavaDoc[idx.length];
166
167         int pos = 0;
168         for( int i: idx) {
169             result[pos++] = (Integer JavaDoc)indices.get(i-1).get("columba.uid");
170         }
171         
172         return result;
173     }
174
175     public IMAPFlags[] fetchFlagsListStartFrom(int startIdx, IMAPFolder folder)
176             throws IOException JavaDoc, IMAPException, CommandCancelledException {
177         // TODO Auto-generated method stub
178
return null;
179     }
180
181     public IMAPFlags[] fetchFlagsListStartFrom2(int startIdx, IMAPFolder folder)
182             throws IOException JavaDoc, IMAPException, CommandCancelledException {
183         
184         int size = indices.size() - startIdx + 1;
185         IMAPFlags[] result = new IMAPFlags[size];
186         
187         for(int i=0;i<size;i++) {
188             IColumbaHeader h = indices.get(startIdx-1+i);
189             IMAPFlags flags = new IMAPFlags(h.getFlags().getFlags());
190             flags.setUid(h.get("columba.uid"));
191             
192             result[i] = flags;
193         }
194         
195         return result;
196     }
197
198     public NamespaceCollection fetchNamespaces() throws IOException JavaDoc,
199             IMAPException, CommandCancelledException {
200         // TODO Auto-generated method stub
201
return null;
202     }
203
204     public void fetchHeaderList(IHeaderList resultList, List JavaDoc list,
205             IMAPFolder folder) throws Exception JavaDoc {
206         
207         for(Object JavaDoc uid: list) {
208             resultList.add(headerList.get(uid), uid);
209         }
210     }
211
212     public MimeTree getMimeTree(Object JavaDoc uid, IMAPFolder folder)
213             throws IOException JavaDoc, IMAPException, CommandCancelledException {
214         // TODO Auto-generated method stub
215
return null;
216     }
217
218     public InputStream JavaDoc getMimePartBodyStream(Object JavaDoc uid, Integer JavaDoc[] address,
219             IMAPFolder folder) throws IOException JavaDoc, IMAPException,
220             CommandCancelledException {
221         // TODO Auto-generated method stub
222
return null;
223     }
224
225     public Header getHeaders(Object JavaDoc uid, String JavaDoc[] keys, IMAPFolder folder)
226             throws IOException JavaDoc, IMAPException, CommandCancelledException {
227         // TODO Auto-generated method stub
228
return null;
229     }
230
231     public Header getAllHeaders(Object JavaDoc uid, IMAPFolder folder)
232             throws IOException JavaDoc, IMAPException, CommandCancelledException {
233         // TODO Auto-generated method stub
234
return null;
235     }
236
237     public InputStream JavaDoc getMimePartSourceStream(Object JavaDoc uid, Integer JavaDoc[] address,
238             IMAPFolder folder) throws IOException JavaDoc, IMAPException,
239             CommandCancelledException {
240         // TODO Auto-generated method stub
241
return null;
242     }
243
244     public InputStream JavaDoc getMessageSourceStream(Object JavaDoc uid, IMAPFolder folder)
245             throws IOException JavaDoc, IMAPException, CommandCancelledException {
246         // TODO Auto-generated method stub
247
return null;
248     }
249
250     public void markMessage(Object JavaDoc[] uids, int variant, IMAPFolder folder)
251             throws IOException JavaDoc, IMAPException, CommandCancelledException {
252         // TODO Auto-generated method stub
253

254     }
255
256     public void setFlags(Object JavaDoc[] uids, IMAPFlags flags, IMAPFolder folder)
257             throws IOException JavaDoc, IMAPException, CommandCancelledException {
258         // TODO Auto-generated method stub
259

260     }
261
262     public List JavaDoc search(Object JavaDoc[] uids, IFilterRule filterRule, IMAPFolder folder)
263             throws Exception JavaDoc {
264         // TODO Auto-generated method stub
265
return null;
266     }
267
268     public int getIndex(Integer JavaDoc uid, IMAPFolder folder) throws IOException JavaDoc,
269             IMAPException, CommandCancelledException {
270         int pos = 0;
271         for( IColumbaHeader h: indices) {
272             if(h.get("columba.uid").equals(uid)) {
273                 return pos+1;
274             }
275             pos ++;
276         }
277         
278         return -1;
279     }
280
281     public Integer JavaDoc[] search(SearchKey key, IMAPFolder folder)
282             throws IOException JavaDoc, IMAPException, CommandCancelledException {
283         return new Integer JavaDoc[0];
284     }
285
286     public List JavaDoc search(IFilterRule filterRule, IMAPFolder folder)
287             throws IOException JavaDoc, IMAPException, CommandCancelledException {
288         
289         return new ArrayList JavaDoc();
290     }
291
292     public MailboxInfo getMessageFolderInfo(IMAPFolder folder)
293             throws IOException JavaDoc, IMAPException, CommandCancelledException {
294         // TODO Auto-generated method stub
295
return null;
296     }
297
298     public ListInfo[] fetchSubscribedFolders() throws IOException JavaDoc,
299             IMAPException, CommandCancelledException {
300         // TODO Auto-generated method stub
301
return null;
302     }
303
304     public boolean isSelected(IMAPFolder folder) throws IOException JavaDoc,
305             IMAPException, CommandCancelledException {
306         // TODO Auto-generated method stub
307
return false;
308     }
309
310     public void alertMessage(String JavaDoc arg0) {
311         // TODO Auto-generated method stub
312

313     }
314
315     public void connectionClosed(String JavaDoc arg0, String JavaDoc arg1) {
316         // TODO Auto-generated method stub
317

318     }
319
320     public void existsChanged(String JavaDoc arg0, int arg1) {
321         // TODO Auto-generated method stub
322

323     }
324
325     public void flagsChanged(String JavaDoc arg0, IMAPFlags arg1) {
326         // TODO Auto-generated method stub
327

328     }
329
330     public void parseError(String JavaDoc arg0) {
331         // TODO Auto-generated method stub
332

333     }
334
335     public void recentChanged(String JavaDoc arg0, int arg1) {
336         // TODO Auto-generated method stub
337

338     }
339
340     public void warningMessage(String JavaDoc arg0) {
341         // TODO Auto-generated method stub
342

343     }
344
345     public ImapItem getItem() {
346         return new ImapItem(new XmlElement());
347     }
348
349     public void update(Observable JavaDoc o, Object JavaDoc arg) {
350         // TODO Auto-generated method stub
351

352     }
353
354     public void setExistsChangedAction(IExistsChangedAction existsChangedAction) {
355         // TODO Auto-generated method stub
356

357     }
358
359     public void setUpdateFlagAction(IUpdateFlagAction updateFlagAction) {
360         // TODO Auto-generated method stub
361

362     }
363
364     public void setObservable(IStatusObservable observable) {
365         // TODO Auto-generated method stub
366

367     }
368
369     public void setStatus(MailboxStatus status) {
370         this.status = status;
371     }
372
373     public IHeaderList getHeaderList() {
374         return headerList;
375     }
376
377     public int getLargestRemoteUid(IMAPFolder folder) throws IOException JavaDoc, IMAPException, CommandCancelledException {
378         // TODO Auto-generated method stub
379
return 0;
380     }
381
382 }
383
Popular Tags