You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by no...@apache.org on 2009/06/28 18:31:26 UTC

svn commit: r789120 - in /labs/hupa/src/main/java/org/apache/hupa: client/widgets/IMAPMessageWidget.java server/IMAPServiceImpl.java

Author: norman
Date: Sun Jun 28 16:31:26 2009
New Revision: 789120

URL: http://svn.apache.org/viewvc?rev=789120&view=rev
Log:
Better parsing of headers

Modified:
    labs/hupa/src/main/java/org/apache/hupa/client/widgets/IMAPMessageWidget.java
    labs/hupa/src/main/java/org/apache/hupa/server/IMAPServiceImpl.java

Modified: labs/hupa/src/main/java/org/apache/hupa/client/widgets/IMAPMessageWidget.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/widgets/IMAPMessageWidget.java?rev=789120&r1=789119&r2=789120&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/widgets/IMAPMessageWidget.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/widgets/IMAPMessageWidget.java Sun Jun 28 16:31:26 2009
@@ -35,7 +35,7 @@
 import com.google.gwt.user.client.ui.VerticalPanel;
 
 public class IMAPMessageWidget extends Composite {
-	private Grid detailGrid = new Grid(3, 2);
+	private Grid detailGrid = new Grid(4, 2);
 	private HTML msgArea = new HTML();
 	private Button deleteMsgButton = new Button();
 	private Button replyMsgButton = new Button();
@@ -53,9 +53,14 @@
 		detailGrid.setWidth("100%");
 		detailGrid.setStyleName("hupa-IMAPMessageWidget-Header");
 		detailGrid.setText(0, 0, constants.headerFrom() + ":");
+		detailGrid.setText(1, 0, constants.headerTo() + ":");
+		detailGrid.setText(2, 0, constants.headerCc() + ":");
+		detailGrid.setText(3, 0, constants.headerSubject() + ":");
+		detailGrid.getCellFormatter().setVerticalAlignment(0, 0, VerticalPanel.ALIGN_TOP);
+		detailGrid.getCellFormatter().setVerticalAlignment(1, 0, VerticalPanel.ALIGN_TOP);
+		detailGrid.getCellFormatter().setVerticalAlignment(2, 0, VerticalPanel.ALIGN_TOP);
+		detailGrid.getCellFormatter().setVerticalAlignment(3, 0, VerticalPanel.ALIGN_TOP);
 
-		detailGrid.setText(1, 0, constants.headerCc() + ":");
-		detailGrid.setText(2, 0, constants.headerSubject() + ":");
 
 		mPanel.add(detailGrid);
 
@@ -83,8 +88,9 @@
 
 	public void setIMAPMessage(IMAPMessage msg) {
 		detailGrid.setText(0, 1, msg.getIMAPHeader().getFrom());
-		detailGrid.setText(1, 1, msg.getIMAPHeader().getCc());
-		detailGrid.setText(2, 1, msg.getIMAPHeader().getSubject());
+		detailGrid.setText(1, 1, msg.getIMAPHeader().getTo());
+		detailGrid.setText(2, 1, msg.getIMAPHeader().getCc());
+		detailGrid.setText(3, 1, msg.getIMAPHeader().getSubject());
 		msgArea.setHTML(msg.getIMAPMessageContent().getText());
 
 	}

Modified: labs/hupa/src/main/java/org/apache/hupa/server/IMAPServiceImpl.java
URL: http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/IMAPServiceImpl.java?rev=789120&r1=789119&r2=789120&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/IMAPServiceImpl.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/IMAPServiceImpl.java Sun Jun 28 16:31:26 2009
@@ -36,6 +36,8 @@
 import org.columba.ristretto.imap.SearchKey;
 import org.columba.ristretto.imap.SequenceSet;
 import org.columba.ristretto.io.StreamUtils;
+import org.columba.ristretto.message.Address;
+import org.columba.ristretto.message.BasicHeader;
 import org.columba.ristretto.message.Header;
 import org.columba.ristretto.message.MailboxInfo;
 import org.columba.ristretto.message.MimeHeader;
@@ -124,20 +126,36 @@
 			IMAPFlags[] flags = proto.fetchFlags(sSet);
 			Integer[] uids = proto.fetchUid(sSet);
 			for (int i = 0; i < headers.length; i++) {
-				Header header = headers[i].getHeader();
+				BasicHeader header = new BasicHeader(headers[i].getHeader());
 
 				IMAPHeader newHeader = new IMAPHeader();
 				newHeader.setRawHeader(header.toString());
-				newHeader.setFrom(header.get("From"));
-				newHeader.setTo(header.get("To"));
-				newHeader.setSubject(EncodedWord.decode(header.get("Subject")).toString());
-				newHeader.setCc(header.get("CC"));
-				try {
-					newHeader.setReceivedDate(DateParser.parse(header
-							.get("Date")));
-				} catch (ParserException e) {
-					newHeader.setReceivedDate(new Date());
+				newHeader.setFrom(header.getFrom().toString().trim());
+				
+				StringBuffer toBuf = new StringBuffer();
+				Address[] toArray = header.getTo();
+				for (int b =0; b < toArray.length;b++) {
+					toBuf.append(toArray[b].toString().trim());
+					if (b != toArray.length -1) {
+						toBuf.append(", ");
+					}
 				}
+				newHeader.setTo(toBuf.toString());
+				
+				newHeader.setSubject(header.getSubject());
+				
+				StringBuffer ccBuf = new StringBuffer();
+				Address[] ccArray = header.getCc();
+				for (int b =0; b < ccArray.length;b++) {
+					toBuf.append(ccArray[b].toString().trim());
+					if (b != ccArray.length -1) {
+						ccBuf.append(", ");
+					}
+				}
+				newHeader.setCc(ccBuf.toString());
+	
+				newHeader.setReceivedDate(header.getDate());
+				
 
 				List<IMAPFlag> iFlags = new ArrayList<IMAPFlag>();
 				IMAPFlags imapFlags = flags[i];
@@ -213,7 +231,7 @@
 				body = new CharsetDecoderInputStream(body, Charset
 						.forName(charsetName));
 
-				if (textHeader.getContentType().equalsIgnoreCase("plain/text")) {
+				if (textHeader.getMimeType().getType().equalsIgnoreCase("plain/text")) {
 					String plainContent = StreamUtils.readInString(body)
 							.toString();
 					content.setText(StringEscapeUtils.escapeHtml(plainContent)



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org