From: Frederik D. <fd...@us...> - 2004-12-29 19:42:50
|
Update of /cvsroot/columba/columba/src/mail/core/org/columba/mail/pop3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11091/src/mail/core/org/columba/mail/pop3 Modified Files: POP3Server.java POP3HeaderCache.java Log Message: [intern] more cleanups of header-cache, speed-optimization, removed deprecated method access Index: POP3HeaderCache.java =================================================================== RCS file: /cvsroot/columba/columba/src/mail/core/org/columba/mail/pop3/POP3HeaderCache.java,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** POP3HeaderCache.java 1 Nov 2004 18:17:15 -0000 1.20 --- POP3HeaderCache.java 29 Dec 2004 19:42:39 -0000 1.21 *************** *** 16,19 **** --- 16,20 ---- package org.columba.mail.pop3; + import java.util.Date; import java.util.Enumeration; import java.util.logging.Logger; *************** *** 149,165 **** protected void loadHeader(ColumbaHeader h) throws Exception { String[] columnNames = CachedHeaderfields.POP3_HEADERFIELDS; ! for (int j = 0; j < columnNames.length; j++) { ! h.set(columnNames[j], reader.readObject()); ! } } protected void saveHeader(ColumbaHeader h) throws Exception { String[] columnNames = CachedHeaderfields.POP3_HEADERFIELDS; ! Object o; ! for (int j = 0; j < columnNames.length; j++) { ! writer.writeObject(h.get(columnNames[j])); ! } } /** --- 150,187 ---- protected void loadHeader(ColumbaHeader h) throws Exception { String[] columnNames = CachedHeaderfields.POP3_HEADERFIELDS; + Class[] columnTypes = CachedHeaderfields.POP3_HEADERFIELDS_TYPE; ! for (int j = 0; j < columnNames.length; j++) { ! Object value = null; ! ! if (columnTypes[j] == Integer.class) { ! value = new Integer(reader.readInt()); ! } else if (columnTypes[j] == Date.class) { ! value = new Date(reader.readLong()); ! } else if (columnTypes[j] == String.class) { ! value = reader.readString(); ! } ! ! if (value != null) { ! h.set(columnNames[j], value); ! } ! } } protected void saveHeader(ColumbaHeader h) throws Exception { String[] columnNames = CachedHeaderfields.POP3_HEADERFIELDS; ! Class[] columnTypes = CachedHeaderfields.POP3_HEADERFIELDS_TYPE; ! Object o; ! for (int j = 0; j < columnNames.length; j++) { ! o = h.get(columnNames[j]); ! ! if (columnTypes[j] == Integer.class) ! writer.writeInt(((Integer) o).intValue()); ! else if (columnTypes[j] == Date.class) { ! writer.writeLong(((Date) o).getTime()); ! } else if (columnTypes[j] == String.class) ! writer.writeString((String) o); ! } } /** *************** *** 172,176 **** } ! headerList.add(strippedHeader, strippedHeader.get("columba.pop3uid")); } } --- 194,198 ---- } ! headerList.add(strippedHeader, strippedHeader.getAttributes().get("columba.pop3uid")); } } Index: POP3Server.java =================================================================== RCS file: /cvsroot/columba/columba/src/mail/core/org/columba/mail/pop3/POP3Server.java,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** POP3Server.java 27 Nov 2004 14:03:12 -0000 1.42 --- POP3Server.java 29 Dec 2004 19:42:38 -0000 1.43 *************** *** 256,260 **** String contentType = (String) header.get("Content-Type"); ! h.set("columba.attachment", h.hasAttachments()); h.getAttributes().put("columba.fetchstate", Boolean.TRUE); h.getAttributes().put("columba.accountuid", --- 256,260 ---- String contentType = (String) header.get("Content-Type"); ! h.getAttributes().put("columba.attachment", h.hasAttachments()); h.getAttributes().put("columba.fetchstate", Boolean.TRUE); h.getAttributes().put("columba.accountuid", |