Author: dongxu
Date: Thu Sep 12 04:10:06 2013
New Revision: 1522305

URL: http://svn.apache.org/r1522305
Log:
coping with java.lang.IllegalArgumentException: uid

Modified:
    
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java

Modified: 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
URL: 
http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java?rev=1522305&r1=1522304&r2=1522305&view=diff
==============================================================================
--- 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
 (original)
+++ 
james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/ComposeActivity.java
 Thu Sep 12 04:10:06 2013
@@ -73,6 +73,7 @@ import org.apache.hupa.client.ui.WidgetD
 import org.apache.hupa.client.validation.EmailListValidator;
 import org.apache.hupa.shared.data.MessageAttachmentImpl;
 import org.apache.hupa.shared.domain.GenericResult;
+import org.apache.hupa.shared.domain.ImapFolder;
 import org.apache.hupa.shared.domain.MessageAttachment;
 import org.apache.hupa.shared.domain.SendForwardMessageAction;
 import org.apache.hupa.shared.domain.SendMessageAction;
@@ -123,11 +124,10 @@ import com.google.gwt.user.client.ui.Has
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.inject.Inject;
 import com.google.web.bindery.requestfactory.shared.Receiver;
+import com.google.web.bindery.requestfactory.shared.RequestContext;
 
 public class ComposeActivity extends AppBaseActivity {
        @Inject private Displayable display;
-       private SendMessageRequest sendReq;
-       private SmtpMessage message;
        private List<MessageAttachment> attachments = new 
ArrayList<MessageAttachment>();
 <<<<<<< HEAD
        private Type type = Type.NEW;
@@ -477,6 +477,7 @@ public class ComposeActivity extends App
                        if (!validate())
                                return;
 <<<<<<< HEAD
+<<<<<<< HEAD
                        hupaController.showTopLoading("Sending...");
 
                        if ("new".equals(place.getToken())) {
@@ -501,10 +502,15 @@ public class ComposeActivity extends App
                        
message.setTo(emailTextToArray(display.getToText().getText()));
                        
message.setCc(emailTextToArray(display.getCcText().getText()));
                        
message.setBcc(emailTextToArray(display.getBccText().getText()));
+=======
+>>>>>>> coping with java.lang.IllegalArgumentException: uid
 
                        if ("new".equals(place.getToken())) {
+                               System.out.println("new: " + 
place.getParameters().getOldmessage().getUid());
+                               SendMessageRequest sendReq = 
requestFactory.sendMessageRequest();
                                SendMessageAction sendAction = 
sendReq.create(SendMessageAction.class);
 <<<<<<< HEAD
+<<<<<<< HEAD
                                // SmtpMessage sm = sendReq.edit(message);
                                sendAction.setMessage(message);
 >>>>>>> make send text mail work excellently
@@ -512,6 +518,9 @@ public class ComposeActivity extends App
                                SmtpMessage sm = sendReq.edit(message);
                                sendAction.setMessage(sm);
 >>>>>>> coping with reply and forward sending message
+=======
+                               sendAction.setMessage(parseMessage(sendReq));
+>>>>>>> coping with java.lang.IllegalArgumentException: uid
                                sendReq.send(sendAction).fire(new 
Receiver<GenericResult>() {
                                        @Override
                                        public void onSuccess(GenericResult 
response) {
@@ -520,6 +529,7 @@ public class ComposeActivity extends App
                                });
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
                        } else if ("forward".equals(place.getToken())) {
                                // FIXME will get a NullPointerException given 
accessing
                                // directly from some URL like #/compose:forward
@@ -534,10 +544,16 @@ public class ComposeActivity extends App
 =======
                                System.out.println("new: " + 
place.getParameters().getOldmessage().getUid());
                        } else if ("reply".equals(place.getToken())) {
+=======
+                       } else if ("forward".equals(place.getToken())) {
+                               System.out.println("reply: " + 
place.getParameters().getOldmessage().getUid());
+>>>>>>> coping with java.lang.IllegalArgumentException: uid
                                SendForwardMessageRequest forwardReq = 
requestFactory.sendForwardMessageRequest();
                                SendForwardMessageAction forwardAction = 
forwardReq.create(SendForwardMessageAction.class);
-                               forwardAction.setMessage(message);
-                               
forwardAction.setFolder(place.getParameters().getFolder());
+                               
forwardAction.setMessage(parseMessage(forwardReq));
+                               ImapFolder folder = 
forwardReq.create(ImapFolder.class);
+                               
folder.setFullName(place.getParameters().getFolder().getFullName());
+                               forwardAction.setFolder(folder);
                                
forwardAction.setUid(place.getParameters().getOldmessage().getUid());
                                forwardReq.send(forwardAction).fire(new 
Receiver<GenericResult>() {
 >>>>>>> coping with reply and forward sending message
@@ -547,6 +563,7 @@ public class ComposeActivity extends App
                                        }
                                });
 <<<<<<< HEAD
+<<<<<<< HEAD
                        } else {
                                SendReplyMessageRequest replyReq = 
rf.sendReplyMessageRequest();
                                SendReplyMessageAction action = 
replyReq.create(SendReplyMessageAction.class);
@@ -595,12 +612,15 @@ public class ComposeActivity extends App
 >>>>>>> make send text mail work excellently
 =======
                                System.out.println("reply: " + 
place.getParameters().getOldmessage().getUid());
+=======
+>>>>>>> coping with java.lang.IllegalArgumentException: uid
                        } else {
                                SendReplyMessageRequest replyReq = 
requestFactory.sendReplyMessageRequest();
                                SendReplyMessageAction replyAction = 
replyReq.create(SendReplyMessageAction.class);
-                               message = replyReq.create(SmtpMessage.class);
-                               replyAction.setMessage(message);
-                               
replyAction.setFolder(place.getParameters().getFolder());
+                               replyAction.setMessage(parseMessage(replyReq));
+                               ImapFolder folder = 
replyReq.create(ImapFolder.class);
+                               
folder.setFullName(place.getParameters().getFolder().getFullName());
+                               replyAction.setFolder(folder);
                                
replyAction.setUid(place.getParameters().getOldmessage().getUid());
                                replyReq.send(replyAction).fire(new 
Receiver<GenericResult>() {
                                        @Override
@@ -608,8 +628,11 @@ public class ComposeActivity extends App
                                                afterSend(response);
                                        }
                                });
+<<<<<<< HEAD
                                System.out.println("other forward: " + 
place.getParameters().getOldmessage().getUid());
 >>>>>>> coping with reply and forward sending message
+=======
+>>>>>>> coping with java.lang.IllegalArgumentException: uid
                        }
                }
        };
