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 do...@apache.org on 2013/09/12 05:11:58 UTC

svn commit: r1522172 - in /james/hupa/trunk: client/src/main/java/org/apache/hupa/client/activity/ client/src/main/java/org/apache/hupa/client/ioc/ client/src/main/java/org/apache/hupa/client/mvp/ client/src/main/java/org/apache/hupa/client/place/ clie...

Author: dongxu
Date: Thu Sep 12 03:11:57 2013
New Revision: 1522172

URL: http://svn.apache.org/r1522172
Log:
forward and reply message to use RF

Removed:
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/AbstractMessage.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java
Modified:
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageSendActivity.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/IMAPMessagePlace.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/HupaRequestFactory.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendForwardMessageRequest.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendMessageRequest.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendReplyMessageRequest.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageTableModel.java
    james/hupa/trunk/client/src/main/java/org/apache/hupa/client/widgets/IMAPTreeItem.java
    james/hupa/trunk/client/src/test/java/org/apache/hupa/client/mvp/MessageSendPresenterTest.java
    james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
    james/hupa/trunk/server/src/main/java/org/apache/hupa/server/ioc/GuiceServerModule.java
    james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/FetchMessagesBaseServiceImpl.java
    james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendForwardMessageService.java
    james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendForwardMessageServiceImpl.java
    james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendMessageBaseServiceImpl.java
    james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendMessageService.java
    james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendReplyMessageService.java
    james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendReplyMessageServiceImpl.java
    james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/AbtractSendMessageHandlerTest.java
    james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FowardMessageHandlerTest.java
    james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/ReplyMessageHandlerTest.java
    james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java
    james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InSessionUserPreferencesStorageTest.java
    james/hupa/trunk/server/src/test/java/org/apache/hupa/server/utils/TestUtils.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/MessageImpl.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendForwardMessageActionImpl.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendMessageActionImpl.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendReplyMessageActionImpl.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendForwardMessageAction.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendMessageAction.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendReplyMessageAction.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ForwardMessage.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ReplyMessage.java
    james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/SendMessage.java

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageSendActivity.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageSendActivity.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageSendActivity.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/MessageSendActivity.java Thu Sep 12 03:11:57 2013
@@ -74,13 +74,21 @@ import org.apache.hupa.client.evo.HupaEv
 >>>>>>> try to get message details, problem is:
 import org.apache.hupa.client.place.MessageSendPlace;
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> 1. improve the inbox folder place.
 =======
+=======
+import org.apache.hupa.client.rf.HupaRequestFactory;
+import org.apache.hupa.client.rf.SendForwardMessageRequest;
+import org.apache.hupa.client.rf.SendMessageRequest;
+import org.apache.hupa.client.rf.SendReplyMessageRequest;
+>>>>>>> forward and reply message to use RF
 import org.apache.hupa.client.ui.WidgetDisplayable;
 >>>>>>> Make the evo more clear.
 import org.apache.hupa.client.validation.EmailListValidator;
 import org.apache.hupa.shared.Util;
 import org.apache.hupa.shared.data.MessageAttachmentImpl;
+<<<<<<< HEAD
 import org.apache.hupa.shared.data.SMTPMessage;
 <<<<<<< HEAD
 import org.apache.hupa.shared.data.User;
@@ -93,20 +101,30 @@ import org.apache.hupa.shared.data.User;
 import org.apache.hupa.shared.domain.ImapFolder;
 >>>>>>> Allow client can use the domain entity interface.
 =======
+=======
+import org.apache.hupa.shared.data.SmtpMessageImpl;
+import org.apache.hupa.shared.domain.GenericResult;
+>>>>>>> forward and reply message to use RF
 import org.apache.hupa.shared.domain.ImapFolder;
 import org.apache.hupa.shared.domain.Message;
 import org.apache.hupa.shared.domain.MessageAttachment;
 import org.apache.hupa.shared.domain.MessageDetails;
+import org.apache.hupa.shared.domain.SendForwardMessageAction;
+import org.apache.hupa.shared.domain.SendMessageAction;
+import org.apache.hupa.shared.domain.SendReplyMessageAction;
+import org.apache.hupa.shared.domain.SmtpMessage;
 import org.apache.hupa.shared.domain.User;
 >>>>>>> Make chechsession and login work with RF, with refactoring fetch folders.
 import org.apache.hupa.shared.events.BackEvent;
 import org.apache.hupa.shared.events.ContactsUpdatedEvent;
 import org.apache.hupa.shared.events.ContactsUpdatedEventHandler;
+import org.apache.hupa.shared.events.FlashEvent;
 import org.apache.hupa.shared.events.FolderSelectionEvent;
 import org.apache.hupa.shared.events.FolderSelectionEventHandler;
 import org.apache.hupa.shared.events.LoadMessagesEvent;
 import org.apache.hupa.shared.events.LoadMessagesEventHandler;
 <<<<<<< HEAD
+<<<<<<< HEAD
 import org.apache.hupa.shared.events.SentMessageEvent;
 <<<<<<< HEAD
 <<<<<<< HEAD
@@ -134,6 +152,10 @@ import org.apache.hupa.shared.rpc.Contac
 import org.apache.hupa.shared.rpc.ForwardMessage;
 import org.apache.hupa.shared.rpc.ReplyMessage;
 import org.apache.hupa.shared.rpc.SendMessage;
+=======
+import org.apache.hupa.shared.events.SentMessageEvent;
+import org.apache.hupa.shared.rpc.ContactsResult.Contact;
+>>>>>>> forward and reply message to use RF
 import org.apache.hupa.widgets.ui.HasEnable;
 
 import com.google.gwt.activity.shared.AbstractActivity;
@@ -147,12 +169,15 @@ import com.google.gwt.event.dom.client.H
 import com.google.gwt.event.shared.EventBus;
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 import com.google.gwt.place.shared.PlaceController;
 >>>>>>> 1. improve the inbox folder place.
 =======
 import com.google.gwt.place.shared.PlaceController;
 >>>>>>> 1. improve the inbox folder place.
+=======
+>>>>>>> forward and reply message to use RF
 import com.google.gwt.user.client.ui.AcceptsOneWidget;
 import com.google.gwt.user.client.ui.Focusable;
 import com.google.gwt.user.client.ui.HasHTML;
