You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2009/10/29 14:24:17 UTC

svn commit: r830933 [4/4] - in /james/hupa/trunk: ./ client/src/main/java/org/apache/hupa/client/mvp/ client/src/main/java/org/apache/hupa/client/widgets/ server/src/main/java/org/apache/hupa/server/ server/src/main/java/org/apache/hupa/server/guice/ s...

Modified: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchFoldersHandlerTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchFoldersHandlerTest.java?rev=830933&r1=830932&r2=830933&view=diff
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchFoldersHandlerTest.java (original)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchFoldersHandlerTest.java Thu Oct 29 13:24:15 2009
@@ -26,6 +26,7 @@
 
 import net.customware.gwt.dispatch.shared.ActionException;
 
+import org.apache.hupa.server.mock.MockIMAPFolder;
 import org.apache.hupa.server.mock.MockIMAPStore;
 import org.apache.hupa.server.mock.MockLog;
 import org.apache.hupa.shared.data.IMAPFolder;
@@ -37,12 +38,10 @@
 public class FetchFoldersHandlerTest extends AbstractHandlerTest{
 
     public void testInvalidSessionId() {
-        User user = createUser();
-        FetchFoldersHandler handler = new FetchFoldersHandler(storeCache,new MockLog(),sessionProvider);
+        FetchFoldersHandler handler = new FetchFoldersHandler(storeCache,new MockLog(),httpSessionProvider);
         try {
             handler.execute(new FetchFolders(), null);
             fail("Invalid session");
-            
         } catch (InvalidSessionException e) {
             //e.printStackTrace();
         } catch (ActionException e) {
@@ -53,9 +52,9 @@
     
     public void testNoFolders() {
         User user = createUser();
-        session.setAttribute("user", user);
+        httpSession.setAttribute("user", user);
         storeCache.addValidUser(user.getName(), user.getPassword());
-        FetchFoldersHandler handler = new FetchFoldersHandler(storeCache,new MockLog(),sessionProvider);
+        FetchFoldersHandler handler = new FetchFoldersHandler(storeCache,new MockLog(),httpSessionProvider);
         try {
             FetchFoldersResult result = handler.execute(new FetchFolders(), null);
             assertTrue(result.getFolders().isEmpty());
@@ -67,26 +66,26 @@
     
     public void testFoundFolders() throws MessagingException {
         User user = createUser();
-        session.setAttribute("user", user);
+        httpSession.setAttribute("user", user);
         storeCache.addValidUser(user.getName(), user.getPassword());
         
         MockIMAPStore store = (MockIMAPStore) storeCache.get(user);
-        store.getFolder("INBOX.WHATEVER").create(Folder.HOLDS_FOLDERS);
-        store.getFolder("INBOX.WHATEVER1").create(Folder.HOLDS_FOLDERS);
-        store.getFolder("INBOX.WHATEVER.XXX").create(Folder.HOLDS_FOLDERS);
+        store.getFolder("WHATEVER").create(Folder.HOLDS_FOLDERS);
+        store.getFolder("WHATEVER1").create(Folder.HOLDS_FOLDERS);
+        store.getFolder("WHATEVER.XXX").create(Folder.HOLDS_FOLDERS);
 
-        FetchFoldersHandler handler = new FetchFoldersHandler(storeCache,new MockLog(),sessionProvider);
+        FetchFoldersHandler handler = new FetchFoldersHandler(storeCache,new MockLog(),httpSessionProvider);
         try {
             FetchFoldersResult result = handler.execute(new FetchFolders(), null);
             ArrayList<IMAPFolder> folders = result.getFolders();
             assertFalse(folders.isEmpty());
             assertEquals(3, folders.size());
-            assertEquals("INBOX.WHATEVER",folders.get(0).getFullName());
-            assertEquals("INBOX.WHATEVER1",folders.get(1).getFullName());
-            assertEquals("INBOX.WHATEVER.XXX",folders.get(2).getFullName());
+            assertEquals("WHATEVER",folders.get(0).getFullName());
+            assertEquals("WHATEVER1",folders.get(1).getFullName());
+            assertEquals("WHATEVER" + MockIMAPFolder.SEPARATOR + "XXX",folders.get(2).getFullName());
             assertEquals("XXX",folders.get(2).getName());
 
-            assertEquals("INBOX.WHATEVER.XXX",folders.get(0).getChildIMAPFolders().get(0).getFullName());
+            assertEquals("WHATEVER" + MockIMAPFolder.SEPARATOR + "XXX",folders.get(0).getChildIMAPFolders().get(0).getFullName());
 
         } catch (ActionException e) {
             e.printStackTrace();

Added: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchMessagesHandlerTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchMessagesHandlerTest.java?rev=830933&view=auto
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchMessagesHandlerTest.java (added)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FetchMessagesHandlerTest.java Thu Oct 29 13:24:15 2009
@@ -0,0 +1,119 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.server.handler;
+
+import java.io.ByteArrayInputStream;
+import java.util.ArrayList;
+
+import javax.mail.Flags;
+import javax.mail.Folder;
+import javax.mail.Message;
+import javax.mail.Flags.Flag;
+import javax.mail.internet.MimeMessage;
+
+import org.apache.hupa.server.mock.MockIMAPFolder;
+import org.apache.hupa.server.mock.MockIMAPStore;
+import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.rpc.FetchMessages;
+import org.apache.hupa.shared.rpc.FetchMessagesResult;
+
+public class FetchMessagesHandlerTest extends AbstractHandlerTest{
+
+	FetchMessagesHandler handler = new FetchMessagesHandler(storeCache, logger, httpSessionProvider);
+	
+    public void setUp() {
+    	super.setUp();
+        httpSession.setAttribute("user", user);
+    }
+    
+    public void testConvert() throws Exception {
+    	
+        MockIMAPStore store = (MockIMAPStore) storeCache.get(user);
+        MockIMAPFolder f = (MockIMAPFolder)store.getFolder("WHATEVER"); 
+        f.create(Folder.HOLDS_MESSAGES);
+        
+    	ByteArrayInputStream is = new ByteArrayInputStream("From: a@foo.com\nTo: b@foo.com\nSubject: something\n\ndata".getBytes());
+    	MimeMessage m1 = new MimeMessage(session, is);
+    	is = new ByteArrayInputStream("From: =?ISO-8859-1?Q?Manolo_Pe=F1a?= <pe...@foo.com>\nTo: b@foo.com\nSubject: something\n\ndata".getBytes());
+    	MimeMessage m2 = new MimeMessage(session, is);
+    	is = new ByteArrayInputStream("From: a@foo.com\nTo: b@foo.com\nSubject: =?ISO-8859-1?Q?Monta=F1a?=\n\ndata".getBytes());
+    	MimeMessage m3 = new MimeMessage(session, is);
+    	
+    	ArrayList<org.apache.hupa.shared.data.Message> msgs = handler.convert(2, f, new Message[]{m1, m2, m3});
+    	assertEquals(2, msgs.size());
+    	
+    	msgs = handler.convert(10, f, new Message[]{m1, m2, m3});
+    	assertEquals(3, msgs.size());
+
+    	msgs = handler.convert(10, f, new Message[]{m2});
+    	assertEquals("Manolo Pe\u00F1a <pe...@foo.com>",  msgs.get(0).getFrom());
+    	
+    	msgs = handler.convert(10, f, new Message[]{m3});
+    	assertEquals("Monta\u00F1a",  msgs.get(0).getSubject());
+    }
+
+    public void testFetchMessages() throws Exception {
+
+    	MockIMAPStore store = (MockIMAPStore) storeCache.get(user);
+        MockIMAPFolder serverfolder = (MockIMAPFolder)store.getFolder("WHATEVER"); 
+        serverfolder.create(Folder.HOLDS_MESSAGES);
+        
+        IMAPFolder clientfolder = new IMAPFolder("WHATEVER");
+    	FetchMessagesResult result = handler.execute(new FetchMessages(clientfolder, 0, 10, "*"), null);
+    	assertEquals(0, result.getRealCount());
+    	
+    	ByteArrayInputStream is = new ByteArrayInputStream("From: a@foo.com\nTo: b@foo.com\nSubject: something\n\ndata".getBytes());
+    	MimeMessage msg = new MimeMessage(session, is);
+    	serverfolder.addMessages(new Message[]{msg});
+    	
+    	result = handler.execute(new FetchMessages(clientfolder, 0, 10, "*"), null);
+    	assertEquals(1, result.getRealCount());
+    	assertEquals(1, result.getMessages().size());
+    	
+    	result = handler.execute(new FetchMessages(clientfolder, 0, 10, null), null);
+    	assertEquals(1, result.getRealCount());
+    	assertEquals(1, result.getMessages().size());
+
+    	is = new ByteArrayInputStream("From: a@foo.com\nTo: b@foo.com\nSubject: something\n\ndata".getBytes());
+    	msg = new MimeMessage(session, is);
+    	serverfolder.appendMessages(new Message[]{msg});
+    	
+    	result = handler.execute(new FetchMessages(clientfolder, 0, 10, "*"), null);
+    	assertEquals(2, result.getRealCount());
+    	assertEquals(2, result.getMessages().size());
+    	
+    	result = handler.execute(new FetchMessages(clientfolder, 0, 10, null), null);
+    	assertEquals(2, serverfolder.getMessageCount());
+    	assertEquals(2, serverfolder.getUnreadMessageCount());
+    	assertEquals(2, result.getRealCount());
+    	assertEquals(2, result.getMessages().size());
+    	assertEquals(2, result.getMessages().size());
+    	
+    	msg.setFlags(new Flags(Flag.SEEN), true);
+    	assertEquals(1, serverfolder.getUnreadMessageCount());
+    	
+    	serverfolder.appendMessages(new Message[]{msg});
+    	result = handler.execute(new FetchMessages(clientfolder, 0, 10, "*"), null);
+    	assertEquals(3, result.getRealCount());
+    	assertEquals(1, result.getRealUnreadCount());
+    	
+    }
+    
+}

Added: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java?rev=830933&view=auto
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java (added)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/GetMessageDetailsHandlerTest.java Thu Oct 29 13:24:15 2009
@@ -0,0 +1,101 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.hupa.server.handler;
+
+import javax.mail.Folder;
+import javax.mail.Message;
+import javax.mail.internet.MimeMessage;
+
+import org.apache.hupa.server.mock.MockIMAPFolder;
+import org.apache.hupa.server.mock.MockIMAPStore;
+import org.apache.hupa.shared.data.IMAPFolder;
+import org.apache.hupa.shared.data.MessageDetails;
+
+public class GetMessageDetailsHandlerTest extends AbstractHandlerTest {
+	
+	GetMessageDetailsHandler handler = new GetMessageDetailsHandler(storeCache, logger, httpSessionProvider);
+
+	private MessageDetails loadMessageDetails(String msgFile) throws Exception {
+        return handler.mimeToDetails(loadMessage(msgFile));
+    }
+	
+    public void testMessageDetails_textPlain() throws Exception {
+    	MessageDetails details = loadMessageDetails("0.msg");
+    	assertFalse(details.isHTML());
+    	assertTrue(details.getText().length() > 0);
+    }
+
+    public void testMessageDetails_multiparMixed() throws Exception {
+    	MessageDetails details = loadMessageDetails("1.msg");
+    	assertFalse(details.isHTML());
+    	assertEquals(1, details.getMessageAttachments().size());
+    	assertTrue(details.getText().length() > 0);
+    }
+
+    public void testMessageDetails_multiparAlternative() throws Exception {
+    	MessageDetails details = loadMessageDetails("2.msg");
+    	assertTrue(details.isHTML());
+    	assertEquals(0, details.getMessageAttachments().size());
+    	assertTrue(details.getText().length() > 0);
+    }
+
+    public void testMessageDetails_charsetIso() throws Exception {
+    	MimeMessage message = loadMessage("3.msg");
+    	String from = message.getFrom()[0].toString();
+    	assertTrue(from.contains("\u00AE"));
+    	
+    	MessageDetails details = loadMessageDetails("3.msg");
+    	assertTrue(details.isHTML());
+    	assertEquals(0, details.getMessageAttachments().size());
+    	assertTrue(details.getText().length() > 0);
+    }
+
+    public void testMessageDetails_textHtml() throws Exception {
+    	MessageDetails details = loadMessageDetails("4.msg");
+    	assertTrue(details.isHTML());
+    	assertTrue(details.getText().length() > 0);
+    }
+    
+    public void testMessageDetails_multiparMixed_multipartAlternative() throws Exception {
+    	MessageDetails details = loadMessageDetails("6.msg");
+    	assertTrue(details.isHTML());
+    	assertEquals(1, details.getMessageAttachments().size());
+    	assertTrue(details.getText().length() > 0);
+    }
+
+    public void testMessageDetails_html_with_inline_images() throws Exception {
+    	
+    	MockIMAPStore store = (MockIMAPStore) storeCache.get(user);
+        MockIMAPFolder serverfolder = (MockIMAPFolder)store.getFolder("WHATEVER"); 
+        serverfolder.create(Folder.HOLDS_MESSAGES);
+        
+    	MimeMessage msg = loadMessage("7.msg");
+    	serverfolder.addMessages(new Message[]{msg});
+
+        
+        IMAPFolder clientfolder = new IMAPFolder("WHATEVER");
+        MessageDetails details = handler.exposeMessage(user, clientfolder, 0);
+    	assertTrue(details.isHTML());
+        System.out.println(details.getText());
+        assertTrue(details.getText().contains("img src=\"/hupa/downloadAttachmentServlet?folder_name=WHATEVER&message_uuid=0&attachment_name=1.1934304663@web28309.mail.ukl.yahoo.com\""));
+    	
+    }
+    
+}

Modified: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/LoginUserHandlerTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/LoginUserHandlerTest.java?rev=830933&r1=830932&r2=830933&view=diff
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/LoginUserHandlerTest.java (original)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/LoginUserHandlerTest.java Thu Oct 29 13:24:15 2009
@@ -29,8 +29,8 @@
 
 import com.google.inject.Provider;
 
-public class LoginUserHandlerTest extends AbstractHandlerTest{
-    private LoginUserHandler handler = new LoginUserHandler(storeCache, new MockLog(),sessionProvider, new Provider<Settings>() {
+public class LoginUserHandlerTest extends AbstractHandlerTest {
+    private LoginUserHandler handler = new LoginUserHandler(storeCache, new MockLog(),httpSessionProvider, new Provider<Settings>() {
 
         public Settings get() {
             return new Settings();
@@ -43,7 +43,7 @@
         } catch (ActionException e) {
             //e.printStackTrace();
         }
-        assertNull("no user stored in session", session.getAttribute("user"));
+        assertNull("no user stored in session", httpSession.getAttribute("user"));
     }
     
     public void testValidLogin() {
@@ -58,7 +58,7 @@
             assertEquals("Authenticated", true, u.getAuthenticated());
             assertEquals("Authenticated", username, u.getName());
             assertEquals("Authenticated", password, u.getPassword());
-            assertEquals("User stored in session", u, session.getAttribute("user"));
+            assertEquals("User stored in session", u, httpSession.getAttribute("user"));
         } catch (ActionException e) {
             e.printStackTrace();
             fail("Should throw an exception");

Modified: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/LogoutUserHandlerTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/LogoutUserHandlerTest.java?rev=830933&r1=830932&r2=830933&view=diff
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/LogoutUserHandlerTest.java (original)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/LogoutUserHandlerTest.java Thu Oct 29 13:24:15 2009
@@ -37,12 +37,12 @@
         user.setName(username);
         user.setPassword(password);
         user.setAuthenticated(true);
-        session.setAttribute("user", user);
-        LogoutUserHandler handler = new LogoutUserHandler(storeCache,new MockLog(),sessionProvider);
+        httpSession.setAttribute("user", user);
+        LogoutUserHandler handler = new LogoutUserHandler(storeCache,new MockLog(),httpSessionProvider);
         try {
             LogoutUserResult result = handler.execute(new LogoutUser(), null);
             assertFalse("Not authenticated anymore", result.getUser().getAuthenticated());
-            assertNull("User removed", session.getAttribute("user"));
+            assertNull("User removed", httpSession.getAttribute("user"));
             
         } catch (ActionException e) {
             e.printStackTrace();

Modified: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/NoopHandlerTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/NoopHandlerTest.java?rev=830933&r1=830932&r2=830933&view=diff
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/NoopHandlerTest.java (original)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/NoopHandlerTest.java Thu Oct 29 13:24:15 2009
@@ -29,11 +29,11 @@
 public class NoopHandlerTest extends AbstractHandlerTest{
 
     public void testNoop() {
-        NoopHandler handler = new NoopHandler(storeCache,new MockLog(),sessionProvider);
+        NoopHandler handler = new NoopHandler(storeCache,new MockLog(),httpSessionProvider);
         User user = createUser();
         Noop action = new Noop();
         storeCache.addValidUser(user.getName(), user.getPassword());
-        session.setAttribute("user", user);
+        httpSession.setAttribute("user", user);
         try {
             NoopResult result = handler.execute(action, null);
             assertNotNull(result);

Added: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/servlet/DownloadAttachmentServletTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/servlet/DownloadAttachmentServletTest.java?rev=830933&view=auto
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/servlet/DownloadAttachmentServletTest.java (added)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/servlet/DownloadAttachmentServletTest.java Thu Oct 29 13:24:15 2009
@@ -0,0 +1,25 @@
+package org.apache.hupa.server.servlet;
+
+import javax.mail.Part;
+import javax.mail.internet.MimeMessage;
+
+import org.apache.hupa.server.handler.AbstractHandlerTest;
+
+public class DownloadAttachmentServletTest extends AbstractHandlerTest {
+
+	public void testDownloadAttachmentByName() throws Exception {
+		MimeMessage message = loadMessage("7.msg");
+		Part part = DownloadAttachmentServlet.handleMultiPart(message
+		        .getContent(), "Image.4FB480B138F7456382ABBD1EE7B0748A");
+		assertNotNull(part);
+	}
+	
+	public void testDownloadAttachmentByContentId() throws Exception {
+		MimeMessage message = loadMessage("7.msg");
+		Part part = DownloadAttachmentServlet.handleMultiPart(message
+		        .getContent(), "1.1934304663@web28309.mail.ukl.yahoo.com");
+		assertNotNull(part);
+		System.out.println(part.getContentType());
+	}
+
+}

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/Util.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/Util.java?rev=830933&r1=830932&r2=830933&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/Util.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/Util.java Thu Oct 29 13:24:15 2009
@@ -39,11 +39,10 @@
         return string;
     }
 
-    public static String toHtml(String string) {
+    public static String escapeHtmlTags(String string) {
         if (string != null) {
             string = string.replaceAll(STRING_LT, HTML_LT);
             string = string.replaceAll(STRING_GT, HTML_GT);
-            string = string.replaceAll(STRING_CR, HTML_CR);
         }
         return string;
     }

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/Message.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/Message.java?rev=830933&r1=830932&r2=830933&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/Message.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/Message.java Thu Oct 29 13:24:15 2009
@@ -38,9 +38,11 @@
     private Date rDate;
     
     public enum IMAPFlag {
-        SEEN, DELETED, RECENT, ANSWERED, JUNK, DRAFT
+        SEEN, DELETED, RECENT, ANSWERED, JUNK, DRAFT, FLAGGED, USER
     }
 
+    
+
     public void setFlags(ArrayList<IMAPFlag> flags) {
         this.flags = flags;
     }
@@ -71,7 +73,7 @@
     }
 
     public Date getReceivedDate() {
-        return rDate;
+        return rDate == null ? new Date(): rDate;
     }
     
 

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/MessageDetails.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/MessageDetails.java?rev=830933&r1=830932&r2=830933&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/MessageDetails.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/MessageDetails.java Thu Oct 29 13:24:15 2009
@@ -33,6 +33,14 @@
     private long uid;
     private String raw;
 
+    public String toString() {
+        return "uid=" + String.valueOf(getUid()) +
+        " isHTML=" + isHTML +
+        " text.length=" + (text != null ? text.length() : 0) + 
+        " raw.length=" + (raw != null ? raw.length() : 0) + 
+        " attachments=" + (aList != null ? aList.size() : 0); 
+    }
+    
     
     public long getUid() {
         return uid;
@@ -114,10 +122,6 @@
     }
 
 
-    public String toString() {
-        return String.valueOf(getUid());
-    }
-    
     public boolean equals(Object obj) {
         if (obj instanceof MessageDetails) {
             if (((MessageDetails)obj).getUid() == getUid()) {

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/FetchFoldersResult.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/FetchFoldersResult.java?rev=830933&r1=830932&r2=830933&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/FetchFoldersResult.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/FetchFoldersResult.java Thu Oct 29 13:24:15 2009
@@ -45,4 +45,12 @@
     public ArrayList<IMAPFolder> getFolders() {
         return folders;
     }
+    
+    public String toString() {
+    	String ret = "";
+    	for (IMAPFolder f: folders) {
+    		ret += f.getFullName() + " ";
+    	}
+    	return ret;
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org