@@ -649,6 +672,26 @@ public class ComposeActivity extends App
 >>>>>>> make send text mail work excellently
        }
 
+       private SmtpMessage parseMessage(RequestContext rc) {
+               SmtpMessage message = rc.create(SmtpMessage.class);
+               List<MessageAttachment> attaches = new 
ArrayList<MessageAttachment>();
+               for (MessageAttachment attach : attachments) {
+                       MessageAttachment attachMent = 
rc.create(MessageAttachment.class);
+                       attachMent.setName(attach.getName());
+                       attachMent.setSize(attach.getSize());
+                       attachMent.setContentType(attach.getContentType());
+                       attaches.add(attachMent);
+               }
+               message.setFrom(display.getFromText());
+               message.setSubject(display.getSubjectText().getText());
+               message.setText(display.getMessageHTML().getHTML());
+               message.setMessageAttachments(attaches);
+               message.setTo(emailTextToArray(display.getToText().getText()));
+               message.setCc(emailTextToArray(display.getCcText().getText()));
+               
message.setBcc(emailTextToArray(display.getBccText().getText()));
+               return message;
+       }
+
        private List<String> emailTextToArray(String emails) {
                List<String> cc = new ArrayList<String>();
                for (String ccRaw : emails.split("[,;]+")) {



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

Reply via email to