Changeset 568
- Timestamp:
- 12/29/09 11:00:56 (2 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 2 edited
-
LogicMail/src/org/logicprobe/LogicMail/model/MailFileComparator.java (added)
-
LogicMail/src/org/logicprobe/LogicMail/model/MailFileManager.java (modified) (4 diffs)
-
LogicMailTests/src/org/logicprobe/LogicMail/model/MailFileComparatorTest.java (added)
-
LogicMailTests/src/org/logicprobe/LogicMail/model/ModelTests.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LogicMail/src/org/logicprobe/LogicMail/model/MailFileManager.java
r565 r568 41 41 42 42 import net.rim.device.api.system.EventLogger; 43 import net.rim.device.api.util.InvertedOrderComparator; 44 import net.rim.device.api.util.SimpleSortingVector; 43 45 44 46 import org.logicprobe.LogicMail.AppInfo; … … 177 179 Vector messageTokenList = new Vector(); 178 180 179 FileConnection fileConnection = getMailboxFileConnection(mailboxNode); 180 String mailboxUrl = fileConnection.getURL(); 181 Enumeration e = fileConnection.list(MSG_FILTER, false); 182 while(e.hasMoreElements()) { 183 String fileUrl = mailboxUrl + e.nextElement(); 184 MessageToken messageToken = readMessageToken(fileUrl); 185 if(messageToken != null) { 186 messageTokenList.addElement(messageToken); 187 } 188 } 189 fileConnection.close(); 190 181 String[] fileUrls = getMessageFiles(mailboxNode); 182 for(int i=0; i<fileUrls.length; i++) { 183 MessageToken messageToken = readMessageToken(fileUrls[i]); 184 if(messageToken != null) { 185 messageTokenList.addElement(messageToken); 186 } 187 } 188 191 189 MessageToken[] result = new MessageToken[messageTokenList.size()]; 192 190 messageTokenList.copyInto(result); … … 199 197 Vector messageNodeList = new Vector(); 200 198 201 FileConnection fileConnection = getMailboxFileConnection(mailboxNode); 202 String mailboxUrl = fileConnection.getURL(); 203 Enumeration e = fileConnection.list(MSG_FILTER, false); 204 while(e.hasMoreElements()) { 205 String fileUrl = mailboxUrl + e.nextElement(); 206 MessageNode messageNode = readMessageNode(fileUrl); 207 if(messageNode != null) { 208 messageNodeList.addElement(messageNode); 209 } 210 } 211 fileConnection.close(); 199 String[] fileUrls = getMessageFiles(mailboxNode); 200 for(int i=0; i<fileUrls.length; i++) { 201 MessageNode messageNode = readMessageNode(fileUrls[i]); 202 if(messageNode != null) { 203 messageNodeList.addElement(messageNode); 204 } 205 } 212 206 213 207 MessageNode[] result = new MessageNode[messageNodeList.size()]; … … 218 212 public void readMessageNodes(MailboxNode mailboxNode, MessageNodeCallback callback) throws IOException { 219 213 if(cacheUrl == null) { callback.messageNodeUpdated(null); } 220 221 //TODO: Implement sort ordering in both directions for sane cache loading 214 215 String[] fileUrls = getMessageFiles(mailboxNode); 216 for(int i=0; i<fileUrls.length; i++) { 217 MessageNode messageNode = readMessageNode(fileUrls[i]); 218 if(messageNode != null) { 219 callback.messageNodeUpdated(messageNode); 220 } 221 } 222 223 callback.messageNodeUpdated(null); 224 } 225 226 private String[] getMessageFiles(MailboxNode mailboxNode) throws IOException { 227 SimpleSortingVector fileVector = new SimpleSortingVector(); 228 if(mailSettings.getGlobalConfig().getDispOrder()) { 229 fileVector.setSortComparator(new MailFileComparator()); 230 } 231 else { 232 fileVector.setSortComparator(new InvertedOrderComparator(new MailFileComparator())); 233 } 234 fileVector.setSort(true); 235 222 236 FileConnection fileConnection = getMailboxFileConnection(mailboxNode); 223 237 String mailboxUrl = fileConnection.getURL(); 224 238 Enumeration e = fileConnection.list(MSG_FILTER, false); 225 239 while(e.hasMoreElements()) { 226 String fileUrl = mailboxUrl + e.nextElement(); 227 MessageNode messageNode = readMessageNode(fileUrl); 228 if(messageNode != null) { 229 callback.messageNodeUpdated(messageNode); 230 } 240 fileVector.addElement(e.nextElement()); 231 241 } 232 242 fileConnection.close(); 233 callback.messageNodeUpdated(null); 243 244 int size = fileVector.size(); 245 String[] result = new String[size]; 246 for(int i=0; i<size; i++) { 247 result[i] = mailboxUrl + fileVector.elementAt(i); 248 } 249 return result; 234 250 } 235 251 236 252 public MessageNode readMessageNode(MailboxNode mailboxNode, MessageToken messageToken, boolean loadContent) throws IOException { 237 253 if(cacheUrl == null) { return null; } -
trunk/LogicMailTests/src/org/logicprobe/LogicMail/model/ModelTests.java
r517 r568 50 50 testSuite.addTest(new MessageNodeTest().suite()); 51 51 testSuite.addTest(new MessageNodeWriterTest().suite()); 52 testSuite.addTest(new MailFileComparatorTest().suite()); 52 53 return testSuite; 53 54 }
Note: See TracChangeset
for help on using the changeset viewer.
