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