@@ -160,6 +185,7 @@ import com.google.gwt.user.client.ui.Has
 import com.google.inject.Inject;
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 import com.google.web.bindery.requestfactory.shared.Receiver;
 
 public class MessageSendActivity extends AppBaseActivity {
@@ -195,8 +221,26 @@ public class MessageSendActivity extends
     @Inject private EventBus eventBus;
     @Inject private PlaceController placeController;
 	
+=======
+import com.google.web.bindery.requestfactory.shared.Receiver;
+
+public class MessageSendActivity extends AbstractActivity {
+
+	private ArrayList<MessageAttachment> attachments = new ArrayList<MessageAttachment>();
+	private Type type = Type.NEW;
+	private ImapFolder folder;
+	private Message oldmessage;
+
+	protected SmtpMessage message;
+	private MessageDetails oldDetails;
+
+	@Inject private Displayable display;
+	@Inject private EventBus eventBus;
+	@Inject private HupaRequestFactory requestFactory;
+
+>>>>>>> forward and reply message to use RF
 	private MessageSendPlace place;
-	
+
 	private User user;
 <<<<<<< HEAD
 >>>>>>> 1. improve the inbox folder place.
@@ -212,6 +256,7 @@ public class MessageSendActivity extends
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 
 	public MessageSendActivity with(MessageSendPlace place) {
 =======
@@ -230,6 +275,10 @@ public class MessageSendActivity extends
 >>>>>>> fix issue 2&3. 	Handle exceptions thrown in async blocks & Simply injection code
 	
 	public MessageSendActivity with(MessageSendPlace place){
+=======
+
+	public MessageSendActivity with(MessageSendPlace place) {
+>>>>>>> forward and reply message to use RF
 		this.place = place;
 <<<<<<< HEAD
 >>>>>>> 1. improve the inbox folder place.
@@ -245,6 +294,7 @@ public class MessageSendActivity extends
 
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 	private void bind() {
 		eventBus.addHandler(LoadMessagesEvent.TYPE, new LoadMessagesEventHandler() {
 			public void onLoadMessagesEvent(LoadMessagesEvent loadMessagesEvent) {
@@ -541,35 +591,175 @@ public class MessageSendActivity extends
 =======
 >>>>>>> 1. improve the inbox folder place.
 	private void bind(){
+=======
+	private void bind() {
+>>>>>>> forward and reply message to use RF
 		eventBus.addHandler(LoadMessagesEvent.TYPE, new LoadMessagesEventHandler() {
-            public void onLoadMessagesEvent(LoadMessagesEvent loadMessagesEvent) {
-                reset();
-            }
-        });
+			public void onLoadMessagesEvent(LoadMessagesEvent loadMessagesEvent) {
+				reset();
+			}
+		});
 		eventBus.addHandler(FolderSelectionEvent.TYPE, new FolderSelectionEventHandler() {
-            public void onFolderSelectionEvent(FolderSelectionEvent event) {
-                reset();
-            }
-        });
+			public void onFolderSelectionEvent(FolderSelectionEvent event) {
+				reset();
+			}
+		});
 		eventBus.addHandler(ContactsUpdatedEvent.TYPE, new ContactsUpdatedEventHandler() {
-            public void onContactsUpdated(ContactsUpdatedEvent event) {
-                display.fillContactList(event.getContacts());
-            }
-        });
+			public void onContactsUpdated(ContactsUpdatedEvent event) {
+				display.fillContactList(event.getContacts());
+			}
+		});
 		display.getSendClick().addClickHandler(sendClickHandler);
 		display.getBackButtonClick().addClickHandler(new ClickHandler() {
-            public void onClick(ClickEvent event) {
-                eventBus.fireEvent(new BackEvent());
-            }
-        });
+			public void onClick(ClickEvent event) {
+				eventBus.fireEvent(new BackEvent());
+			}
+		});
+
+		display.getUploader().addOnStatusChangedHandler(onStatusChangedHandler);
+		display.getUploader().addOnFinishUploadHandler(onFinishUploadHandler);
+		display.getUploader().addOnCancelUploadHandler(onCancelUploadHandler);
 
-        display.getUploader().addOnStatusChangedHandler(onStatusChangedHandler);
-        display.getUploader().addOnFinishUploadHandler(onFinishUploadHandler);
-        display.getUploader().addOnCancelUploadHandler(onCancelUploadHandler);
+		reset();
+	}
+
+	SendMessageRequest sendReq;
+	protected ClickHandler sendClickHandler = new ClickHandler() {
+		public void onClick(ClickEvent event) {
+			if (validate()) {
+				sendReq = requestFactory.sendMessageRequest();
+				message = sendReq.create(SmtpMessage.class);
+				message.setFrom(display.getFromText().getText());
+				message.setSubject(display.getSubjectText().getText());
+				message.setText(display.getMessageHTML().getHTML());
+				message.setMessageAttachments(attachments);
+				message.setTo(emailTextToArray(display.getToText().getText()));
+				message.setCc(emailTextToArray(display.getCcText().getText()));
+				message.setBcc(emailTextToArray(display.getBccText().getText()));
+
+				if (type == Type.NEW) {
+					SendMessageAction sendAction = sendReq.create(SendMessageAction.class);
+//					SmtpMessage sm = sendReq.edit(message);
+					sendAction.setMessage(message);
+					sendReq.send(sendAction).fire(new Receiver<GenericResult>() {
+						@Override
+						public void onSuccess(GenericResult response) {
+							afterSend(response);
+						}
+					});
+				} else if (type == Type.FORWARD) {
+					SendForwardMessageRequest forwardReq = requestFactory.sendForwardMessageRequest();
+					SendForwardMessageAction forwardAction = forwardReq.create(SendForwardMessageAction.class);
+					forwardAction.setMessage(message);
+					forwardAction.setFolder(folder);
+					forwardAction.setUid(oldmessage.getUid());
+					forwardReq.send(forwardAction).fire(new Receiver<GenericResult>() {
+						@Override
+						public void onSuccess(GenericResult response) {
+							afterSend(response);
+						}
+					});
+				} else {
+					SendReplyMessageRequest replyReq = requestFactory.sendReplyMessageRequest();
+					SendReplyMessageAction replyAction = replyReq.create(SendReplyMessageAction.class);
+					replyAction.setMessage(message);
+					replyAction.setFolder(folder);
+					replyAction.setUid(oldmessage.getUid());
+					replyReq.send(replyAction).fire(new Receiver<GenericResult>() {
+						@Override
+						public void onSuccess(GenericResult response) {
+							afterSend(response);
+						}
+					});
+				}
+			}
+		}
+	};
+
+	private void afterSend(GenericResult response) {
+		if (response.isSuccess()) {
+			eventBus.fireEvent(new SentMessageEvent());
+			reset();
+		} else {
+			eventBus.fireEvent(new FlashEvent(response.getMessage(), 6000));
+		}
+		display.setLoading(false);
+	}
+	protected boolean validate() {
+		// Don't trust only in view validation
+		return display.validate() && display.getToText().getText().trim().length() > 0
+		        && EmailListValidator.isValidAddressList(display.getToText().getText())
+		        && EmailListValidator.isValidAddressList(display.getCcText().getText())
+		        && EmailListValidator.isValidAddressList(display.getBccText().getText());
+	}
+
+	protected ArrayList<String> emailTextToArray(String emails) {
+		ArrayList<String> cc = new ArrayList<String>();
+		for (String ccRaw : emails.split("[,;]+")) {
+			String ccRecip = ccRaw.trim();
+			if (ccRecip.length() > 0) {
+				cc.add(ccRaw.trim());
+			}
+		}
+		return cc;
+	}
+
+	public void revealDisplay(User user, ImapFolder folder, Message oldmessage, MessageDetails oldDetails,
+	        String mailto, Type type) {
+		this.reset();
+		this.oldmessage = oldmessage;
+		this.oldDetails = oldDetails;
+		this.folder = folder;
+		this.type = type;
+
+		// Depending on the type, we have to automatically fill the view inputs
+		display.getFromText().setText(user.getName());
+		display.getMessageHTML().setHTML(wrapMessage(oldmessage, oldDetails, type));
+		if (type.equals(Type.NEW) && mailto != null) {
+			display.getToText().setText(mailto);
+		} else if (type.equals(Type.FORWARD)) {
+			String subject = oldmessage.getSubject() != null ? oldmessage.getSubject().trim() : "";
+			if (!subject.toLowerCase().startsWith("fwd:")) {
+				subject = "Fwd: " + subject;
+			}
+			display.getSubjectText().setText(subject);
+		} else if (type.equals(Type.REPLY) || type.equals(Type.REPLY_ALL)) {
+			String subject = oldmessage.getSubject() != null ? oldmessage.getSubject().trim() : "";
+			if (!subject.toLowerCase().startsWith("re:")) {
+				subject = "Re: " + subject;
+			}
+			display.getSubjectText().setText(subject);
+			if (type.equals(Type.REPLY)) {
+				if (oldmessage.getReplyto() != null && !oldmessage.getFrom().contains(oldmessage.getReplyto())) {
+					display.getToText().setText(oldmessage.getReplyto());
+				} else {
+					display.getToText().setText(oldmessage.getFrom());
+				}
+			} else {
+				ArrayList<String> list = new ArrayList<String>();
+				if (oldmessage.getReplyto() != null && !oldmessage.getFrom().contains(oldmessage.getReplyto()))
+					list.add(oldmessage.getReplyto());
+				if (oldmessage.getTo() != null)
+					list.addAll(oldmessage.getTo());
+				if (oldmessage.getCc() != null)
+					list.addAll(oldmessage.getCc());
+				list = removeEmailFromList(list, user.getName());
+				display.getCcText().setText(Util.listToString(list));
+				if (oldmessage.getTo() != null) {
+					oldmessage.getTo().remove(user.getName());
+				}
+				display.getToText().setText(oldmessage.getFrom());
+			}
+		}
+		display.refresh();
+		display.getEditorFocus().setFocus(true);
+	}
 
-        reset();
+	public void revealDisplay(User user, ImapFolder folder, Message oldmessage, MessageDetails oldDetails, Type type) {
+		this.revealDisplay(user, folder, oldmessage, oldDetails, null, type);
 	}
 
+<<<<<<< HEAD
     protected ClickHandler sendClickHandler = new ClickHandler() {
         public void onClick(ClickEvent event) {
             if (validate()) {
@@ -821,6 +1011,118 @@ public class MessageSendActivity extends
 >>>>>>> 1. improve the inbox folder place.
 =======
 >>>>>>> 1. improve the inbox folder place.
+=======
+	public void revealDisplay(User user, String mailto) {
+		revealDisplay(user, null, null, null, mailto, Type.NEW);
+	}
+
+	/**
+	 * Bind the given user to the presenter
+	 * 
+	 * @param user
+	 */
+	public void revealDisplay(User user) {
+		revealDisplay(user, null, null, null, null, Type.NEW);
+	}
+
+	private static String generateHeader(Message message, Type type) {
+		String ret = "<br>";
+		if (message != null) {
+			if (type.equals(Type.FORWARD)) {
+				ret += "--------- Forwarded message --------- <br>";
+				ret += "From: " + message.getFrom().replaceAll("<", "&lt;").replaceAll(">", "&gt;") + "<br>";
+				ret += "Date: " + message.getReceivedDate() + "<br>";
+				ret += "Subject: " + message.getSubject() + "<br>";
+				ArrayList<String> to = new ArrayList<String>();
+				to.addAll(message.getTo());
+				to.addAll(message.getCc());
+				ret += "To: " + Util.listToString(to).replaceAll("<", "&lt;").replaceAll(">", "&gt;") + "<br>";
+			} else if (type.equals(Type.REPLY) || type.equals(Type.REPLY_ALL)) {
+				ret += "On " + message.getReceivedDate();
+				ret += ", " + message.getFrom().replaceAll("<", "&lt;").replaceAll(">", "&gt;");
+				ret += ". wrote:<br>";
+			}
+		}
+		return ret + "<br>";
+	}
+
+	public static String wrapMessage(Message message, MessageDetails details, Type type) {
+		String ret = "";
+		if (message != null) {
+			ret += generateHeader(message, type);
+		}
+		if (details != null && details.getText() != null && details.getText().length() > 0) {
+			ret += "<blockquote style='border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;'>";
+			ret += details.getText();
+			ret += "</blockquote>";
+		}
+		return ret;
+	}
+
+	protected ArrayList<String> removeEmailFromList(List<String> list, String email) {
+		ArrayList<String> ret = new ArrayList<String>();
+		String regex = ".*<?\\s*" + email.trim() + "\\s*>?\\s*";
+		for (String e : list) {
+			if (!e.matches(regex)) {
+				ret.add(e);
+			}
+		}
+		return ret;
+	}
+	/**
+	 * Reset everything
+	 */
+	private void reset() {
+		display.getUploader().reset();
+		display.getBccText().setText("");
+		display.getCcText().setText("");
+		display.getToText().setText("");
+		display.getSubjectText().setText("");
+		attachments.clear();
+		folder = null;
+		oldmessage = null;
+		type = Type.NEW;
+	}
+
+	/**
+	 * The Type for which the SendPresenter will get used
+	 */
+	public enum Type {
+		NEW, REPLY, REPLY_ALL, FORWARD
+	}
+
+	private OnFinishUploaderHandler onFinishUploadHandler = new OnFinishUploaderHandler() {
+		public void onFinish(IUploader uploader) {
+			if (uploader.getStatus() == Status.SUCCESS) {
+				String name = uploader.getInputName();
+				MessageAttachment attachment = new MessageAttachmentImpl();
+				attachment.setName(name);
+				attachments.add(attachment);
+				display.getSendEnable().setEnabled(true);
+			}
+		}
+	};
+
+	private OnStatusChangedHandler onStatusChangedHandler = new OnStatusChangedHandler() {
+		public void onStatusChanged(IUploader uploader) {
+			Status stat = display.getUploader().getStatus();
+			if (stat == Status.INPROGRESS)
+				display.getSendEnable().setEnabled(false);
+			else
+				display.getSendEnable().setEnabled(true);
+		}
+	};
+
+	private OnCancelUploaderHandler onCancelUploadHandler = new OnCancelUploaderHandler() {
+		public void onCancel(IUploader uploader) {
+			for (MessageAttachment attachment : attachments) {
+				if (attachment.getName().equals(uploader.getInputName()))
+					attachments.remove(attachment);
+			}
+		}
+	};
+
+>>>>>>> forward and reply message to use RF
 	public interface Displayable extends WidgetDisplayable {
 		public HasText getFromText();
 		public HasText getToText();

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/activity/WestActivity.java Thu Sep 12 03:11:57 2013
@@ -570,11 +570,16 @@ public class WestActivity extends Abstra
 =======
 	@Inject private HupaRequestFactory requestFactory;
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> Succeed creating new folder
 =======
 	
 	private FetchMessagesRequest messageRequest;
 >>>>>>> Solved the "java.lang.IllegalArgumentException: Attempting to edit an EntityProxy  previously edited by another RequestContext" and make GetMessageDetails work. Thanks to http://fascynacja.wordpress.com/tag/java-lang-illegalargumentexception-attempting-to-edit-an-entityproxy-previously-edited-by-another-requestcontext/
+=======
+
+	private FetchMessagesRequest messagesRequest;
+>>>>>>> forward and reply message to use RF
 
 	private User user;
 	private ImapFolder folder;
@@ -907,9 +912,12 @@ System.out.println("1111111"+response);
 				}
 
 				display.setLoadingMessage(true);
-				GetMessageDetailsRequest req = messageRequest.append(requestFactory.messageDetailsRequest());
+				if(messagesRequest == null){
+					messagesRequest = requestFactory.messagesRequest();
+				}
+				GetMessageDetailsRequest req = messagesRequest.append(requestFactory.messageDetailsRequest());
 				GetMessageDetailsAction action = req.create(GetMessageDetailsAction.class);
-//				ImapFolder imapFolder = req.edit(event.getFolder());
+				// ImapFolder imapFolder = req.edit(event.getFolder());
 				action.setFolder(event.getFolder());
 				action.setUid(message.getUid());
 				req.get(action).fire(new Receiver<GetMessageDetailsResult>() {
@@ -921,7 +929,8 @@ System.out.println("1111111"+response);
 							eventBus.fireEvent(new DecreaseUnseenEvent(user, folder));
 						}
 						display.setLoadingMessage(false);
-//						showMessage(user, folder, message, response.getMessageDetails());
+						// showMessage(user, folder, message,
+						// response.getMessageDetails());
 
 						placeController.goTo(messagePlaceProvider.get().with(user, folder, message,
 						        response.getMessageDetails()));
@@ -1098,12 +1107,26 @@ System.out.println("1111111"+response);
 				folder = (ImapFolder) tItem.getUserObject();
 =======
 				ImapFolder editableFolder = (ImapFolder) tItem.getUserObject();
-				messageRequest = requestFactory.messagesRequest();
-				folder = messageRequest.edit(editableFolder);
+				messagesRequest = requestFactory.messagesRequest();
+				folder = messagesRequest.edit(editableFolder);
 
 				// folder = (ImapFolder) tItem.getUserObject();
 				eventBus.fireEvent(new LoadMessagesEvent(user, folder));
+<<<<<<< HEAD
 >>>>>>> fix the frozen autobean issue, yet another occur
+=======
+			}
+
+		});
+		// FIXME why same?
+		display.getTree().addSelectionHandler(new SelectionHandler<TreeItem>() {
+
+			public void onSelection(SelectionEvent<TreeItem> event) {
+				tItem = (IMAPTreeItem) event.getSelectedItem();
+				if (tItem.isEdit())
+					return;
+				// folder = (ImapFolder) tItem.getUserObject();
+>>>>>>> forward and reply message to use RF
 				if (folder.getFullName().equalsIgnoreCase(user.getSettings().getInboxFolderName())) {
 					display.getDeleteEnable().setEnabled(false);
 					display.getRenameEnable().setEnabled(false);
@@ -1116,6 +1139,7 @@ System.out.println("1111111"+response);
 		});
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 >>>>>>> try to change fetch messages to use RF
 =======
 		//FIXME why another?
@@ -1160,6 +1184,8 @@ System.out.println("1111111"+response);
 		//
 		// });
 >>>>>>> try to get message details, problem is:
+=======
+>>>>>>> forward and reply message to use RF
 		display.getRenameClick().addClickHandler(new ClickHandler() {
 
 			public void onClick(ClickEvent event) {

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java Thu Sep 12 03:11:57 2013
@@ -388,6 +388,7 @@ public class AppGinModule extends Abstra
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 =======
 		bind(TopActivity.Displayable.class).to(TopView.class);
@@ -406,10 +407,14 @@ public class AppGinModule extends Abstra
 
 >>>>>>> Make chechsession and login work with RF, with refactoring fetch folders.
 		bind(PagingScrollTableRowDragController.class).in(Singleton.class);
+=======
+>>>>>>> forward and reply message to use RF
 
 		bind(WestActivity.class).in(Singleton.class);
 		bind(TopActivity.class).in(Singleton.class);
-		
+
+		bind(PagingScrollTableRowDragController.class).in(Singleton.class);
+		bind(MessageTableModel.class).in(Singleton.class);
 		// Places
 		bind(PlaceHistoryMapper.class).to(AppPlaceHistoryMapper.class).in(Singleton.class);
 

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java Thu Sep 12 03:11:57 2013
@@ -66,11 +66,12 @@ import org.apache.hupa.client.validation
 import org.apache.hupa.shared.SConsts;
 import org.apache.hupa.shared.Util;
 import org.apache.hupa.shared.data.MessageAttachmentImpl;
-import org.apache.hupa.shared.data.SMTPMessage;
+import org.apache.hupa.shared.data.SmtpMessageImpl;
 import org.apache.hupa.shared.domain.ImapFolder;
 import org.apache.hupa.shared.domain.Message;
 import org.apache.hupa.shared.domain.MessageAttachment;
 import org.apache.hupa.shared.domain.MessageDetails;
+import org.apache.hupa.shared.domain.SmtpMessage;
 import org.apache.hupa.shared.domain.User;
 import org.apache.hupa.shared.events.BackEvent;
 import org.apache.hupa.shared.events.ContactsUpdatedEvent;
@@ -156,7 +157,7 @@ public class MessageSendPresenter extend
 >>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
     private Message oldmessage;
     
-    protected SMTPMessage message = null;
+    protected SmtpMessage message = null;
     
     private MessageDetails oldDetails;
 
@@ -273,7 +274,7 @@ public class MessageSendPresenter extend
     protected ClickHandler sendClickHandler = new ClickHandler() {
         public void onClick(ClickEvent event) {
             if (validate()) {
-                message = new SMTPMessage();
+                message = new SmtpMessageImpl();
                 message.setFrom(display.getFromText().getText());
                 message.setSubject(display.getSubjectText().getText());
                 message.setText(display.getMessageHTML().getHTML());

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/IMAPMessagePlace.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/IMAPMessagePlace.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/IMAPMessagePlace.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/place/IMAPMessagePlace.java Thu Sep 12 03:11:57 2013
@@ -4,6 +4,7 @@ package org.apache.hupa.client.place;
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 =======
 import org.apache.hupa.client.activity.IMAPMessageActivity;
 >>>>>>> 1. improve the inbox folder place.
@@ -33,6 +34,8 @@ import org.apache.hupa.shared.domain.Ima
 =======
 =======
 >>>>>>> try to get message details, problem is:
+=======
+>>>>>>> forward and reply message to use RF
 import org.apache.hupa.shared.domain.ImapFolder;
 import org.apache.hupa.shared.domain.Message;
 import org.apache.hupa.shared.domain.MessageDetails;
@@ -51,12 +54,16 @@ import com.google.gwt.place.shared.Prefi
 public class IMAPMessagePlace extends Place {
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 	
 	private Message message;
 	private MessageDetails messageDetails;
 	private IMAPFolderProxy folder;
 =======
 	
+=======
+
+>>>>>>> forward and reply message to use RF
 	private Message message;
 	private MessageDetails messageDetails;
 <<<<<<< HEAD
@@ -71,7 +78,7 @@ public class IMAPMessagePlace extends Pl
 >>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
 	private User user;
 
-  public Message getMessage() {
+	public Message getMessage() {
 		return message;
 	}
 
@@ -103,6 +110,7 @@ public class IMAPMessagePlace extends Pl
 		return user;
 	}
 
+<<<<<<< HEAD
 @Prefix("message")
 >>>>>>> 1. improve the inbox folder place.
   public static class Tokenizer implements PlaceTokenizer<IMAPMessagePlace> {
@@ -149,6 +157,32 @@ public class IMAPMessagePlace extends Pl
       this.folder = folder;
       this.user = user;
       return this;
+=======
+	@Prefix("message")
+	public static class Tokenizer implements PlaceTokenizer<IMAPMessagePlace> {
+
+		@Override
+		public IMAPMessagePlace getPlace(String token) {
+			return new IMAPMessagePlace();
+		}
+
+		@Override
+		public String getToken(IMAPMessagePlace place) {
+			return String.valueOf(place.getMessage().getUid());
+		}
+	}
+
+	public String toString() {
+		return this.getClass().getName() + "->[IMAPMessage]";
+	}
+
+	public IMAPMessagePlace with(User user, ImapFolder folder, Message message, MessageDetails messageDetails) {
+		this.message = message;
+		this.messageDetails = messageDetails;
+		this.folder = folder;
+		this.user = user;
+		return this;
+>>>>>>> forward and reply message to use RF
 	}
 
 <<<<<<< HEAD

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/HupaRequestFactory.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/HupaRequestFactory.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/HupaRequestFactory.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/HupaRequestFactory.java Thu Sep 12 03:11:57 2013
@@ -108,5 +108,11 @@ public interface HupaRequestFactory exte
 >>>>>>> delete messages, make WestActivity Singleton
 =======
 	GetMessageDetailsRequest messageDetailsRequest();
+<<<<<<< HEAD
 >>>>>>> try to get message details, problem is:
+=======
+	SendMessageRequest sendMessageRequest();
+	SendForwardMessageRequest sendForwardMessageRequest();
+	SendReplyMessageRequest sendReplyMessageRequest();
+>>>>>>> forward and reply message to use RF
 }
\ No newline at end of file

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendForwardMessageRequest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendForwardMessageRequest.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendForwardMessageRequest.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendForwardMessageRequest.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,6 +18,8 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.client.rf;
 
 import org.apache.hupa.server.ioc.IocRfServiceLocator;

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendMessageRequest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendMessageRequest.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendMessageRequest.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendMessageRequest.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,6 +18,8 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.client.rf;
 
 import org.apache.hupa.server.ioc.IocRfServiceLocator;

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendReplyMessageRequest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendReplyMessageRequest.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendReplyMessageRequest.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/rf/SendReplyMessageRequest.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,6 +18,8 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.client.rf;
 
 import org.apache.hupa.server.ioc.IocRfServiceLocator;

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageTableModel.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageTableModel.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageTableModel.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/MessageTableModel.java Thu Sep 12 03:11:57 2013
@@ -284,14 +284,14 @@ public class MessageTableModel extends M
 			});
 			return;
 		}
-		FetchMessagesRequest req = requestFactory.messagesRequest();
-		final FetchMessagesAction action = req.create(FetchMessagesAction.class);
+		FetchMessagesRequest messagesRequest = requestFactory.messagesRequest();
+		final FetchMessagesAction action = messagesRequest.create(FetchMessagesAction.class);
 		// FIXME cannot put setFolder to the first place
 		action.setOffset(request.getNumRows());
 		action.setFolder(folder);
 		action.setSearchString(searchValue);
 		action.setStart(request.getStartRow());
-		req.fetch(action).fire(new Receiver<FetchMessagesResult>() {
+		messagesRequest.fetch(action).fire(new Receiver<FetchMessagesResult>() {
 
 			@Override
 			public void onFailure(ServerFailure error) {

Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/widgets/IMAPTreeItem.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/widgets/IMAPTreeItem.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/widgets/IMAPTreeItem.java (original)
+++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/widgets/IMAPTreeItem.java Thu Sep 12 03:11:57 2013
@@ -22,6 +22,7 @@ package org.apache.hupa.client.widgets;
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 import org.apache.hupa.shared.domain.ImapFolder;
 import org.apache.hupa.widgets.event.EditEvent;
 import org.apache.hupa.widgets.ui.EditableTreeItem;
@@ -189,6 +190,8 @@ import org.apache.hupa.shared.data.ImapF
 import org.apache.hupa.shared.proxy.ImapFolder;
 >>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
 =======
+=======
+>>>>>>> forward and reply message to use RF
 import org.apache.hupa.shared.domain.ImapFolder;
 >>>>>>> Allow client can use the domain entity interface.
 import org.apache.hupa.widgets.event.EditEvent;

Modified: james/hupa/trunk/client/src/test/java/org/apache/hupa/client/mvp/MessageSendPresenterTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/test/java/org/apache/hupa/client/mvp/MessageSendPresenterTest.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/client/src/test/java/org/apache/hupa/client/mvp/MessageSendPresenterTest.java (original)
+++ james/hupa/trunk/client/src/test/java/org/apache/hupa/client/mvp/MessageSendPresenterTest.java Thu Sep 12 03:11:57 2013
@@ -34,9 +34,10 @@ import org.apache.hupa.client.mvp.Messag
 import org.apache.hupa.shared.data.ImapFolderImpl;
 import org.apache.hupa.shared.data.MessageDetailsImpl;
 import org.apache.hupa.shared.data.MessageImpl;
-import org.apache.hupa.shared.data.SMTPMessage;
+import org.apache.hupa.shared.data.SmtpMessageImpl;
 import org.apache.hupa.shared.domain.Message;
 import org.apache.hupa.shared.domain.MessageDetails;
+import org.apache.hupa.shared.domain.SmtpMessage;
 import org.apache.hupa.shared.events.FlashEvent;
 import org.apache.hupa.shared.events.SentMessageEvent;
 import org.apache.hupa.shared.events.ServerStatusEvent;
@@ -81,7 +82,7 @@ public class MessageSendPresenterTest ex
     }
 
     public void testDispatchMessage() {
-        SMTPMessage message = new SMTPMessage();
+        SmtpMessage message = new SmtpMessageImpl();
         message.setFrom("from@dom.com");
         message.setTo(presenter.emailTextToArray("to@dom.com"));
         message.setText("message");

Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java Thu Sep 12 03:11:57 2013
@@ -57,8 +57,8 @@ import org.apache.hupa.server.utils.Mess
 import org.apache.hupa.server.utils.RegexPatterns;
 import org.apache.hupa.server.utils.SessionUtils;
 import org.apache.hupa.shared.SConsts;
-import org.apache.hupa.shared.data.SMTPMessage;
 import org.apache.hupa.shared.domain.MessageAttachment;
+import org.apache.hupa.shared.domain.SmtpMessage;
 import org.apache.hupa.shared.domain.User;
 import org.apache.hupa.shared.rpc.GenericResult;
 import org.apache.hupa.shared.rpc.SendMessage;
@@ -138,7 +138,7 @@ public abstract class AbstractSendMessag
      */
     protected Message createMessage(Session session, A action) throws AddressException, MessagingException {
         MimeMessage message = new MimeMessage(session);
-        SMTPMessage m = action.getMessage();
+        SmtpMessage m = action.getMessage();
         message.setFrom(new InternetAddress(m.getFrom()));
 
         userPreferences.addContact(m.getTo());
@@ -253,8 +253,8 @@ public abstract class AbstractSendMessag
      * @throws ActionException
      */
     protected void resetAttachments(A action) throws MessagingException, ActionException {
-        SMTPMessage msg = action.getMessage();
-        ArrayList<MessageAttachment> attachments = msg.getMessageAttachments();
+        SmtpMessage msg = action.getMessage();
+        List<MessageAttachment> attachments = msg.getMessageAttachments();
         if (attachments != null && ! attachments.isEmpty()) {
             for(MessageAttachment attach : attachments) 
                 SessionUtils.getSessionRegistry(logger, httpSessionProvider.get()).remove(attach.getName());

Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/ioc/GuiceServerModule.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/ioc/GuiceServerModule.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/ioc/GuiceServerModule.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/ioc/GuiceServerModule.java Thu Sep 12 03:11:57 2013
@@ -127,6 +127,12 @@ import org.apache.hupa.shared.data.Delet
 =======
 import org.apache.hupa.server.service.RenameFolderService;
 import org.apache.hupa.server.service.RenameFolderServiceImpl;
+import org.apache.hupa.server.service.SendForwardMessageService;
+import org.apache.hupa.server.service.SendForwardMessageServiceImpl;
+import org.apache.hupa.server.service.SendMessageBaseServiceImpl;
+import org.apache.hupa.server.service.SendMessageService;
+import org.apache.hupa.server.service.SendReplyMessageService;
+import org.apache.hupa.server.service.SendReplyMessageServiceImpl;
 import org.apache.hupa.shared.data.CreateFolderActionImpl;
 import org.apache.hupa.shared.data.DeleteFolderActionImpl;
 <<<<<<< HEAD
@@ -156,6 +162,7 @@ import org.apache.hupa.shared.data.Renam
 import org.apache.hupa.shared.data.SendForwardMessageActionImpl;
 import org.apache.hupa.shared.data.SendMessageActionImpl;
 import org.apache.hupa.shared.data.SendReplyMessageActionImpl;
+<<<<<<< HEAD
 import org.apache.hupa.shared.data.SetFlagActionImpl;
 import org.apache.hupa.shared.data.SmtpMessageImpl;
 =======
@@ -167,6 +174,9 @@ import org.apache.hupa.shared.data.Messa
 >>>>>>> try to get message details, problem is:
 import org.apache.hupa.shared.data.RenameFolderActionImpl;
 >>>>>>> delete and rename folder
+=======
+import org.apache.hupa.shared.data.SmtpMessageImpl;
+>>>>>>> forward and reply message to use RF
 import org.apache.hupa.shared.data.TagImpl;
 import org.apache.hupa.shared.data.UserImpl;
 import org.apache.hupa.shared.domain.CreateFolderAction;
@@ -211,6 +221,7 @@ import org.apache.hupa.shared.domain.Sen
 import org.apache.hupa.shared.domain.SetFlagAction;
 =======
 import org.apache.hupa.shared.domain.RenameFolderAction;
+<<<<<<< HEAD
 >>>>>>> delete and rename folder
 import org.apache.hupa.shared.domain.Settings;
 import org.apache.hupa.shared.domain.SmtpMessage;
@@ -234,6 +245,12 @@ import org.apache.hupa.shared.domain.Fet
 import org.apache.hupa.shared.domain.FetchMessagesResult;
 import org.apache.hupa.shared.domain.GenericResult;
 import org.apache.hupa.shared.domain.ImapFolder;
+=======
+import org.apache.hupa.shared.domain.SendForwardMessageAction;
+import org.apache.hupa.shared.domain.SendMessageAction;
+import org.apache.hupa.shared.domain.SendReplyMessageAction;
+import org.apache.hupa.shared.domain.SmtpMessage;
+>>>>>>> forward and reply message to use RF
 import org.apache.hupa.shared.domain.Settings;
 <<<<<<< HEAD
 >>>>>>> Make chechsession and login work with RF, with refactoring fetch folders.
@@ -303,6 +320,7 @@ public class GuiceServerModule extends A
 		bind(SendMessageAction.class).to(SendMessageActionImpl.class);
 		bind(SendForwardMessageAction.class).to(SendForwardMessageActionImpl.class);
 		bind(SendReplyMessageAction.class).to(SendReplyMessageActionImpl.class);
+<<<<<<< HEAD
 		bind(GetMessageRawAction.class).to(GetMessageRawActionImpl.class);
 		bind(GetMessageRawResult.class).to(GetMessageRawResultImpl.class);
 		bind(IdleAction.class).to(IdleActionImpl.class);
@@ -310,6 +328,8 @@ public class GuiceServerModule extends A
 		bind(LogoutUserAction.class).to(LogoutUserActionImpl.class);
 		bind(MoveMessageAction.class).to(MoveMessageActionImpl.class);
 		bind(SetFlagAction.class).to(SetFlagActionImpl.class);
+=======
+>>>>>>> forward and reply message to use RF
 		
 		
 =======
@@ -403,16 +423,26 @@ public class GuiceServerModule extends A
 >>>>>>> delete messages, make WestActivity Singleton
 =======
 		bind(GetMessageDetailsService.class).to(GetMessageDetailsServiceImpl.class);
+<<<<<<< HEAD
 >>>>>>> try to get message details, problem is:
+=======
+		bind(SendMessageService.class).to(SendMessageBaseServiceImpl.class);
+		bind(SendForwardMessageService.class).to(SendForwardMessageServiceImpl.class);
+		bind(SendReplyMessageService.class).to(SendReplyMessageServiceImpl.class);
+>>>>>>> forward and reply message to use RF
 		
 		bind(IMAPStoreCache.class).to(getIMAPStoreCacheClass()).in(Singleton.class);
 
 		bind(Log.class).toProvider(LogProvider.class).in(Singleton.class);
 		bind(Session.class).toProvider(JavaMailSessionProvider.class);
+<<<<<<< HEAD
 //		bind(HttpSession.class).toProvider(HttpSessionProvider.class);
 >>>>>>> Make chechsession and login work with RF, with refactoring fetch folders.
 		bind(Properties.class).toInstance(properties);
+=======
+>>>>>>> forward and reply message to use RF
         bind(UserPreferencesStorage.class).to(InImapUserPreferencesStorage.class);
+		bind(Properties.class).toInstance(properties);
 	}
 
 	protected Class<? extends IMAPStoreCache> getIMAPStoreCacheClass() {

Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/FetchMessagesBaseServiceImpl.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/FetchMessagesBaseServiceImpl.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/FetchMessagesBaseServiceImpl.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/FetchMessagesBaseServiceImpl.java Thu Sep 12 03:11:57 2013
@@ -70,8 +70,12 @@ public abstract class FetchMessagesBaseS
         User user = getUser();
         ImapFolder folder = action.getFolder();
         if (folder == null) {
+<<<<<<< HEAD
             folder = (ImapFolder)new ImapFolderImpl(user.getSettings().getInboxFolderName());
 >>>>>>> try to fetch messages, yet can not fire the login event in ModelTable such that just get a NullPointerException in it.
+=======
+            folder = new ImapFolderImpl(user.getSettings().getInboxFolderName());
+>>>>>>> forward and reply message to use RF
         }
         com.sun.mail.imap.IMAPFolder f = null;
         int start = action.getStart();

Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendForwardMessageService.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendForwardMessageService.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendForwardMessageService.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendForwardMessageService.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,6 +18,8 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.server.service;
 
 import org.apache.hupa.shared.domain.GenericResult;

Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendForwardMessageServiceImpl.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendForwardMessageServiceImpl.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendForwardMessageServiceImpl.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendForwardMessageServiceImpl.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,6 +18,8 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.server.service;
 
 import java.io.IOException;
@@ -32,7 +35,10 @@ import org.apache.hupa.server.preference
 import org.apache.hupa.server.utils.MessageUtils;
 import org.apache.hupa.shared.domain.SendForwardMessageAction;
 import org.apache.hupa.shared.domain.SendMessageAction;
+<<<<<<< HEAD
 import org.apache.hupa.shared.exception.HupaException;
+=======
+>>>>>>> forward and reply message to use RF
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
@@ -49,7 +55,11 @@ public class SendForwardMessageServiceIm
 
     @Override
     @SuppressWarnings({ "rawtypes", "unchecked" })
+<<<<<<< HEAD
     protected List getAttachments(SendMessageAction action) throws MessagingException, HupaException {
+=======
+    protected List getAttachments(SendMessageAction action) throws MessagingException {
+>>>>>>> forward and reply message to use RF
     	SendForwardMessageAction forwardAction = (SendForwardMessageAction)action;
         List<?> items = new ArrayList();
         IMAPStore store = cache.get(getUser());
@@ -59,7 +69,11 @@ public class SendForwardMessageServiceIm
             folder.open(Folder.READ_ONLY);
         }
         // Put the original attachments in the list 
+<<<<<<< HEAD
         Message msg = folder.getMessageByUID(forwardAction.getUid());
+=======
+        Message msg = folder.getMessageByUID(forwardAction.getReplyMessageUid());
+>>>>>>> forward and reply message to use RF
         try {
             items = MessageUtils.extractMessageAttachments(logger, msg.getContent());
             logger.debug("Forwarding a message, extracted: " + items.size() + " from original.");

Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendMessageBaseServiceImpl.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendMessageBaseServiceImpl.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendMessageBaseServiceImpl.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendMessageBaseServiceImpl.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,6 +18,8 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.server.service;
 
 import java.io.File;
@@ -44,6 +47,11 @@ import javax.mail.internet.MimeMessage;
 import javax.mail.internet.MimeMessage.RecipientType;
 import javax.mail.internet.MimeMultipart;
 
+<<<<<<< HEAD
+=======
+import net.customware.gwt.dispatch.shared.ActionException;
+
+>>>>>>> forward and reply message to use RF
 import org.apache.commons.fileupload.FileItem;
 import org.apache.hupa.server.FileItemRegistry;
 import org.apache.hupa.server.IMAPStoreCache;
@@ -58,7 +66,10 @@ import org.apache.hupa.shared.domain.Mes
 import org.apache.hupa.shared.domain.SendMessageAction;
 import org.apache.hupa.shared.domain.SmtpMessage;
 import org.apache.hupa.shared.domain.User;
+<<<<<<< HEAD
 import org.apache.hupa.shared.exception.HupaException;
+=======
+>>>>>>> forward and reply message to use RF
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
@@ -128,6 +139,10 @@ public class SendMessageBaseServiceImpl 
      * @return message
      * @throws AddressException
      * @throws MessagingException
+<<<<<<< HEAD
+=======
+     * @throws ActionException
+>>>>>>> forward and reply message to use RF
      */
     protected Message createMessage(Session session, SendMessageAction action) throws AddressException, MessagingException {
         MimeMessage message = new MimeMessage(session);
@@ -141,8 +156,12 @@ public class SendMessageBaseServiceImpl 
         message.setRecipients(RecipientType.TO, MessageUtils.getRecipients(m.getTo()));
         message.setRecipients(RecipientType.CC, MessageUtils.getRecipients(m.getCc()));
         message.setRecipients(RecipientType.BCC, MessageUtils.getRecipients(m.getBcc()));
+<<<<<<< HEAD
 //        message.setSubject(MessageUtils.encodeTexts(m.getSubject()));
         message.setSubject(m.getSubject(), "utf-8");
+=======
+        message.setSubject(MessageUtils.encodeTexts(m.getSubject()));
+>>>>>>> forward and reply message to use RF
         updateHeaders(message, action);
         message.saveChanges();
         return message;
@@ -172,10 +191,17 @@ public class SendMessageBaseServiceImpl 
      * @param action the action
      * @return filledMessage
      * @throws MessagingException
+<<<<<<< HEAD
      * @throws IOException 
 	 * @throws HupaException 
      */
     protected Message fillBody(Message message, SendMessageAction action) throws MessagingException, IOException, HupaException {
+=======
+     * @throws ActionException
+     * @throws IOException 
+     */
+    protected Message fillBody(Message message, SendMessageAction action) throws MessagingException, IOException {
+>>>>>>> forward and reply message to use RF
 
         String html = restoreInlineLinks(action.getMessage().getText());
         
@@ -210,11 +236,18 @@ public class SendMessageBaseServiceImpl 
      * 
      * @param action
      * @return A list of stored attachments
+<<<<<<< HEAD
      * @throws HupaException 
      */
     @SuppressWarnings("rawtypes")
     protected List getAttachments(SendMessageAction action) throws MessagingException, HupaException {
         FileItemRegistry registry = SessionUtils.getSessionRegistry(logger, httpSessionProvider.get());
+=======
+     */
+    @SuppressWarnings("rawtypes")
+    protected List getAttachments(SendMessageAction action) throws MessagingException {
+        FileItemRegistry registry = SessionUtils.getSessionRegistry(logger, httpSession);
+>>>>>>> forward and reply message to use RF
         List<MessageAttachment> attachments = action.getMessage().getMessageAttachments();
         
         ArrayList<FileItem> items = new ArrayList<FileItem>();
@@ -241,7 +274,11 @@ public class SendMessageBaseServiceImpl 
         List<MessageAttachment> attachments = msg.getMessageAttachments();
         if (attachments != null && ! attachments.isEmpty()) {
             for(MessageAttachment attach : attachments) 
+<<<<<<< HEAD
                 SessionUtils.getSessionRegistry(logger, httpSessionProvider.get()).remove(attach.getName());
+=======
+                SessionUtils.getSessionRegistry(logger, httpSession).remove(attach.getName());
+>>>>>>> forward and reply message to use RF
         }
     }
     

Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendMessageService.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendMessageService.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendMessageService.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendMessageService.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,6 +18,8 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.server.service;
 
 import org.apache.hupa.shared.domain.GenericResult;

Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendReplyMessageService.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendReplyMessageService.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendReplyMessageService.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendReplyMessageService.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,6 +18,8 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.server.service;
 
 import org.apache.hupa.shared.domain.GenericResult;

Modified: james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendReplyMessageServiceImpl.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendReplyMessageServiceImpl.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendReplyMessageServiceImpl.java (original)
+++ james/hupa/trunk/server/src/main/java/org/apache/hupa/server/service/SendReplyMessageServiceImpl.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,6 +18,8 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.server.service;
 
 import java.io.IOException;
@@ -32,7 +35,10 @@ import org.apache.hupa.server.preference
 import org.apache.hupa.server.utils.MessageUtils;
 import org.apache.hupa.shared.domain.SendMessageAction;
 import org.apache.hupa.shared.domain.SendReplyMessageAction;
+<<<<<<< HEAD
 import org.apache.hupa.shared.exception.HupaException;
+=======
+>>>>>>> forward and reply message to use RF
 
 import com.google.inject.Inject;
 import com.google.inject.name.Named;
@@ -49,7 +55,11 @@ public class SendReplyMessageServiceImpl
 
     @Override
     @SuppressWarnings({ "rawtypes", "unchecked" })
+<<<<<<< HEAD
     protected List getAttachments(SendMessageAction action) throws MessagingException, HupaException {
+=======
+    protected List getAttachments(SendMessageAction action) throws MessagingException {
+>>>>>>> forward and reply message to use RF
     	SendReplyMessageAction replyAction = (SendReplyMessageAction)action;
         List<?> items = new ArrayList();
         IMAPStore store = cache.get(getUser());
@@ -60,7 +70,11 @@ public class SendReplyMessageServiceImpl
         }
 
         // Only original inline images have to be added to the list 
+<<<<<<< HEAD
         Message msg = folder.getMessageByUID(replyAction.getUid());
+=======
+        Message msg = folder.getMessageByUID(replyAction.getReplyMessageUid());
+>>>>>>> forward and reply message to use RF
         try {
             items = MessageUtils.extractInlineImages(logger, msg.getContent());
             if (items.size() > 0)

Modified: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/AbtractSendMessageHandlerTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/AbtractSendMessageHandlerTest.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/AbtractSendMessageHandlerTest.java (original)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/AbtractSendMessageHandlerTest.java Thu Sep 12 03:11:57 2013
@@ -29,7 +29,7 @@ import org.apache.hupa.server.mock.MockI
 import org.apache.hupa.server.utils.MessageUtils;
 import org.apache.hupa.server.utils.SessionUtils;
 import org.apache.hupa.server.utils.TestUtils;
-import org.apache.hupa.shared.data.SMTPMessage;
+import org.apache.hupa.shared.domain.SmtpMessage;
 import org.apache.hupa.shared.rpc.SendMessage;
 
 import com.sun.mail.imap.IMAPStore;
@@ -99,7 +99,7 @@ public class AbtractSendMessageHandlerTe
         IMAPStore store = storeCache.get(testUser);
         MockIMAPFolder sentbox = (MockIMAPFolder) store.getFolder(MockIMAPStore.MOCK_SENT_FOLDER);
         
-        SMTPMessage smtpmsg = TestUtils.createMockSMTPMessage(SessionUtils.getSessionRegistry(logger, httpSession), 2);
+        SmtpMessage smtpmsg = TestUtils.createMockSMTPMessage(SessionUtils.getSessionRegistry(logger, httpSession), 2);
         SendMessage action = new SendMessage(smtpmsg);
         
         Message message = sendMessageHandler.createMessage(session, action);
@@ -130,7 +130,7 @@ public class AbtractSendMessageHandlerTe
         IMAPStore store = storeCache.get(testUser);
         MockIMAPFolder sentbox = (MockIMAPFolder) store.getFolder(MockIMAPStore.MOCK_SENT_FOLDER);
         
-        SMTPMessage smtpmsg = TestUtils.createMockSMTPMessage(SessionUtils.getSessionRegistry(logger, httpSession), 2);
+        SmtpMessage smtpmsg = TestUtils.createMockSMTPMessage(SessionUtils.getSessionRegistry(logger, httpSession), 2);
         SendMessage action = new SendMessage(smtpmsg);
         
         assertTrue(sentbox.getMessages().length == 0);

Modified: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FowardMessageHandlerTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FowardMessageHandlerTest.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FowardMessageHandlerTest.java (original)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/FowardMessageHandlerTest.java Thu Sep 12 03:11:57 2013
@@ -27,7 +27,7 @@ import org.apache.hupa.server.mock.MockI
 import org.apache.hupa.server.mock.MockIMAPStore;
 import org.apache.hupa.server.utils.TestUtils;
 import org.apache.hupa.shared.data.ImapFolderImpl;
-import org.apache.hupa.shared.data.SMTPMessage;
+import org.apache.hupa.shared.domain.SmtpMessage;
 import org.apache.hupa.shared.rpc.ForwardMessage;
 
 import com.sun.mail.imap.IMAPStore;
@@ -52,7 +52,7 @@ public class FowardMessageHandlerTest ex
         assertNotNull(message);
         
         ImapFolderImpl ifolder = new ImapFolderImpl(inbox.getFullName());
-        SMTPMessage smtpmsg = TestUtils.createMockSMTPMessage(registry, 2);
+        SmtpMessage smtpmsg = TestUtils.createMockSMTPMessage(registry, 2);
         ForwardMessage action = new ForwardMessage(smtpmsg, ifolder, msgUid);
         
         message = forwardMessageHandler.createMessage(session, action);

Modified: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/ReplyMessageHandlerTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/ReplyMessageHandlerTest.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/ReplyMessageHandlerTest.java (original)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/handler/ReplyMessageHandlerTest.java Thu Sep 12 03:11:57 2013
@@ -27,7 +27,7 @@ import org.apache.hupa.server.mock.MockI
 import org.apache.hupa.server.utils.SessionUtils;
 import org.apache.hupa.server.utils.TestUtils;
 import org.apache.hupa.shared.data.ImapFolderImpl;
-import org.apache.hupa.shared.data.SMTPMessage;
+import org.apache.hupa.shared.domain.SmtpMessage;
 import org.apache.hupa.shared.rpc.ReplyMessage;
 
 import com.sun.mail.imap.IMAPStore;
@@ -64,7 +64,7 @@ public class ReplyMessageHandlerTest ext
         assertEquals(expected, TestUtils.summaryzeContent(message).toString());
         
         // Create a reply user action with an uploaded message
-        SMTPMessage smtpmsg = TestUtils.createMockSMTPMessage(registry, 1);
+        SmtpMessage smtpmsg = TestUtils.createMockSMTPMessage(registry, 1);
         ReplyMessage action = new ReplyMessage(smtpmsg, new ImapFolderImpl(inbox.getFullName()), msgUid);
         
         message = reMsgHndl.createMessage(session, action);

Modified: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java (original)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InImapUserPreferencesStorageTest.java Thu Sep 12 03:11:57 2013
@@ -70,6 +70,7 @@ import org.apache.hupa.server.guice.prov
 import org.apache.hupa.server.utils.SessionUtils;
 import org.apache.hupa.server.utils.TestUtils;
 import org.apache.hupa.shared.data.ImapFolderImpl;
+<<<<<<< HEAD
 import org.apache.hupa.shared.data.SMTPMessage;
 <<<<<<< HEAD
 <<<<<<< HEAD
@@ -80,6 +81,9 @@ import org.apache.hupa.shared.rpc.Contac
 >>>>>>> first commit
 =======
 >>>>>>> constantly changed by manolo
+=======
+import org.apache.hupa.shared.domain.SmtpMessage;
+>>>>>>> forward and reply message to use RF
 import org.apache.hupa.shared.rpc.FetchMessages;
 import org.apache.hupa.shared.rpc.FetchMessagesResult;
 import org.apache.hupa.shared.rpc.SendMessage;
@@ -265,7 +269,7 @@ public class InImapUserPreferencesStorag
         assertEquals(0, userPreferences.getContacts().length);
 
         // Send an email to only one email
-        SMTPMessage smtpmsg = TestUtils.createMockSMTPMessage(SessionUtils.getSessionRegistry(logger, httpSession), 2);
+        SmtpMessage smtpmsg = TestUtils.createMockSMTPMessage(SessionUtils.getSessionRegistry(logger, httpSession), 2);
         smtpmsg.setFrom(testUser.getName());
         smtpmsg.setTo(new ArrayList<String>(Arrays.asList(testUser.getName())));
         smtpmsg.setCc(new ArrayList<String>());

Modified: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InSessionUserPreferencesStorageTest.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InSessionUserPreferencesStorageTest.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InSessionUserPreferencesStorageTest.java (original)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/preferences/InSessionUserPreferencesStorageTest.java Thu Sep 12 03:11:57 2013
@@ -25,7 +25,7 @@ import org.apache.hupa.server.handler.Fe
 import org.apache.hupa.server.utils.SessionUtils;
 import org.apache.hupa.server.utils.TestUtils;
 import org.apache.hupa.shared.data.ImapFolderImpl;
-import org.apache.hupa.shared.data.SMTPMessage;
+import org.apache.hupa.shared.domain.SmtpMessage;
 import org.apache.hupa.shared.rpc.FetchFolders;
 import org.apache.hupa.shared.rpc.FetchMessages;
 import org.apache.hupa.shared.rpc.FetchMessagesResult;
@@ -54,7 +54,7 @@ public class InSessionUserPreferencesSto
     public void testSendMessagesAddContactsToList() throws Exception {
         assertEquals(0, userPreferences.getContacts().length);
         
-        SMTPMessage smtpmsg = TestUtils.createMockSMTPMessage(SessionUtils.getSessionRegistry(logger, httpSession), 2);
+        SmtpMessage smtpmsg = TestUtils.createMockSMTPMessage(SessionUtils.getSessionRegistry(logger, httpSession), 2);
         SendMessage action = new SendMessage(smtpmsg);
         sendMessageHandler.execute(action, null);
         

Modified: james/hupa/trunk/server/src/test/java/org/apache/hupa/server/utils/TestUtils.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/server/src/test/java/org/apache/hupa/server/utils/TestUtils.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/server/src/test/java/org/apache/hupa/server/utils/TestUtils.java (original)
+++ james/hupa/trunk/server/src/test/java/org/apache/hupa/server/utils/TestUtils.java Thu Sep 12 03:11:57 2013
@@ -56,6 +56,7 @@ import org.apache.hupa.shared.domain.Smt
 import org.apache.hupa.server.handler.AbstractSendMessageHandler;
 import org.apache.hupa.server.mock.MockIMAPFolder;
 import org.apache.hupa.shared.data.MessageAttachmentImpl;
+<<<<<<< HEAD
 import org.apache.hupa.shared.data.SMTPMessage;
 <<<<<<< HEAD
 <<<<<<< HEAD
@@ -65,6 +66,11 @@ import org.apache.hupa.shared.data.SMTPM
 =======
 import org.apache.hupa.shared.domain.MessageAttachment;
 >>>>>>> try to get message details, problem is:
+=======
+import org.apache.hupa.shared.data.SmtpMessageImpl;
+import org.apache.hupa.shared.domain.MessageAttachment;
+import org.apache.hupa.shared.domain.SmtpMessage;
+>>>>>>> forward and reply message to use RF
 
 import com.sun.mail.imap.IMAPStore;
 
@@ -204,6 +210,7 @@ public class TestUtils extends TestCase 
      */
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
     public static SmtpMessage createMockSMTPMessage(FileItemRegistry registry, int nfiles) throws AddressException, MessagingException, IOException {
 =======
     public static SMTPMessage createMockSMTPMessage(FileItemRegistry registry, int nfiles) throws AddressException, MessagingException, IOException {
@@ -211,6 +218,9 @@ public class TestUtils extends TestCase 
 =======
     public static SMTPMessage createMockSMTPMessage(FileItemRegistry registry, int nfiles) throws AddressException, MessagingException, IOException {
 >>>>>>> first commit
+=======
+    public static SmtpMessage createMockSMTPMessage(FileItemRegistry registry, int nfiles) throws AddressException, MessagingException, IOException {
+>>>>>>> forward and reply message to use RF
         ArrayList<MessageAttachment> attachments = new ArrayList<MessageAttachment>();
 
         for (int i = 1; i <= nfiles; i++) {
@@ -240,6 +250,7 @@ public class TestUtils extends TestCase 
 
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
         SmtpMessage smtpMessage = new SmtpMessageImpl();
 =======
         SMTPMessage smtpMessage = new SMTPMessage();
@@ -247,6 +258,9 @@ public class TestUtils extends TestCase 
 =======
         SMTPMessage smtpMessage = new SMTPMessage();
 >>>>>>> first commit
+=======
+        SmtpMessage smtpMessage = new SmtpMessageImpl();
+>>>>>>> forward and reply message to use RF
         smtpMessage.setFrom("Test user <fr...@dom.com>");
         smtpMessage.setTo(new ArrayList<String>(Arrays.asList("to@dom.com")));
         smtpMessage.setCc(new ArrayList<String>(Arrays.asList("cc@dom.com")));

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/MessageImpl.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/MessageImpl.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/MessageImpl.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/MessageImpl.java Thu Sep 12 03:11:57 2013
@@ -29,7 +29,7 @@ import org.apache.hupa.shared.domain.Tag
  * 
  *
  */
-public class MessageImpl extends AbstractMessage implements Message{
+public class MessageImpl extends AbstractMessageImpl implements Message{
 
     private long uid;
     private List<IMAPFlag> flags;

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendForwardMessageActionImpl.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendForwardMessageActionImpl.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendForwardMessageActionImpl.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendForwardMessageActionImpl.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,6 +18,8 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.shared.data;
 
 import org.apache.hupa.shared.domain.ImapFolder;
@@ -50,7 +53,11 @@ public class SendForwardMessageActionImp
 	}
 
 	@Override
+<<<<<<< HEAD
 	public long getUid() {
+=======
+	public long getReplyMessageUid() {
+>>>>>>> forward and reply message to use RF
 		return uid;
 	}
 
@@ -68,6 +75,7 @@ public class SendForwardMessageActionImp
 	public String getReferences() {
 		return references;
 	}
+<<<<<<< HEAD
 
 	@Override
 	public void setInReplyTo(String inReplyTo) {
@@ -78,4 +86,15 @@ public class SendForwardMessageActionImp
 	public void setReferences(String references) {
 		this.references = references;
 	}
+=======
+	@Override
+    public void setInReplyTo(String inReplyTo) {
+		this.inReplyTo = inReplyTo;
+    }
+
+	@Override
+    public void setReferences(String references) {
+		this.references = references;
+    }
+>>>>>>> forward and reply message to use RF
 }

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendMessageActionImpl.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendMessageActionImpl.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendMessageActionImpl.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendMessageActionImpl.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,6 +18,8 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.shared.data;
 
 import org.apache.hupa.shared.domain.SmtpMessage;

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendReplyMessageActionImpl.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendReplyMessageActionImpl.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendReplyMessageActionImpl.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/data/SendReplyMessageActionImpl.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,6 +18,8 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.shared.data;
 
 import org.apache.hupa.shared.domain.ImapFolder;

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendForwardMessageAction.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendForwardMessageAction.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendForwardMessageAction.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendForwardMessageAction.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,19 +18,33 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.shared.domain;
 
 import com.google.web.bindery.requestfactory.shared.ProxyFor;
 
 @ProxyFor(SendForwardMessageAction.class)
+<<<<<<< HEAD
 public interface SendForwardMessageAction extends SendMessageAction {
 
 	ImapFolder getFolder();
 
 	long getUid();
+=======
+public interface SendForwardMessageAction extends SendMessageAction{
+
+	ImapFolder getFolder();
+
+	long getReplyMessageUid();
+>>>>>>> forward and reply message to use RF
 
 	void setFolder(ImapFolder folder);
 
 	void setUid(long uid);
+<<<<<<< HEAD
+=======
+	
+>>>>>>> forward and reply message to use RF
 
 }

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendMessageAction.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendMessageAction.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendMessageAction.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendMessageAction.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,6 +18,8 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.shared.domain;
 
 import com.google.web.bindery.requestfactory.shared.ProxyFor;

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendReplyMessageAction.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendReplyMessageAction.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendReplyMessageAction.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/domain/SendReplyMessageAction.java Thu Sep 12 03:11:57 2013
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
 /****************************************************************
  * Licensed to the Apache Software Foundation (ASF) under one   *
  * or more contributor license agreements.  See the NOTICE file *
@@ -17,6 +18,8 @@
  * under the License.                                           *
  ****************************************************************/
 
+=======
+>>>>>>> forward and reply message to use RF
 package org.apache.hupa.shared.domain;
 
 import com.google.web.bindery.requestfactory.shared.ProxyFor;

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ForwardMessage.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ForwardMessage.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ForwardMessage.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ForwardMessage.java Thu Sep 12 03:11:57 2013
@@ -22,6 +22,7 @@ package org.apache.hupa.shared.rpc;
 
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 import org.apache.hupa.shared.data.SMTPMessage;
 <<<<<<< HEAD
 <<<<<<< HEAD
@@ -40,6 +41,10 @@ import org.apache.hupa.shared.proxy.Imap
 =======
 import org.apache.hupa.shared.domain.ImapFolder;
 >>>>>>> Allow client can use the domain entity interface.
+=======
+import org.apache.hupa.shared.domain.ImapFolder;
+import org.apache.hupa.shared.domain.SmtpMessage;
+>>>>>>> forward and reply message to use RF
 
 public class ForwardMessage extends SendMessage {
 
@@ -66,8 +71,12 @@ public class ForwardMessage extends Send
     private String inReplyTo;
     private String references;
 
+<<<<<<< HEAD
     public ForwardMessage(SMTPMessage msg, ImapFolder folder, long uid) {
 >>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
+=======
+    public ForwardMessage(SmtpMessage msg, ImapFolder folder, long uid) {
+>>>>>>> forward and reply message to use RF
         super(msg);
         this.uid = uid;
         this.folder = folder;

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ReplyMessage.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ReplyMessage.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ReplyMessage.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/ReplyMessage.java Thu Sep 12 03:11:57 2013
@@ -22,6 +22,7 @@ package org.apache.hupa.shared.rpc;
 
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
 import org.apache.hupa.shared.data.SMTPMessage;
 <<<<<<< HEAD
 <<<<<<< HEAD
@@ -40,6 +41,10 @@ import org.apache.hupa.shared.proxy.Imap
 =======
 import org.apache.hupa.shared.domain.ImapFolder;
 >>>>>>> Allow client can use the domain entity interface.
+=======
+import org.apache.hupa.shared.domain.ImapFolder;
+import org.apache.hupa.shared.domain.SmtpMessage;
+>>>>>>> forward and reply message to use RF
 
 public class ReplyMessage extends ForwardMessage {
 
@@ -49,6 +54,7 @@ public class ReplyMessage extends Forwar
 <<<<<<< HEAD
 <<<<<<< HEAD
 <<<<<<< HEAD
+<<<<<<< HEAD
     public ReplyMessage(SMTPMessage msg, IMAPFolderProxy folder, long uid) {
 =======
     public ReplyMessage(SMTPMessage msg, IMAPFolder folder, long uid) {
@@ -59,6 +65,9 @@ public class ReplyMessage extends Forwar
 =======
     public ReplyMessage(SMTPMessage msg, ImapFolder folder, long uid) {
 >>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
+=======
+    public ReplyMessage(SmtpMessage msg, ImapFolder folder, long uid) {
+>>>>>>> forward and reply message to use RF
         super(msg, folder, uid);
     }
 

Modified: james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/SendMessage.java
URL: http://svn.apache.org/viewvc/james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/SendMessage.java?rev=1522172&r1=1522171&r2=1522172&view=diff
==============================================================================
--- james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/SendMessage.java (original)
+++ james/hupa/trunk/shared/src/main/java/org/apache/hupa/shared/rpc/SendMessage.java Thu Sep 12 03:11:57 2013
@@ -24,15 +24,15 @@ import java.io.Serializable;
 
 import net.customware.gwt.dispatch.shared.Action;
 
-import org.apache.hupa.shared.data.SMTPMessage;
+import org.apache.hupa.shared.domain.SmtpMessage;
 
 public class SendMessage implements Action<GenericResult>, Serializable {
     
     private static final long serialVersionUID = 973668124208945015L;
 
-    private SMTPMessage msg;
+    private SmtpMessage msg;
     
-    public SendMessage(SMTPMessage msg) {
+    public SendMessage(SmtpMessage msg) {
         this.msg = msg;
     }
     
@@ -40,11 +40,11 @@ public class SendMessage implements Acti
         
     }
     
-    public SMTPMessage getMessage() {
+    public SmtpMessage getMessage() {
         return msg;
     }
     
-    public void setMessage(SMTPMessage msg) {
+    public void setMessage(SmtpMessage msg) {
         this.msg = msg;
     }
     



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