Changeset 465
- Timestamp:
- 07/18/09 11:54:22 (3 years ago)
- Location:
- trunk
- Files:
-
- 4 added
- 29 edited
- 4 moved
-
LogicMail/LogicMail.jdp (modified) (3 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/mail/AbstractMailStore.java (modified) (3 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/mail/IncomingMailConnectionHandler.java (modified) (3 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/mail/LocalMailStore.java (modified) (3 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/mail/MessageEvent.java (modified) (5 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/mail/NetworkMailStore.java (modified) (3 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/mail/imap/ImapClient.java (modified) (12 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/mail/pop/PopClient.java (modified) (2 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/message/AbstractMimeMessagePartVisitor.java (added)
-
LogicMail/src/org/logicprobe/LogicMail/message/ApplicationPart.java (added)
-
LogicMail/src/org/logicprobe/LogicMail/message/AudioPart.java (added)
-
LogicMail/src/org/logicprobe/LogicMail/message/ContentPart.java (modified) (1 diff)
-
LogicMail/src/org/logicprobe/LogicMail/message/FolderMessage.java (modified) (4 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/message/ImagePart.java (modified) (1 diff)
-
LogicMail/src/org/logicprobe/LogicMail/message/Message.java (modified) (4 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/message/MessageContentFactory.java (modified) (3 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/message/MessageMimeConverter.java (modified) (1 diff)
-
LogicMail/src/org/logicprobe/LogicMail/message/MimeMessagePart.java (moved) (moved from trunk/LogicMail/src/org/logicprobe/LogicMail/message/MessagePart.java) (5 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/message/MimeMessagePartFactory.java (moved) (moved from trunk/LogicMail/src/org/logicprobe/LogicMail/message/MessagePartFactory.java) (6 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/message/MimeMessagePartTransformer.java (moved) (moved from trunk/LogicMail/src/org/logicprobe/LogicMail/message/MessagePartTransformer.java) (7 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/message/MimeMessagePartVisitor.java (moved) (moved from trunk/LogicMail/src/org/logicprobe/LogicMail/message/MessagePartVisitor.java) (1 diff)
-
LogicMail/src/org/logicprobe/LogicMail/message/MultiPart.java (modified) (5 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/message/TextPart.java (modified) (1 diff)
-
LogicMail/src/org/logicprobe/LogicMail/message/UnsupportedPart.java (modified) (2 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/message/VideoPart.java (added)
-
LogicMail/src/org/logicprobe/LogicMail/model/MessageNode.java (modified) (15 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/ui/BaseScreen.java (modified) (5 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/ui/CompositionScreen.java (modified) (3 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/ui/MailboxMessageField.java (modified) (2 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/ui/MessageFieldFactory.java (modified) (2 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/ui/MessageIcons.java (modified) (3 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/ui/MessagePropertiesScreen.java (modified) (4 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/ui/MessageScreen.java (modified) (4 diffs)
-
LogicMail/src/org/logicprobe/LogicMail/util/MailMessageParser.java (modified) (7 diffs)
-
LogicMailTests/src/org/logicprobe/LogicMail/message/MessageTest.java (modified) (1 diff)
-
LogicMailTests/src/org/logicprobe/LogicMail/model/AccountNodeTest.java (modified) (2 diffs)
-
LogicMailTests/src/org/logicprobe/LogicMail/model/MessageNodeTest.java (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LogicMail/LogicMail.jdp
r461 r465 124 124 src\org\logicprobe\LogicMail\mail\smtp\SmtpClient.java 125 125 src\org\logicprobe\LogicMail\mail\smtp\SmtpProtocol.java 126 src\org\logicprobe\LogicMail\message\AbstractMimeMessagePartVisitor.java 127 src\org\logicprobe\LogicMail\message\ApplicationPart.java 128 src\org\logicprobe\LogicMail\message\AudioPart.java 126 129 src\org\logicprobe\LogicMail\message\ContentPart.java 127 130 src\org\logicprobe\LogicMail\message\FolderMessage.java … … 135 138 src\org\logicprobe\LogicMail\message\MessageFlags.java 136 139 src\org\logicprobe\LogicMail\message\MessageMimeConverter.java 137 src\org\logicprobe\LogicMail\message\M essagePart.java138 src\org\logicprobe\LogicMail\message\M essagePartFactory.java139 src\org\logicprobe\LogicMail\message\M essagePartTransformer.java140 src\org\logicprobe\LogicMail\message\M essagePartVisitor.java140 src\org\logicprobe\LogicMail\message\MimeMessagePart.java 141 src\org\logicprobe\LogicMail\message\MimeMessagePartFactory.java 142 src\org\logicprobe\LogicMail\message\MimeMessagePartTransformer.java 143 src\org\logicprobe\LogicMail\message\MimeMessagePartVisitor.java 141 144 src\org\logicprobe\LogicMail\message\MultiPart.java 142 145 src\org\logicprobe\LogicMail\message\TextContent.java … … 144 147 src\org\logicprobe\LogicMail\message\UnsupportedContentException.java 145 148 src\org\logicprobe\LogicMail\message\UnsupportedPart.java 149 src\org\logicprobe\LogicMail\message\VideoPart.java 146 150 src\org\logicprobe\LogicMail\model\AccountNode.java 147 151 src\org\logicprobe\LogicMail\model\AccountNodeEvent.java -
trunk/LogicMail/src/org/logicprobe/LogicMail/mail/AbstractMailStore.java
r437 r465 35 35 import org.logicprobe.LogicMail.message.MessageContent; 36 36 import org.logicprobe.LogicMail.message.MessageFlags; 37 import org.logicprobe.LogicMail.message.M essagePart;37 import org.logicprobe.LogicMail.message.MimeMessagePart; 38 38 import org.logicprobe.LogicMail.util.EventListenerList; 39 39 … … 189 189 * @param messagePart The part of the message to load 190 190 */ 191 public abstract void requestMessageParts(MessageToken messageToken, M essagePart[] messageParts);191 public abstract void requestMessageParts(MessageToken messageToken, MimeMessagePart[] messageParts); 192 192 193 193 /** … … 398 398 * @param messageSource The raw message source, if available 399 399 */ 400 protected void fireMessageAvailable(MessageToken messageToken, M essagePart messageStructure, MessageContent[] messageContent, String messageSource) {400 protected void fireMessageAvailable(MessageToken messageToken, MimeMessagePart messageStructure, MessageContent[] messageContent, String messageSource) { 401 401 Object[] listeners = listenerList.getListeners(MessageListener.class); 402 402 MessageEvent e = null; -
trunk/LogicMail/src/org/logicprobe/LogicMail/mail/IncomingMailConnectionHandler.java
r453 r465 41 41 import org.logicprobe.LogicMail.message.MessageContent; 42 42 import org.logicprobe.LogicMail.message.MessageFlags; 43 import org.logicprobe.LogicMail.message.M essagePart;43 import org.logicprobe.LogicMail.message.MimeMessagePart; 44 44 import org.logicprobe.LogicMail.util.Queue; 45 45 … … 113 113 break; 114 114 case REQUEST_MESSAGE_PARTS: 115 handleRequestMessageParts((MessageToken)params[0], (M essagePart[])params[1]);115 handleRequestMessageParts((MessageToken)params[0], (MimeMessagePart[])params[1]); 116 116 break; 117 117 case REQUEST_MESSAGE_DELETE: … … 262 262 } 263 263 264 private void handleRequestMessageParts(MessageToken messageToken, M essagePart[] messageParts) throws IOException, MailException {264 private void handleRequestMessageParts(MessageToken messageToken, MimeMessagePart[] messageParts) throws IOException, MailException { 265 265 checkActiveFolder(messageToken); 266 266 -
trunk/LogicMail/src/org/logicprobe/LogicMail/mail/LocalMailStore.java
r437 r465 44 44 import org.logicprobe.LogicMail.message.MessageContent; 45 45 import org.logicprobe.LogicMail.message.MessageFlags; 46 import org.logicprobe.LogicMail.message.M essagePart;46 import org.logicprobe.LogicMail.message.MimeMessagePart; 47 47 import org.logicprobe.LogicMail.util.MailMessageParser; 48 48 import org.logicprobe.LogicMail.util.ThreadQueue; … … 197 197 // Parse the message source 198 198 Hashtable contentMap = new Hashtable(); 199 M essagePart rootPart = MailMessageParser.parseRawMessage(contentMap, new ByteArrayInputStream(messageSource.getBytes()));199 MimeMessagePart rootPart = MailMessageParser.parseRawMessage(contentMap, new ByteArrayInputStream(messageSource.getBytes())); 200 200 message = new Message(rootPart); 201 201 Enumeration e = contentMap.keys(); 202 202 while(e.hasMoreElements()) { 203 M essagePart part = (MessagePart)e.nextElement();203 MimeMessagePart part = (MimeMessagePart)e.nextElement(); 204 204 message.putContent(part, (MessageContent)contentMap.get(part)); 205 205 } … … 214 214 } 215 215 216 public void requestMessageParts(MessageToken messageToken, M essagePart[] messageParts) {216 public void requestMessageParts(MessageToken messageToken, MimeMessagePart[] messageParts) { 217 217 throw new UnsupportedOperationException(); 218 218 } -
trunk/LogicMail/src/org/logicprobe/LogicMail/mail/MessageEvent.java
r436 r465 34 34 import org.logicprobe.LogicMail.message.MessageContent; 35 35 import org.logicprobe.LogicMail.message.MessageFlags; 36 import org.logicprobe.LogicMail.message.M essagePart;36 import org.logicprobe.LogicMail.message.MimeMessagePart; 37 37 38 38 /** … … 43 43 private MessageToken messageToken; 44 44 private MessageFlags messageFlags; 45 private M essagePart messageStructure;45 private MimeMessagePart messageStructure; 46 46 private MessageContent[] messageContent; 47 47 private String messageSource; … … 62 62 * @param messageSource the message source 63 63 */ 64 public MessageEvent(Object source, int type, MessageToken messageToken, MessageFlags messageFlags, M essagePart messageStructure, MessageContent[] messageContent, String messageSource) {64 public MessageEvent(Object source, int type, MessageToken messageToken, MessageFlags messageFlags, MimeMessagePart messageStructure, MessageContent[] messageContent, String messageSource) { 65 65 super(source); 66 66 this.type = type; … … 94 94 * @param messageSource the message source 95 95 */ 96 public MessageEvent(Object source, MessageToken messageToken, M essagePart messageStructure, MessageContent[] messageContent, String messageSource) {96 public MessageEvent(Object source, MessageToken messageToken, MimeMessagePart messageStructure, MessageContent[] messageContent, String messageSource) { 97 97 this(source, TYPE_FULLY_LOADED, messageToken, null, messageStructure, messageContent, messageSource); 98 98 } … … 136 136 * Gets the message structure, if it is available for this particular event. 137 137 */ 138 public M essagePart getMessageStructure() {138 public MimeMessagePart getMessageStructure() { 139 139 return messageStructure; 140 140 } -
trunk/LogicMail/src/org/logicprobe/LogicMail/mail/NetworkMailStore.java
r437 r465 38 38 import org.logicprobe.LogicMail.message.MessageContent; 39 39 import org.logicprobe.LogicMail.message.MessageFlags; 40 import org.logicprobe.LogicMail.message.M essagePart;40 import org.logicprobe.LogicMail.message.MimeMessagePart; 41 41 42 42 public class NetworkMailStore extends AbstractMailStore { … … 139 139 } 140 140 141 public void requestMessageParts(MessageToken messageToken, M essagePart[] messageParts) {141 public void requestMessageParts(MessageToken messageToken, MimeMessagePart[] messageParts) { 142 142 connectionHandler.addRequest(IncomingMailConnectionHandler.REQUEST_MESSAGE_PARTS, new Object[] { messageToken, messageParts }); 143 143 } … … 188 188 case IncomingMailConnectionHandler.REQUEST_MESSAGE: 189 189 results = (Object[])result; 190 fireMessageAvailable((MessageToken)results[0], (M essagePart)results[1], (MessageContent[])results[2], null);190 fireMessageAvailable((MessageToken)results[0], (MimeMessagePart)results[1], (MessageContent[])results[2], null); 191 191 break; 192 192 case IncomingMailConnectionHandler.REQUEST_MESSAGE_PARTS: -
trunk/LogicMail/src/org/logicprobe/LogicMail/mail/imap/ImapClient.java
r453 r465 52 52 import org.logicprobe.LogicMail.message.MessageContentFactory; 53 53 import org.logicprobe.LogicMail.message.MessageFlags; 54 import org.logicprobe.LogicMail.message.M essagePart;55 import org.logicprobe.LogicMail.message.M essagePartFactory;54 import org.logicprobe.LogicMail.message.MimeMessagePart; 55 import org.logicprobe.LogicMail.message.MimeMessagePartFactory; 56 56 import org.logicprobe.LogicMail.message.MultiPart; 57 57 import org.logicprobe.LogicMail.message.UnsupportedContentException; … … 577 577 ImapParser.MessageSection structure = getMessageStructure(imapMessageToken.getMessageUid()); 578 578 Hashtable contentMap = new Hashtable(); 579 M essagePart rootPart =579 MimeMessagePart rootPart = 580 580 getMessagePart(contentMap, imapMessageToken.getMessageUid(), 581 581 structure, accountConfig.getMaxMessageSize()); … … 583 583 Enumeration e = contentMap.keys(); 584 584 while(e.hasMoreElements()) { 585 M essagePart part = (MessagePart)e.nextElement();585 MimeMessagePart part = (MimeMessagePart)e.nextElement(); 586 586 msg.putContent(part, (MessageContent)contentMap.get(part)); 587 587 } … … 589 589 } 590 590 591 public MessageContent getMessagePart(MessageToken messageToken, M essagePart messagePart) throws IOException, MailException {591 public MessageContent getMessagePart(MessageToken messageToken, MimeMessagePart mimeMessagePart) throws IOException, MailException { 592 592 ImapMessageToken imapMessageToken = (ImapMessageToken)messageToken; 593 593 if(!imapMessageToken.getFolderPath().equalsIgnoreCase(activeMailbox.getPath())) { … … 596 596 597 597 // Get the relevant data from the MessagePart object 598 String partAddress = m essagePart.getTag();599 String mimeType = m essagePart.getMimeType();600 String mimeSubtype = m essagePart.getMimeSubtype();598 String partAddress = mimeMessagePart.getTag(); 599 String mimeType = mimeMessagePart.getMimeType(); 600 String mimeSubtype = mimeMessagePart.getMimeSubtype(); 601 601 602 602 // Make sure we can actually get this part 603 603 if(partAddress == null || mimeType == null || mimeSubtype == null) { return null; } 604 if(!M essagePartFactory.isMessagePartSupported(mimeType, mimeSubtype)) { return null; }604 if(!MimeMessagePartFactory.isMimeMessagePartSupported(mimeType, mimeSubtype)) { return null; } 605 605 if(mimeType.equalsIgnoreCase("multipart")) { return null; } 606 606 if(!(messageToken instanceof ImapMessageToken)) { return null; } … … 610 610 MessageContent content; 611 611 try { 612 content = MessageContentFactory.createContent(m essagePart, data);612 content = MessageContentFactory.createContent(mimeMessagePart, data); 613 613 } catch (UnsupportedContentException e) { 614 614 content = null; … … 617 617 } 618 618 619 private M essagePart getMessagePart(619 private MimeMessagePart getMessagePart( 620 620 Hashtable contentMap, 621 621 int uid, … … 624 624 throws IOException, MailException 625 625 { 626 M essagePart part;627 if(M essagePartFactory.isMessagePartSupported(structure.type, structure.subtype)) {626 MimeMessagePart part; 627 if(MimeMessagePartFactory.isMimeMessagePartSupported(structure.type, structure.subtype)) { 628 628 String data; 629 629 if(structure.type.equalsIgnoreCase("multipart")) … … 639 639 } 640 640 } 641 part = M essagePartFactory.createMessagePart(641 part = MimeMessagePartFactory.createMimeMessagePart( 642 642 structure.type, 643 643 structure.subtype, … … 666 666 if((part instanceof MultiPart)&&(structure.subsections != null)&&(structure.subsections.length > 0)) { 667 667 for(int i=0;i<structure.subsections.length;i++) { 668 M essagePart subPart = getMessagePart(contentMap, uid, structure.subsections[i], maxSize);668 MimeMessagePart subPart = getMessagePart(contentMap, uid, structure.subsections[i], maxSize); 669 669 if(subPart != null) { 670 670 ((MultiPart)part).addPart(subPart); … … 675 675 } 676 676 677 private M essagePart createMessagePartTree(ImapParser.MessageSection structure) {677 private MimeMessagePart createMessagePartTree(ImapParser.MessageSection structure) { 678 678 if(structure == null) { return null; } 679 M essagePart part = MessagePartFactory.createMessagePart(679 MimeMessagePart part = MimeMessagePartFactory.createMimeMessagePart( 680 680 structure.type, 681 681 structure.subtype, … … 691 691 MultiPart multiPart = (MultiPart)part; 692 692 for(int i=0; i<structure.subsections.length; i++) { 693 M essagePart subPart = createMessagePartTree(structure.subsections[i]);693 MimeMessagePart subPart = createMessagePartTree(structure.subsections[i]); 694 694 if(subPart != null) { 695 695 multiPart.addPart(subPart); -
trunk/LogicMail/src/org/logicprobe/LogicMail/mail/pop/PopClient.java
r433 r465 52 52 import org.logicprobe.LogicMail.message.MessageEnvelope; 53 53 import org.logicprobe.LogicMail.message.MessageFlags; 54 import org.logicprobe.LogicMail.message.M essagePart;54 import org.logicprobe.LogicMail.message.MimeMessagePart; 55 55 import org.logicprobe.LogicMail.util.Connection; 56 56 import org.logicprobe.LogicMail.util.MailMessageParser; … … 278 278 279 279 Hashtable contentMap = new Hashtable(); 280 M essagePart rootPart = MailMessageParser.parseRawMessage(contentMap, StringParser.createInputStream(message));280 MimeMessagePart rootPart = MailMessageParser.parseRawMessage(contentMap, StringParser.createInputStream(message)); 281 281 Message msg = new Message(rootPart); 282 282 Enumeration e = contentMap.keys(); 283 283 while(e.hasMoreElements()) { 284 M essagePart part = (MessagePart)e.nextElement();284 MimeMessagePart part = (MimeMessagePart)e.nextElement(); 285 285 msg.putContent(part, (MessageContent)contentMap.get(part)); 286 286 } -
trunk/LogicMail/src/org/logicprobe/LogicMail/message/ContentPart.java
r453 r465 8 8 * Abstract representation of a message part representing content. 9 9 */ 10 public abstract class ContentPart extends M essagePart {10 public abstract class ContentPart extends MimeMessagePart { 11 11 private String name; 12 12 private String encoding; -
trunk/LogicMail/src/org/logicprobe/LogicMail/message/FolderMessage.java
r434 r465 56 56 private int uid; 57 57 private MessageFlags messageFlags; 58 private M essagePart structure;58 private MimeMessagePart structure; 59 59 60 60 /** … … 223 223 * @return Root part of the message structure tree 224 224 */ 225 public M essagePart getStructure() {225 public MimeMessagePart getStructure() { 226 226 return this.structure; 227 227 } … … 231 231 * @param structure Root part of the message structure tree 232 232 */ 233 public void setStructure(M essagePart structure) {233 public void setStructure(MimeMessagePart structure) { 234 234 this.structure = structure; 235 235 } … … 291 291 boolean hasStructure = input.readBoolean(); 292 292 if(hasStructure) { 293 structure = (M essagePart)SerializationUtils.deserializeClass(input);293 structure = (MimeMessagePart)SerializationUtils.deserializeClass(input); 294 294 } 295 295 } -
trunk/LogicMail/src/org/logicprobe/LogicMail/message/ImagePart.java
r453 r465 55 55 } 56 56 57 public void accept(M essagePartVisitor visitor) {57 public void accept(MimeMessagePartVisitor visitor) { 58 58 visitor.visitImagePart(this); 59 59 } -
trunk/LogicMail/src/org/logicprobe/LogicMail/message/Message.java
r433 r465 44 44 */ 45 45 public class Message { 46 private M essagePart structure;46 private MimeMessagePart structure; 47 47 private Hashtable content = new Hashtable(); 48 48 … … 52 52 * @param body The structured message body tree 53 53 */ 54 public Message(M essagePart structure) {54 public Message(MimeMessagePart structure) { 55 55 // TODO: Consider removing the Message object completely 56 56 this.structure = structure; … … 61 61 * @return Body 62 62 */ 63 public M essagePart getStructure() {63 public MimeMessagePart getStructure() { 64 64 return structure; 65 65 } 66 66 67 public void putContent(M essagePart messagePart, MessageContent messageContent) {68 content.put(m essagePart, messageContent);67 public void putContent(MimeMessagePart mimeMessagePart, MessageContent messageContent) { 68 content.put(mimeMessagePart, messageContent); 69 69 } 70 70 71 public MessageContent getContent(M essagePart messagePart) {72 return (MessageContent)content.get(m essagePart);71 public MessageContent getContent(MimeMessagePart mimeMessagePart) { 72 return (MessageContent)content.get(mimeMessagePart); 73 73 } 74 74 … … 87 87 Enumeration e = content.keys(); 88 88 while(e.hasMoreElements()) { 89 M essagePart part = (MessagePart)e.nextElement();89 MimeMessagePart part = (MimeMessagePart)e.nextElement(); 90 90 result.put(part, content.get(part)); 91 91 } -
trunk/LogicMail/src/org/logicprobe/LogicMail/message/MessageContentFactory.java
r437 r465 40 40 * Creates a new MessageContent object. 41 41 * 42 * @param m essagePart The message part describing the MIME properties for the content.42 * @param mimeMessagePart The message part describing the MIME properties for the content. 43 43 * @param encoding The encoding for the data. 44 44 * @param param The type-specific parameter, if applicable. … … 49 49 * @throws UnsupportedContentException Thrown if the content type was not supported or the data could not be decoded. 50 50 */ 51 public static MessageContent createContent(M essagePart messagePart, String data) throws UnsupportedContentException {51 public static MessageContent createContent(MimeMessagePart mimeMessagePart, String data) throws UnsupportedContentException { 52 52 MessageContent content; 53 if(m essagePart instanceof TextPart) {54 TextPart textPart = (TextPart)m essagePart;53 if(mimeMessagePart instanceof TextPart) { 54 TextPart textPart = (TextPart)mimeMessagePart; 55 55 content = new TextContent(textPart, textPart.getEncoding(), textPart.getCharset(), data); 56 56 } 57 else if(m essagePart instanceof ImagePart) {58 ImagePart imagePart = (ImagePart)m essagePart;57 else if(mimeMessagePart instanceof ImagePart) { 58 ImagePart imagePart = (ImagePart)mimeMessagePart; 59 59 content = new ImageContent(imagePart, imagePart.getEncoding(), data); 60 60 } … … 71 71 * of message content. 72 72 * 73 * @param m essagePart Message part object73 * @param mimeMessagePart Message part object 74 74 * @return True if supported, false if unsupported 75 75 */ 76 public static boolean isContentSupported(M essagePart messagePart) {76 public static boolean isContentSupported(MimeMessagePart mimeMessagePart) { 77 77 boolean result; 78 if(m essagePart instanceof TextPart) {79 result = TextContent.isPartSupported((TextPart)m essagePart);78 if(mimeMessagePart instanceof TextPart) { 79 result = TextContent.isPartSupported((TextPart)mimeMessagePart); 80 80 } 81 else if(m essagePart instanceof ImagePart) {82 result = ImageContent.isPartSupported((ImagePart)m essagePart);81 else if(mimeMessagePart instanceof ImagePart) { 82 result = ImageContent.isPartSupported((ImagePart)mimeMessagePart); 83 83 } 84 84 else { -
trunk/LogicMail/src/org/logicprobe/LogicMail/message/MessageMimeConverter.java
r433 r465 86 86 } 87 87 88 private class MessageMimeConverterPartVisitor implementsMessagePartVisitor {88 private class MessageMimeConverterPartVisitor extends AbstractMimeMessagePartVisitor { 89 89 public void visitMultiPart(MultiPart part) { 90 90 // Handle the case of this being the root part -
trunk/LogicMail/src/org/logicprobe/LogicMail/message/MimeMessagePart.java
r434 r465 40 40 41 41 /** 42 * Abstract representation of a message part42 * Abstract representation of a MIME message part 43 43 */ 44 public abstract class M essagePart implements Serializable {44 public abstract class MimeMessagePart implements Serializable { 45 45 private long uniqueId; 46 46 private String tag; … … 48 48 private String mimeSubtype; 49 49 private int size; 50 private M essagePart parent;50 private MimeMessagePart parent; 51 51 52 52 /** Creates a new instance of MessagePart */ 53 protected M essagePart(String mimeType, String mimeSubtype, int size, String tag) {53 protected MimeMessagePart(String mimeType, String mimeSubtype, int size, String tag) { 54 54 this.uniqueId = UniqueIdGenerator.getInstance().getUniqueId(); 55 55 this.tag = tag; … … 64 64 * @param visitor The visitor instance 65 65 */ 66 public abstract void accept(M essagePartVisitor visitor);66 public abstract void accept(MimeMessagePartVisitor visitor); 67 67 68 68 /** … … 104 104 * @param parent The parent message part, or null if this is the root 105 105 */ 106 protected void setParent(M essagePart parent) {106 protected void setParent(MimeMessagePart parent) { 107 107 this.parent = parent; 108 108 } … … 112 112 * @return Parent, or null if this is the root 113 113 */ 114 public M essagePart getParent() {114 public MimeMessagePart getParent() { 115 115 return parent; 116 116 } -
trunk/LogicMail/src/org/logicprobe/LogicMail/message/MimeMessagePartFactory.java
r453 r465 34 34 * Creates message parts, doing the necessary decoding. 35 35 */ 36 public class M essagePartFactory {36 public class MimeMessagePartFactory { 37 37 /** 38 38 * Create a new message part … … 46 46 * @param tag Protocol-specific tag for addressing the part 47 47 */ 48 public static M essagePart createMessagePart(48 public static MimeMessagePart createMimeMessagePart( 49 49 String mimeType, 50 50 String mimeSubtype, … … 65 65 if(tag == null) { tag = ""; } 66 66 67 M essagePart part;67 MimeMessagePart part; 68 68 if (mimeType.equalsIgnoreCase("multipart")) { 69 69 part = new MultiPart(mimeSubtype, tag); … … 88 88 * @param size Size of the content this part refers to, or -1 if not available 89 89 */ 90 public static M essagePart createMessagePart(90 public static MimeMessagePart createMimeMessagePart( 91 91 String mimeType, 92 92 String mimeSubtype, … … 97 97 String contentId, 98 98 int size) { 99 return M essagePartFactory.createMessagePart(mimeType, mimeSubtype, name, encoding, param, disposition, contentId, size, "");99 return MimeMessagePartFactory.createMimeMessagePart(mimeType, mimeSubtype, name, encoding, param, disposition, contentId, size, ""); 100 100 } 101 101 … … 113 113 * @return True if supported, false if unsupported 114 114 */ 115 public static boolean isM essagePartSupported(String mimeType,115 public static boolean isMimeMessagePartSupported(String mimeType, 116 116 String mimeSubtype) { 117 117 if (mimeType.equalsIgnoreCase("multipart")) { -
trunk/LogicMail/src/org/logicprobe/LogicMail/message/MimeMessagePartTransformer.java
r453 r465 37 37 38 38 /** 39 * Utility class to take a {@link M essagePart} tree and transform39 * Utility class to take a {@link MimeMessagePart} tree and transform 40 40 * it into a list based on various rules. 41 41 */ 42 public class M essagePartTransformer {42 public class MimeMessagePartTransformer { 43 43 /** 44 44 * Gets a list of displayable message parts in order. … … 47 47 * @return The displayable parts. 48 48 */ 49 public static M essagePart[] getDisplayableParts(MessagePart rootPart) {49 public static MimeMessagePart[] getDisplayableParts(MimeMessagePart rootPart) { 50 50 DisplayablePartVisitor visitor = new DisplayablePartVisitor(); 51 51 rootPart.accept(visitor); 52 52 Vector parts = visitor.getDisplayableParts(); 53 M essagePart[] result = newMessagePart[parts.size()];53 MimeMessagePart[] result = new MimeMessagePart[parts.size()]; 54 54 parts.copyInto(result); 55 55 return result; 56 56 } 57 57 58 private static class DisplayablePartVisitor implementsMessagePartVisitor {58 private static class DisplayablePartVisitor extends AbstractMimeMessagePartVisitor { 59 59 private Vector displayableParts = new Vector(); 60 60 int displayFormat; … … 80 80 } 81 81 else { 82 M essagePart[] siblings = parent.getParts();82 MimeMessagePart[] siblings = parent.getParts(); 83 83 boolean otherPlain = false; 84 84 for(int i=0; i<siblings.length; i++) { … … 100 100 } 101 101 else { 102 M essagePart[] siblings = parent.getParts();102 MimeMessagePart[] siblings = parent.getParts(); 103 103 boolean otherHtml = false; 104 104 for(int i=0; i<siblings.length; i++) { … … 130 130 } 131 131 } 132 133 public void visitUnsupportedPart(UnsupportedPart part) {134 // No need to display unknown things135 }136 137 public void visitMultiPart(MultiPart part) {138 // MultiPart sections are not displayed139 }140 132 } 141 133 … … 155 147 * @return The displayable parts. 156 148 */ 157 public static M essagePart[] getAttachmentParts(MessagePart rootPart) {149 public static MimeMessagePart[] getAttachmentParts(MimeMessagePart rootPart) { 158 150 AttachmentPartVisitor visitor = new AttachmentPartVisitor(); 159 151 rootPart.accept(visitor); 160 152 Vector parts = visitor.getAttachmentParts(); 161 M essagePart[] result = newMessagePart[parts.size()];153 MimeMessagePart[] result = new MimeMessagePart[parts.size()]; 162 154 parts.copyInto(result); 163 155 return result; 164 156 } 165 157 166 private static class AttachmentPartVisitor implementsMessagePartVisitor {158 private static class AttachmentPartVisitor extends AbstractMimeMessagePartVisitor { 167 159 private Vector attachmentParts = new Vector(); 168 160 … … 179 171 attachmentParts.addElement(part); 180 172 } 181 182 public void visitUnsupportedPart(UnsupportedPart part) {183 // Not an attachment part184 }185 173 186 public void visitMultiPart(MultiPart part) { 187 // Not an attachment part 188 } 174 // TODO: Add ApplicationPart, AudioPart, VideoPart, and MessagePart 189 175 } 190 176 } -
trunk/LogicMail/src/org/logicprobe/LogicMail/message/MimeMessagePartVisitor.java
r36 r465 35 35 * Visitor for handling a message part structure 36 36 */ 37 public interface MessagePartVisitor { 37 public interface MimeMessagePartVisitor { 38 public abstract void visitApplicationPart(ApplicationPart part); 39 public abstract void visitAudioPart(AudioPart part); 40 public abstract void visitImagePart(ImagePart part); 38 41 public abstract void visitMultiPart(MultiPart part); 39 42 public abstract void visitTextPart(TextPart part); 40 public abstract void visit ImagePart(ImagePart part);43 public abstract void visitVideoPart(VideoPart part); 41 44 public abstract void visitUnsupportedPart(UnsupportedPart part); 42 45 } -
trunk/LogicMail/src/org/logicprobe/LogicMail/message/MultiPart.java
r434 r465 43 43 * Multi-part message part (MIME type: "multipart/????") 44 44 */ 45 public class MultiPart extends M essagePart {46 private M essagePart[] parts;45 public class MultiPart extends MimeMessagePart { 46 private MimeMessagePart[] parts; 47 47 private boolean partMixed; 48 48 private boolean partAlternative; … … 81 81 } 82 82 83 public void accept(M essagePartVisitor visitor) {83 public void accept(MimeMessagePartVisitor visitor) { 84 84 visitor.visitMultiPart(this); 85 85 if(parts != null) { … … 89 89 } 90 90 91 public void addPart(M essagePart part) {91 public void addPart(MimeMessagePart part) { 92 92 if(parts == null) { 93 parts = new M essagePart[1];93 parts = new MimeMessagePart[1]; 94 94 parts[0] = part; 95 95 } … … 100 100 } 101 101 102 public M essagePart[] getParts() {102 public MimeMessagePart[] getParts() { 103 103 return parts; 104 104 } … … 150 150 int partCount = input.readInt(); 151 151 for(int i=0; i<partCount; i++) { 152 M essagePart part = (MessagePart)SerializationUtils.deserializeClass(input);152 MimeMessagePart part = (MimeMessagePart)SerializationUtils.deserializeClass(input); 153 153 this.addPart(part); 154 154 } -
trunk/LogicMail/src/org/logicprobe/LogicMail/message/TextPart.java
r453 r465 57 57 } 58 58 59 public void accept(M essagePartVisitor visitor) {59 public void accept(MimeMessagePartVisitor visitor) { 60 60 visitor.visitTextPart(this); 61 61 } -
trunk/LogicMail/src/org/logicprobe/LogicMail/message/UnsupportedPart.java
r434 r465 38 38 * by this application. 39 39 */ 40 public class UnsupportedPart extends M essagePart {40 public class UnsupportedPart extends MimeMessagePart { 41 41 42 42 /** Creates a new instance of UnsupportedPart */ … … 54 54 } 55 55 56 public void accept(M essagePartVisitor visitor) {56 public void accept(MimeMessagePartVisitor visitor) { 57 57 visitor.visitUnsupportedPart(this); 58 58 } -
trunk/LogicMail/src/org/logicprobe/LogicMail/model/MessageNode.java
r453 r465 44 44 import org.logicprobe.LogicMail.mail.AbstractMailStore; 45 45 import org.logicprobe.LogicMail.mail.MessageToken; 46 import org.logicprobe.LogicMail.message.AbstractMimeMessagePartVisitor; 46 47 import org.logicprobe.LogicMail.message.FolderMessage; 47 import org.logicprobe.LogicMail.message.ImagePart;48 48 import org.logicprobe.LogicMail.message.Message; 49 49 import org.logicprobe.LogicMail.message.MessageContent; … … 51 51 import org.logicprobe.LogicMail.message.MessageFlags; 52 52 import org.logicprobe.LogicMail.message.MessageMimeConverter; 53 import org.logicprobe.LogicMail.message.MessagePart; 54 import org.logicprobe.LogicMail.message.MessagePartTransformer; 55 import org.logicprobe.LogicMail.message.MessagePartVisitor; 56 import org.logicprobe.LogicMail.message.MultiPart; 53 import org.logicprobe.LogicMail.message.MimeMessagePart; 54 import org.logicprobe.LogicMail.message.MimeMessagePartTransformer; 57 55 import org.logicprobe.LogicMail.message.TextContent; 58 56 import org.logicprobe.LogicMail.message.TextPart; 59 import org.logicprobe.LogicMail.message.UnsupportedPart;60 57 import org.logicprobe.LogicMail.util.EventListenerList; 61 58 import org.logicprobe.LogicMail.util.StringParser; … … 150 147 151 148 private MailboxNode parent; 152 private M essagePart messageStructure;149 private MimeMessagePart messageStructure; 153 150 private Hashtable messageContent = new Hashtable(); 154 private M essagePart[] attachmentParts;151 private MimeMessagePart[] attachmentParts; 155 152 private String messageSource; 156 153 private EventListenerList listenerList = new EventListenerList(); … … 181 178 this.messageStructure = folderMessage.getStructure(); 182 179 if(this.messageStructure != null) { 183 this.attachmentParts = M essagePartTransformer.getAttachmentParts(this.messageStructure);180 this.attachmentParts = MimeMessagePartTransformer.getAttachmentParts(this.messageStructure); 184 181 } 185 182 } … … 486 483 * @param message The message structure. 487 484 */ 488 void setMessageStructure(M essagePart messageStructure) {485 void setMessageStructure(MimeMessagePart messageStructure) { 489 486 boolean fireEvent; 490 487 synchronized(messageContent) { … … 493 490 refreshInProgress = false; 494 491 this.flags &= ~Flag.RECENT; // RECENT = false 495 this.attachmentParts = M essagePartTransformer.getAttachmentParts(this.messageStructure);492 this.attachmentParts = MimeMessagePartTransformer.getAttachmentParts(this.messageStructure); 496 493 fireEvent = true; 497 494 } … … 541 538 * @return The message structure. 542 539 */ 543 public M essagePart getMessageStructure() {540 public MimeMessagePart getMessageStructure() { 544 541 synchronized(messageContent) { 545 542 if(this.messageStructure != null) { … … 553 550 * Gets message content. 554 551 * 555 * @param m essagePart The part that represents the content's structural placement.552 * @param mimeMessagePart The part that represents the content's structural placement. 556 553 * @return The content. 557 554 */ 558 public MessageContent getMessageContent(M essagePart messagePart) {555 public MessageContent getMessageContent(MimeMessagePart mimeMessagePart) { 559 556 synchronized(messageContent) { 560 return (MessageContent)messageContent.get(m essagePart);557 return (MessageContent)messageContent.get(mimeMessagePart); 561 558 } 562 559 } … … 596 593 * <p> 597 594 * This is a convenience method, as it returns an array that is populated 598 * from the message structure when {@link #setMessageStructure(M essagePart)}595 * from the message structure when {@link #setMessageStructure(MimeMessagePart)} 599 596 * is called. This array will contain all message parts that are not of 600 597 * type multi, text, or unsupported. … … 603 600 * @return Message attachments. 604 601 */ 605 public M essagePart[] getAttachmentParts() {602 public MimeMessagePart[] getAttachmentParts() { 606 603 synchronized(messageContent) { 607 604 return this.attachmentParts; … … 699 696 Enumeration en = messageContent.keys(); 700 697 while(en.hasMoreElements()) { 701 M essagePart part = (MessagePart)en.nextElement();698 MimeMessagePart part = (MimeMessagePart)en.nextElement(); 702 699 message.putContent(part, (MessageContent)messageContent.get(part)); 703 700 } … … 905 902 } 906 903 907 private class FindFirstTextPartVisitor implementsMessagePartVisitor {904 private class FindFirstTextPartVisitor extends AbstractMimeMessagePartVisitor { 908 905 private TextPart firstTextPart; 909 906 … … 915 912 } 916 913 } 917 918 public void visitImagePart(ImagePart part) { }919 public void visitMultiPart(MultiPart part) { }920 public void visitUnsupportedPart(UnsupportedPart part) { }921 914 }; 922 915 … … 982 975 if(mailStore.hasMessageParts()) { 983 976 int maxSize = Integer.MAX_VALUE; 984 M essagePart[] displayableParts =MessagePartTransformer.getDisplayableParts(this.messageStructure);977 MimeMessagePart[] displayableParts = MimeMessagePartTransformer.getDisplayableParts(this.messageStructure); 985 978 AccountConfig accountConfig = parent.getParentAccount().getAccountConfig(); 986 979 if(accountConfig instanceof ImapConfig) { … … 1000 993 1001 994 if(partsToFetch.size() > 0) { 1002 displayableParts = new M essagePart[partsToFetch.size()];995 displayableParts = new MimeMessagePart[partsToFetch.size()]; 1003 996 partsToFetch.copyInto(displayableParts); 1004 997 mailStore.requestMessageParts(messageToken, displayableParts); -
trunk/LogicMail/src/org/logicprobe/LogicMail/ui/BaseScreen.java
r463 r465 33 33 34 34 import net.rim.device.api.i18n.ResourceBundle; 35 import net.rim.device.api.ui.Field; 35 36 import net.rim.device.api.ui.MenuItem; 36 37 import net.rim.device.api.ui.Screen; … … 62 63 private HeaderField headerField; 63 64 private boolean isExposed = false; 65 private Field originalStatusField; 64 66 65 67 public BaseScreen(NavigationController navigationController) { … … 76 78 super(); 77 79 initialize(navigationController, title); 80 } 81 82 public void setStatus(Field status) { 83 originalStatusField = status; 84 super.setStatus(status); 78 85 } 79 86 … … 119 126 } 120 127 else { 121 setStatus( null);128 setStatus(originalStatusField); 122 129 } 123 130 } … … 129 136 isExposed = false; 130 137 synchronized(statusBarField) { 131 setStatus( null);138 setStatus(originalStatusField); 132 139 } 133 140 MailConnectionManager.getInstance().removeMailConnectionListener(mailConnectionListener); -
trunk/LogicMail/src/org/logicprobe/LogicMail/ui/CompositionScreen.java
r453 r465 52 52 import org.logicprobe.LogicMail.message.MessageEnvelope; 53 53 import org.logicprobe.LogicMail.message.MessageFlags; 54 import org.logicprobe.LogicMail.message.M essagePart;55 import org.logicprobe.LogicMail.message.M essagePartFactory;54 import org.logicprobe.LogicMail.message.MimeMessagePart; 55 import org.logicprobe.LogicMail.message.MimeMessagePartFactory; 56 56 import org.logicprobe.LogicMail.message.TextContent; 57 57 import org.logicprobe.LogicMail.message.TextPart; … … 233 233 private void populateFromMessage(MessageNode message) { 234 234 int i; 235 M essagePart body = message.getMessageStructure();235 MimeMessagePart body = message.getMessageStructure(); 236 236 237 237 // Currently only all-text reply bodies are supported … … 464 464 private Message generateMessage() { 465 465 String contentText = messageEditField.getText(); 466 M essagePart bodyPart = MessagePartFactory.createMessagePart(466 MimeMessagePart bodyPart = MimeMessagePartFactory.createMimeMessagePart( 467 467 "text", "plain", null, "7bit", "us-ascii", "", "", contentText.length()); 468 468 MessageContent bodyContent; -
trunk/LogicMail/src/org/logicprobe/LogicMail/ui/MailboxMessageField.java
r446 r465 35 35 36 36 import org.logicprobe.LogicMail.conf.MailSettings; 37 import org.logicprobe.LogicMail.message.M essagePart;37 import org.logicprobe.LogicMail.message.MimeMessagePart; 38 38 import org.logicprobe.LogicMail.model.Address; 39 39 import org.logicprobe.LogicMail.model.MailboxNode; … … 136 136 String dateString = createDisplayDate(); 137 137 Bitmap attachmentIcon = null; 138 M essagePart[] attachments = messageNode.getAttachmentParts();138 MimeMessagePart[] attachments = messageNode.getAttachmentParts(); 139 139 if(attachments != null && attachments.length > 0) { 140 140 attachmentIcon = Bitmap.getBitmapResource("mail_attachment.png"); -
trunk/LogicMail/src/org/logicprobe/LogicMail/ui/MessageFieldFactory.java
r453 r465 37 37 import org.logicprobe.LogicMail.message.ImageContent; 38 38 import org.logicprobe.LogicMail.message.MessageContent; 39 import org.logicprobe.LogicMail.message.M essagePart;39 import org.logicprobe.LogicMail.message.MimeMessagePart; 40 40 import org.logicprobe.LogicMail.message.TextContent; 41 41 import org.logicprobe.LogicMail.message.TextPart; … … 114 114 115 115 private static Field createUnsupportedMessageField(MessageContent content) { 116 M essagePart part = content.getMessagePart();116 MimeMessagePart part = content.getMessagePart(); 117 117 return new RichTextField( 118 118 resources.getString(LogicMailResource.MESSAGERENDERER_UNSUPPORTED) -
trunk/LogicMail/src/org/logicprobe/LogicMail/ui/MessageIcons.java
r439 r465 31 31 package org.logicprobe.LogicMail.ui; 32 32 33 import org.logicprobe.LogicMail.message.ApplicationPart; 34 import org.logicprobe.LogicMail.message.AudioPart; 33 35 import org.logicprobe.LogicMail.message.ImagePart; 34 import org.logicprobe.LogicMail.message.M essagePart;35 import org.logicprobe.LogicMail.message.M essagePartVisitor;36 import org.logicprobe.LogicMail.message.MimeMessagePart; 37 import org.logicprobe.LogicMail.message.MimeMessagePartVisitor; 36 38 import org.logicprobe.LogicMail.message.MultiPart; 37 39 import org.logicprobe.LogicMail.message.TextPart; 38 40 import org.logicprobe.LogicMail.message.UnsupportedPart; 41 import org.logicprobe.LogicMail.message.VideoPart; 39 42 40 43 import net.rim.device.api.system.Bitmap; … … 50 53 private Bitmap mimeApplicationBitmap; 51 54 52 53 55 private MessageIcons() { 54 56 55 57 } 56 58 57 public static Bitmap getIcon(M essagePart messagePart) {58 return instance.getIconImpl(m essagePart);59 public static Bitmap getIcon(MimeMessagePart mimeMessagePart) { 60 return instance.getIconImpl(mimeMessagePart); 59 61 } 60 62 61 private Bitmap getIconImpl(M essagePart messagePart) {63 private Bitmap getIconImpl(MimeMessagePart mimeMessagePart) { 62 64 visitor.clearIcon(); 63 m essagePart.accept(visitor);65 mimeMessagePart.accept(visitor); 64 66 return visitor.getIcon(); 65 67 } 66 68 67 private class MessagePartIconVisitor implements M essagePartVisitor {69 private class MessagePartIconVisitor implements MimeMessagePartVisitor { 68 70 private Bitmap icon; 71 72 public void visitApplicationPart(ApplicationPart part) { 73 if(icon != null) { return; } 74 if(mimeApplicationBitmap == null) { 75 mimeApplicationBitmap = Bitmap.getBitmapResource("mime_application.png"); 76 } 77 icon = mimeApplicationBitmap; 78 } 79 80 public void visitAudioPart(AudioPart part) { 81 if(icon != null) { return; } 82 if(mimeAudioBitmap == null) { 83 mimeAudioBitmap = Bitmap.getBitmapResource("mime_audio.png"); 84 } 85 icon = mimeAudioBitmap; 86 } 69 87 70 88 public void visitImagePart(ImagePart part) { … … 87 105 if(icon != null) { return; } 88 106 } 89 107 108 public void visitVideoPart(VideoPart part) { 109 if(mimeVideoBitmap == null) { 110 mimeVideoBitmap = Bitmap.getBitmapResource("mime_video.png"); 111 } 112 icon = mimeVideoBitmap; 113 } 114 90 115 public void visitUnsupportedPart(UnsupportedPart part) { 91 if(icon != null) { return; } 92 String type = part.getMimeType(); 93 if(type.equals("audio")) { 94 if(mimeAudioBitmap == null) { 95 mimeAudioBitmap = Bitmap.getBitmapResource("mime_audio.png"); 96 } 97 icon = mimeAudioBitmap; 98 } 99 else if(type.equals("video")) { 100 if(mimeVideoBitmap == null) { 101 mimeVideoBitmap = Bitmap.getBitmapResource("mime_video.png"); 102 } 103 icon = mimeVideoBitmap; 104 } 105 else { 106 if(mimeApplicationBitmap == null) { 107 mimeApplicationBitmap = Bitmap.getBitmapResource("mime_application.png"); 108 } 109 icon = mimeApplicationBitmap; 110 } 116 // Use the application icon for unsupported types. 117 // We can safely pass null since the parameter is 118 // not currently used by any of the visitor methods. 119 visitApplicationPart(null); 111 120 } 112 121 -
trunk/LogicMail/src/org/logicprobe/LogicMail/ui/MessagePropertiesScreen.java
r446 r465 34 34 import org.logicprobe.LogicMail.conf.MailSettings; 35 35 import org.logicprobe.LogicMail.message.MessageContentFactory; 36 import org.logicprobe.LogicMail.message.M essagePart;36 import org.logicprobe.LogicMail.message.MimeMessagePart; 37 37 import org.logicprobe.LogicMail.message.MultiPart; 38 38 import org.logicprobe.LogicMail.model.Address; … … 144 144 structureTreeField.setDefaultExpanded(true); 145 145 structureTreeField.setIndentWidth(20); 146 M essagePart rootPart = messageNode.getMessageStructure();146 MimeMessagePart rootPart = messageNode.getMessageStructure(); 147 147 if(rootPart != null) { 148 148 populateStructureTreeField(0, rootPart); … … 151 151 } 152 152 153 private void populateStructureTreeField(int id, M essagePart part) {153 private void populateStructureTreeField(int id, MimeMessagePart part) { 154 154 int newId = structureTreeField.addChildNode(id, part); 155 155 if(part instanceof MultiPart) { 156 156 MultiPart multiPart = (MultiPart)part; 157 M essagePart[] children = multiPart.getParts();157 MimeMessagePart[] children = multiPart.getParts(); 158 158 for(int i=children.length - 1; i>=0; --i) { 159 159 populateStructureTreeField(newId, children[i]); … … 203 203 int indent) { 204 204 StringBuffer buf = new StringBuffer(); 205 M essagePart part = (MessagePart)structureTreeField.getCookie(node);205 MimeMessagePart part = (MimeMessagePart)structureTreeField.getCookie(node); 206 206 buf.append(part.getMimeType()); 207 207 buf.append('/'); -
trunk/LogicMail/src/org/logicprobe/LogicMail/ui/MessageScreen.java
r461 r465 67 67 import org.logicprobe.LogicMail.message.ContentPart; 68 68 import org.logicprobe.LogicMail.message.MessageContent; 69 import org.logicprobe.LogicMail.message.M essagePart;70 import org.logicprobe.LogicMail.message.M essagePartTransformer;69 import org.logicprobe.LogicMail.message.MimeMessagePart; 70 import org.logicprobe.LogicMail.message.MimeMessagePartTransformer; 71 71 import org.logicprobe.LogicMail.model.AccountNode; 72 72 import org.logicprobe.LogicMail.model.Address; … … 287 287 && messageFieldManager.getFieldWithFocus() == attachmentsTreeField) { 288 288 int node = attachmentsTreeField.getCurrentNode(); 289 if(node != -1 && attachmentsTreeField.getCookie(node) instanceof M essagePart) {289 if(node != -1 && attachmentsTreeField.getCookie(node) instanceof MimeMessagePart) { 290 290 menu.add(saveAttachmentItem); 291 291 } … … 357 357 358 358 // Add a collapsed TreeField to show attachments, if any exist 359 M essagePart[] attachmentParts = messageNode.getAttachmentParts();359 MimeMessagePart[] attachmentParts = messageNode.getAttachmentParts(); 360 360 if(attachmentParts.length > 0) { 361 361 attachmentsTreeField = new TreeField(new TreeFieldCallback() { … … 372 372 373 373 // Add fields to display the message body 374 M essagePart[] displayableParts =MessagePartTransformer.getDisplayableParts(messageNode.getMessageStructure());374 MimeMessagePart[] displayableParts = MimeMessagePartTransformer.getDisplayableParts(messageNode.getMessageStructure()); 375 375 for(int i=0; i<displayableParts.length; i++) { 376 376 MessageContent content = messageNode.getMessageContent(displayableParts[i]); -
trunk/LogicMail/src/org/logicprobe/LogicMail/util/MailMessageParser.java
r453 r465 38 38 import org.logicprobe.LogicMail.message.MessageContentFactory; 39 39 import org.logicprobe.LogicMail.message.MessageEnvelope; 40 import org.logicprobe.LogicMail.message.M essagePart;41 import org.logicprobe.LogicMail.message.M essagePartFactory;40 import org.logicprobe.LogicMail.message.MimeMessagePart; 41 import org.logicprobe.LogicMail.message.MimeMessagePartFactory; 42 42 import org.logicprobe.LogicMail.message.MultiPart; 43 43 import org.logicprobe.LogicMail.message.UnsupportedContentException; … … 192 192 * @throws IOException Signals that an I/O exception has occurred. 193 193 */ 194 public static M essagePart parseRawMessage(Hashtable contentMap, InputStream inputStream)194 public static MimeMessagePart parseRawMessage(Hashtable contentMap, InputStream inputStream) 195 195 throws IOException { 196 196 MIMEInputStream mimeInputStream = null; … … 202 202 } 203 203 204 M essagePart rootPart = getMessagePart(contentMap, mimeInputStream);204 MimeMessagePart rootPart = getMessagePart(contentMap, mimeInputStream); 205 205 206 206 return rootPart; … … 215 215 * @return Root MessagePart element for this portion of the message tree 216 216 */ 217 private static M essagePart getMessagePart(Hashtable contentMap, MIMEInputStream mimeInputStream)217 private static MimeMessagePart getMessagePart(Hashtable contentMap, MIMEInputStream mimeInputStream) 218 218 throws IOException { 219 219 // Parse out the MIME type and relevant header fields … … 244 244 if (mimeInputStream.isMultiPart() && 245 245 type.equalsIgnoreCase("multipart")) { 246 M essagePart part = MessagePartFactory.createMessagePart(246 MimeMessagePart part = MimeMessagePartFactory.createMimeMessagePart( 247 247 type, subtype, null, null, null, null, null, -1); 248 248 MIMEInputStream[] mimeSubparts = mimeInputStream.getParts(); 249 249 250 250 for (int i = 0; i < mimeSubparts.length; i++) { 251 M essagePart subPart = getMessagePart(contentMap, mimeSubparts[i]);251 MimeMessagePart subPart = getMessagePart(contentMap, mimeSubparts[i]); 252 252 253 253 if (subPart != null) { … … 281 281 282 282 String data = new String(buffer, offset, size); 283 M essagePart part = MessagePartFactory.createMessagePart(283 MimeMessagePart part = MimeMessagePartFactory.createMimeMessagePart( 284 284 type, subtype, name, encoding, charset, disposition, contentId, size); 285 285 try { … … 293 293 294 294 String data = new String(buffer); 295 M essagePart part = MessagePartFactory.createMessagePart(295 MimeMessagePart part = MimeMessagePartFactory.createMimeMessagePart( 296 296 type, subtype, name, encoding, charset, disposition, contentId, data.length()); 297 297 try { -
trunk/LogicMailTests/src/org/logicprobe/LogicMail/message/MessageTest.java
r453 r465 44 44 private String sampleText; 45 45 private MessageEnvelope envelope; 46 private M essagePart structure;46 private MimeMessagePart structure; 47 47 private TextContent textContent; 48 48 private Message message; -
trunk/LogicMailTests/src/org/logicprobe/LogicMail/model/AccountNodeTest.java
r437 r465 37 37 import org.logicprobe.LogicMail.mail.MessageToken; 38 38 import org.logicprobe.LogicMail.message.MessageFlags; 39 import org.logicprobe.LogicMail.message.M essagePart;39 import org.logicprobe.LogicMail.message.MimeMessagePart; 40 40 41 41 import j2meunit.framework.Test; … … 247 247 248 248 public void requestMessage(MessageToken messageToken) { } 249 public void requestMessageParts(MessageToken messageToken, M essagePart[] messageParts) { }249 public void requestMessageParts(MessageToken messageToken, MimeMessagePart[] messageParts) { } 250 250 public void requestMessageAnswered(MessageToken messageToken, MessageFlags messageFlags) { } 251 251 public void requestMessageDelete(MessageToken messageToken, MessageFlags messageFlags) { } -
trunk/LogicMailTests/src/org/logicprobe/LogicMail/model/MessageNodeTest.java
r453 r465 36 36 import org.logicprobe.LogicMail.message.MessageContent; 37 37 import org.logicprobe.LogicMail.message.MessageEnvelope; 38 import org.logicprobe.LogicMail.message.M essagePart;38 import org.logicprobe.LogicMail.message.MimeMessagePart; 39 39 import org.logicprobe.LogicMail.message.TextContent; 40 40 import org.logicprobe.LogicMail.message.TextPart; … … 91 91 MessageNode result = instance.toReplyMessage(); 92 92 93 M essagePart resultPart = result.getMessageStructure();93 MimeMessagePart resultPart = result.getMessageStructure(); 94 94 assertNotNull("Null result", resultPart); 95 95 assertTrue("Bad type", resultPart instanceof TextPart); … … 136 136 MessageNode result = instance.toForwardMessage(); 137 137 138 M essagePart resultPart = result.getMessageStructure();138 MimeMessagePart resultPart = result.getMessageStructure(); 139 139 assertNotNull("Null result", resultPart); 140 140 assertTrue("Bad type", resultPart instanceof TextPart);
Note: See TracChangeset
for help on using the changeset viewer.
