Author: norman
Date: Thu Jul 23 11:35:33 2009
New Revision: 797022

URL: http://svn.apache.org/viewvc?rev=797022&view=rev
Log:
Rename some classes to be more consistent
Fix problems with empty subjects
Sending of "simple" emails now work

Added:
    labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageHeader.java
      - copied, changed from r796999, 
labs/hupa/src/main/java/org/apache/hupa/shared/data/Header.java
    labs/hupa/src/main/java/org/apache/hupa/shared/events/SentMessageEvent.java
    
labs/hupa/src/main/java/org/apache/hupa/shared/events/SentMessageEventHandler.java
Removed:
    labs/hupa/src/main/java/org/apache/hupa/shared/data/Header.java
Modified:
    
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageSendPresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
    labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java
    labs/hupa/src/main/java/org/apache/hupa/server/ExposeMessageHandler.java
    labs/hupa/src/main/java/org/apache/hupa/server/FetchMessagesHandler.java
    labs/hupa/src/main/java/org/apache/hupa/server/SendMessageHandler.java
    labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageContent.java
    labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java

Modified: 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageSendPresenter.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageSendPresenter.java?rev=797022&r1=797021&r2=797022&view=diff
==============================================================================
--- 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageSendPresenter.java
 (original)
+++ 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageSendPresenter.java
 Thu Jul 23 11:35:33 2009
@@ -1,10 +1,40 @@
+/****************************************************************
+ * 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.client.mvp;
 
+import java.util.ArrayList;
+
+import org.apache.hupa.shared.data.MessageHeader;
 import org.apache.hupa.shared.data.IMAPUser;
+import org.apache.hupa.shared.data.MessageContent;
+import org.apache.hupa.shared.data.SMTPMessage;
 import org.apache.hupa.shared.events.LoginEvent;
 import org.apache.hupa.shared.events.LoginEventHandler;
+import org.apache.hupa.shared.events.SentMessageEvent;
+import org.apache.hupa.shared.rpc.EmptyResult;
+import org.apache.hupa.shared.rpc.SendMessage;
 
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.gwt.user.client.ui.HasText;
 import com.google.inject.Inject;
 
@@ -54,6 +84,59 @@
                        }
                        
                });
+               display.getSendClick().addClickHandler(new ClickHandler() {
+
+                       public void onClick(ClickEvent event) {
+                               SMTPMessage message = new SMTPMessage();
+                               MessageHeader header = new MessageHeader();
+                               MessageContent content = new MessageContent();
+                               
+                               header.setFrom(display.getFromText().getText());
+                               
+                               ArrayList<String> to = new ArrayList<String>();
+                               String[] toRaw = 
display.getToText().getText().split(",");
+                               if (toRaw != null) {
+                                       for (int i = 0; i < toRaw.length;i++) {
+                                               String toRecip = 
toRaw[i].trim();
+                                               if (toRecip.length() > 0) {
+                                                       to.add(toRaw[i].trim());
+                                               }
+                                       }
+                               }
+                               header.setTo(to);
+                               
+                               ArrayList<String> cc = new ArrayList<String>();
+                               String[] ccRaw = 
display.getCcText().getText().split(",");
+                               if (ccRaw != null) {
+                                       for (int i = 0; i < ccRaw.length;i++) {
+                                               String ccRecip = 
ccRaw[i].trim();
+                                               if (ccRecip.length() > 0) {
+                                                       cc.add(ccRaw[i].trim());
+                                               }
+                                       }
+                               }
+                               header.setCc(cc);
+                               
+                               
header.setSubject(display.getSubjectText().getText());
+                               
content.setText(display.getMessageText().getText());
+                               
+                               message.setHeader(header);
+                               message.setMessageContent(content);
+                               dispatcher.execute(new 
SendMessage(user,message), new AsyncCallback<EmptyResult>() {
+
+                                       public void onFailure(Throwable caught) 
{
+
+                                       }
+
+                                       public void onSuccess(EmptyResult 
result) {
+                                               eventBus.fireEvent(new 
SentMessageEvent());
+                                       }
+                                       
+                               });
+                               
+                       }
+                       
+               });
        }
 
        @Override

Modified: 
labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java?rev=797022&r1=797021&r2=797022&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/IMAPMessageView.java Thu 
Jul 23 11:35:33 2009
@@ -157,26 +157,29 @@
                return deleteMsgButton;
        }
 
-       public void setAttachments(List<MessageAttachment> attachements, final 
String username, final String password, final String folder, final long uid) {
+       public void setAttachments(List<MessageAttachment> attachements,
+                       final String username, final String password, final 
String folder,
+                       final long uid) {
                attachments.clear();
-               for (int i = 0; i < attachements.size();i++) {
-                       final MessageAttachment a = attachements.get(i);
-                       Hyperlink link = new Hyperlink(a.getName() + " (" + 
a.getSize() + ")",true,"");
-                       link.addClickHandler(new ClickHandler() {
+               if (attachements != null) {
+                       for (int i = 0; i < attachements.size(); i++) {
+                               final MessageAttachment a = attachements.get(i);
+                               Hyperlink link = new Hyperlink(a.getName() + " 
(" + a.getSize()
+                                               + ")", true, "");
+                               link.addClickHandler(new ClickHandler() {
 
-                               public void onClick(ClickEvent event) {
-                                       
DOM.setElementAttribute(RootPanel.get("__download")
-                             .getElement(), "src", GWT.getModuleBaseURL()
-                             + "downloadAttachmentServlet?attachment_name="
-                             + a.getName() + "&folder_name=" + folder
-                               + "&message_uuid="
-                             + uid + "&user=" + username
-                             + "&password=" + password);
-                               }
-                               
-                       });
-                       attachments.add(link);
-                       
+                                       public void onClick(ClickEvent event) {
+                                               
DOM.setElementAttribute(RootPanel.get("__download")
+                                                               .getElement(), 
"src", GWT.getModuleBaseURL()
+                                                               + 
"downloadAttachmentServlet?attachment_name="
+                                                               + a.getName() + 
"&folder_name=" + folder
+                                                               + 
"&message_uuid=" + uid + "&user=" + username
+                                                               + "&password=" 
+ password);
+                                       }
+
+                               });
+                               attachments.add(link);
+                       }
                }
        }
        

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java?rev=797022&r1=797021&r2=797022&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java Thu 
Jul 23 11:35:33 2009
@@ -47,6 +47,8 @@
 import org.apache.hupa.shared.events.MessagesReceivedEventHandler;
 import org.apache.hupa.shared.events.NewMessageEvent;
 import org.apache.hupa.shared.events.NewMessageEventHandler;
+import org.apache.hupa.shared.events.SentMessageEvent;
+import org.apache.hupa.shared.events.SentMessageEventHandler;
 import org.apache.hupa.shared.rpc.ExposeMessage;
 import org.apache.hupa.shared.rpc.ExposeMessageResult;
 import org.apache.hupa.shared.rpc.FetchFolders;
@@ -269,6 +271,14 @@
                        
                });
                
+               eventBus.addHandler(SentMessageEvent.TYPE, new 
SentMessageEventHandler() {
+
+                       public void onSentMessageEvent(SentMessageEvent ev) {
+                               showMessageTable();
+                       }
+                       
+               });
+               
                Window.addWindowClosingHandler(new ClosingHandler() {
 
                        public void onWindowClosing(ClosingEvent event) {

Modified: labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java?rev=797022&r1=797021&r2=797022&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/client/mvp/MainView.java Thu Jul 23 
11:35:33 2009
@@ -177,8 +177,14 @@
 
        public void fillOracle(ArrayList<IMAPMessage> messages) {
                for (int i = 0; i < messages.size();i++) {
-                       oracle.add(messages.get(i).getHeader().getSubject());
-                       oracle.add(messages.get(i).getHeader().getFrom());
+                       String subject = 
messages.get(i).getHeader().getSubject();
+                       String from = messages.get(i).getHeader().getFrom();
+                       if (subject != null && subject.trim().length() > 0) {
+                               oracle.add(subject.trim());
+                       }
+                       if (from != null && from.trim().length() > 0) {
+                               oracle.add(from.trim());
+                       }
                }
                searchBox.setText("");
        }

Modified: 
labs/hupa/src/main/java/org/apache/hupa/server/ExposeMessageHandler.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/ExposeMessageHandler.java?rev=797022&r1=797021&r2=797022&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/ExposeMessageHandler.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/ExposeMessageHandler.java 
Thu Jul 23 11:35:33 2009
@@ -20,7 +20,6 @@
 package org.apache.hupa.server;
 
 import java.util.ArrayList;
-import java.util.List;
 
 import javax.mail.Flags;
 import javax.mail.Message;
@@ -101,7 +100,7 @@
 
             } else if (con instanceof Multipart) {
                 Multipart mp = (Multipart) con;
-                List<MessageAttachment> attachmentList = new 
ArrayList<MessageAttachment>();
+                ArrayList<MessageAttachment> attachmentList = new 
ArrayList<MessageAttachment>();
                 boolean hasAttachment = false;
                 StringBuffer sbPlain = new StringBuffer();
                 StringBuffer sbHTML = new StringBuffer();

Modified: 
labs/hupa/src/main/java/org/apache/hupa/server/FetchMessagesHandler.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/FetchMessagesHandler.java?rev=797022&r1=797021&r2=797022&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/FetchMessagesHandler.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/FetchMessagesHandler.java 
Thu Jul 23 11:35:33 2009
@@ -38,7 +38,7 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.Header;
+import org.apache.hupa.shared.data.MessageHeader;
 import org.apache.hupa.shared.data.IMAPMessage;
 import org.apache.hupa.shared.data.IMAPUser;
 import org.apache.hupa.shared.data.IMAPMessage.IMAPFlag;
@@ -115,7 +115,7 @@
                        for (int i = 0; i < messages.length; i++) {
                                Message m = messages[i];
 
-                               Header newHeader = new Header();
+                               MessageHeader newHeader = new MessageHeader();
                                
newHeader.setRawHeader(m.getAllHeaders().toString());
                                
newHeader.setFrom(m.getFrom()[0].toString().trim());
                                
@@ -128,7 +128,11 @@
                                }
                                newHeader.setTo(to);
                                
-                               
newHeader.setSubject(MimeUtility.decodeText(m.getSubject()));
+                               String subject = m.getSubject();
+                               if (subject != null) {
+                                       subject = 
MimeUtility.decodeText(subject);
+                               }
+                               newHeader.setSubject(subject);
                                
                                Address[] ccArray = 
m.getRecipients(RecipientType.CC);
                                ArrayList<String> cc = new ArrayList<String>();

Modified: labs/hupa/src/main/java/org/apache/hupa/server/SendMessageHandler.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/server/SendMessageHandler.java?rev=797022&r1=797021&r2=797022&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/server/SendMessageHandler.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/server/SendMessageHandler.java Thu 
Jul 23 11:35:33 2009
@@ -72,7 +72,7 @@
                                message.addRecipient(RecipientType.CC, new 
InternetAddress(cc
                                                .get(i)));
                        }
-                       
+                       message.setSubject(m.getHeader().getSubject());
                        message.setText(m.getMessageContent().getText());
                        message.saveChanges();
                        

Modified: 
labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageContent.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageContent.java?rev=797022&r1=797021&r2=797022&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageContent.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageContent.java Thu 
Jul 23 11:35:33 2009
@@ -21,7 +21,6 @@
 
 import java.io.Serializable;
 import java.util.ArrayList;
-import java.util.List;
 
 public class MessageContent implements Serializable {
        /**
@@ -30,7 +29,7 @@
        private static final long serialVersionUID = 7611536915564919521L;
        private boolean isHTML;
        private String text;
-       private List<MessageAttachment> aList = new 
ArrayList<MessageAttachment>();
+       private ArrayList<MessageAttachment> aList;
 
        public void setIsHTML(boolean isHTML) {
                this.isHTML = isHTML;
@@ -48,11 +47,11 @@
                return text;
        }
 
-       public void setIMAPMessageAttachments(List<MessageAttachment> aList) {
+       public void setIMAPMessageAttachments(ArrayList<MessageAttachment> 
aList) {
                this.aList = aList;
        }
 
-       public List<MessageAttachment> getIMAPMessageAttachments() {
+       public ArrayList<MessageAttachment> getIMAPMessageAttachments() {
                return aList;
        }
 }

Copied: labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageHeader.java 
(from r796999, labs/hupa/src/main/java/org/apache/hupa/shared/data/Header.java)
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageHeader.java?p2=labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageHeader.java&p1=labs/hupa/src/main/java/org/apache/hupa/shared/data/Header.java&r1=796999&r2=797022&rev=797022&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/shared/data/Header.java (original)
+++ labs/hupa/src/main/java/org/apache/hupa/shared/data/MessageHeader.java Thu 
Jul 23 11:35:33 2009
@@ -23,7 +23,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 
-public class Header implements Serializable {
+public class MessageHeader implements Serializable {
 
        /**
         * 

Modified: labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java?rev=797022&r1=797021&r2=797022&view=diff
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java 
(original)
+++ labs/hupa/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java Thu 
Jul 23 11:35:33 2009
@@ -27,14 +27,14 @@
         * 
         */
        private static final long serialVersionUID = 7998000151420927239L;
-       private Header header;
+       private MessageHeader header;
        private MessageContent content;
 
-       public void setHeader(Header header) {
+       public void setHeader(MessageHeader header) {
                this.header = header;
        }
 
-       public Header getHeader() {
+       public MessageHeader getHeader() {
                return header;
        }
        

Added: 
labs/hupa/src/main/java/org/apache/hupa/shared/events/SentMessageEvent.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/shared/events/SentMessageEvent.java?rev=797022&view=auto
==============================================================================
--- labs/hupa/src/main/java/org/apache/hupa/shared/events/SentMessageEvent.java 
(added)
+++ labs/hupa/src/main/java/org/apache/hupa/shared/events/SentMessageEvent.java 
Thu Jul 23 11:35:33 2009
@@ -0,0 +1,36 @@
+/****************************************************************
+ * 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.shared.events;
+
+import com.google.gwt.event.shared.GwtEvent;
+
+public class SentMessageEvent extends GwtEvent<SentMessageEventHandler>{
+       public static Type<SentMessageEventHandler> TYPE = new 
Type<SentMessageEventHandler>();
+       @Override
+       protected void dispatch(SentMessageEventHandler handler) {
+               handler.onSentMessageEvent(this);
+       }
+
+       @Override
+       public 
com.google.gwt.event.shared.GwtEvent.Type<SentMessageEventHandler> 
getAssociatedType() {
+               return TYPE;
+       }
+
+}

Added: 
labs/hupa/src/main/java/org/apache/hupa/shared/events/SentMessageEventHandler.java
URL: 
http://svn.apache.org/viewvc/labs/hupa/src/main/java/org/apache/hupa/shared/events/SentMessageEventHandler.java?rev=797022&view=auto
==============================================================================
--- 
labs/hupa/src/main/java/org/apache/hupa/shared/events/SentMessageEventHandler.java
 (added)
+++ 
labs/hupa/src/main/java/org/apache/hupa/shared/events/SentMessageEventHandler.java
 Thu Jul 23 11:35:33 2009
@@ -0,0 +1,27 @@
+/****************************************************************
+ * 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.shared.events;
+
+import com.google.gwt.event.shared.EventHandler;
+
+public interface SentMessageEventHandler extends EventHandler{
+
+       public void onSentMessageEvent(SentMessageEvent ev);
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to