You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by no...@apache.org on 2009/09/04 11:00:56 UTC
svn commit: r811292 - in /labs/hupa:
client/src/main/java/org/apache/hupa/client/mvp/
server/src/main/java/org/apache/hupa/server/guice/
server/src/main/java/org/apache/hupa/server/handler/
shared/src/main/java/org/apache/hupa/shared/data/ shared/src/m...
Author: norman
Date: Fri Sep 4 09:00:54 2009
New Revision: 811292
URL: http://svn.apache.org/viewvc?rev=811292&view=rev
Log:
Rewrite some RPC stuff not only send the uid of the message over the wire ( speed improvements )
Only use the "sent" folder if it exists or could get created
Added:
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java
- copied, changed from r810932, labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ExposeMessageHandler.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/AbstractMessage.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/MessageDetails.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java
Removed:
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ExposeMessageHandler.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/IMAPMessage.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/MessageContent.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/MessageHeader.java
Modified:
labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPFolderView.java
labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java
labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MainView.java
labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java
labs/hupa/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/FetchMessagesHandler.java
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java
labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/Message.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/DeleteMessageEvent.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ExpandMessageEvent.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ForwardMessageEvent.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/MessagesReceivedEvent.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/MoveMessageEvent.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ReplyMessageEvent.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ExposeMessage.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ExposeMessageResult.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/FetchMessagesResult.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ForwardMessage.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ReplyMessage.java
labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/SendMessage.java
Modified: labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPFolderView.java
URL: http://svn.apache.org/viewvc/labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPFolderView.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPFolderView.java (original)
+++ labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPFolderView.java Fri Sep 4 09:00:54 2009
@@ -34,9 +34,9 @@
import org.apache.hupa.client.widgets.IMAPTreeItem;
import org.apache.hupa.client.widgets.Loading;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPMessage;
+import org.apache.hupa.shared.data.Message;
import org.apache.hupa.shared.data.User;
-import org.apache.hupa.shared.data.IMAPMessage.IMAPFlag;
+import org.apache.hupa.shared.data.Message.IMAPFlag;
import org.apache.hupa.shared.events.LoginEvent;
import org.apache.hupa.shared.events.LoginEventHandler;
import org.apache.hupa.shared.events.LogoutEvent;
@@ -228,7 +228,7 @@
@Override
public void onDrop(DragContext context) {
IMAPTreeItem oldTreeItem = (IMAPTreeItem)folderTree.getSelectedItem();
- IMAPMessage message = (IMAPMessage)controller.getDragValue();
+ Message message = (Message)controller.getDragValue();
if (message.getFlags().contains(IMAPFlag.SEEN) == false) {
oldTreeItem.decreaseUnseenMessageCount();
item.increaseUnseenMessageCount();
Modified: labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java (original)
+++ labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListPresenter.java Fri Sep 4 09:00:54 2009
@@ -31,7 +31,7 @@
import org.apache.hupa.client.MyAsyncCallback;
import org.apache.hupa.client.widgets.HasDialog;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPMessage;
+import org.apache.hupa.shared.data.Message;
import org.apache.hupa.shared.data.User;
import org.apache.hupa.shared.events.DecreaseUnseenEvent;
import org.apache.hupa.shared.events.ExpandMessageEvent;
@@ -64,11 +64,11 @@
public void removeTableListener(TableListener listener) ;
public void setPostFetchMessageCount(int count);
public HasClickHandlers getNewClick();
- public IMAPMessage getData(int rowIndex);
+ public Message getData(int rowIndex);
public HasClickHandlers getDeleteClick();
public void reloadData(User user, IMAPFolder folder,String searchValue);
- public void removeMessages(ArrayList<IMAPMessage> messages);
- public ArrayList<IMAPMessage> getSelectedMessages();
+ public void removeMessages(ArrayList<Message> messages);
+ public ArrayList<Message> getSelectedMessages();
public void reset();
public HasDialog getConfirmDialog();
public HasClickHandlers getConfirmDialogClick();
@@ -104,7 +104,7 @@
registerHandler(eventBus.addHandler(MoveMessageEvent.TYPE, new MoveMessageEventHandler() {
public void onMoveMessageHandler(MoveMessageEvent event) {
- final IMAPMessage message = event.getMessage();
+ final Message message = event.getMessage();
dispatcher.execute(new MoveMessage(event.getUser().getSessionId(),event.getOldFolder(),event.getNewFolder(),message.getUid()), new AsyncCallback<MoveMessageResult>() {
public void onFailure(Throwable caught) {
@@ -112,7 +112,7 @@
}
public void onSuccess(MoveMessageResult result) {
- ArrayList<IMAPMessage> messageArray = new ArrayList<IMAPMessage>();
+ ArrayList<Message> messageArray = new ArrayList<Message>();
messageArray.add(message);
display.removeMessages(messageArray);
}
@@ -172,7 +172,7 @@
}
private void deleteMessages() {
- final ArrayList<IMAPMessage> selectedMessages = new ArrayList<IMAPMessage>(display.getSelectedMessages());
+ final ArrayList<Message> selectedMessages = new ArrayList<Message>(display.getSelectedMessages());
ArrayList<Long> uids = new ArrayList<Long>();
for (int i = 0; i < selectedMessages.size(); i++) {
uids.add(selectedMessages.get(i).getUid());
@@ -228,7 +228,7 @@
public void onCellClicked(SourcesTableEvents sender, int row,
int cell) {
- IMAPMessage message = display.getData(row);
+ Message message = display.getData(row);
eventBus.fireEvent(new ExpandMessageEvent(user,folder,message));
}
Modified: labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java
URL: http://svn.apache.org/viewvc/labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java (original)
+++ labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessageListView.java Fri Sep 4 09:00:54 2009
@@ -38,9 +38,9 @@
import org.apache.hupa.client.widgets.PagingOptions;
import org.apache.hupa.client.widgets.DragRefetchPagingScrollTable.DragHandlerFactory;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPMessage;
+import org.apache.hupa.shared.data.Message;
import org.apache.hupa.shared.data.User;
-import org.apache.hupa.shared.data.IMAPMessage.IMAPFlag;
+import org.apache.hupa.shared.data.Message.IMAPFlag;
import org.apache.hupa.shared.events.MessagesReceivedEvent;
import org.apache.hupa.shared.rpc.FetchMessages;
import org.apache.hupa.shared.rpc.FetchMessagesResult;
@@ -101,8 +101,8 @@
private IMAPFolder folder;
private String searchValue;
private PagingOptions options;
- private DragRefetchPagingScrollTable<IMAPMessage> mailTable;
- private CachedTableModel<IMAPMessage> cTableModel = new CachedTableModel<IMAPMessage>(new IMAPMessageTableModel());
+ private DragRefetchPagingScrollTable<Message> mailTable;
+ private CachedTableModel<Message> cTableModel = new CachedTableModel<Message>(new IMAPMessageTableModel());
private EventBus bus;
private FixedWidthGrid dataTable = createDataTable();
@@ -122,7 +122,7 @@
VerticalPanel vPanel = new VerticalPanel();
cTableModel.setRowCount(MutableTableModel.UNKNOWN_ROW_COUNT);
- mailTable = new DragRefetchPagingScrollTable<IMAPMessage>(
+ mailTable = new DragRefetchPagingScrollTable<Message>(
cTableModel, dataTable, new FixedWidthFlexTable(),
createTableDefinitation(),controller,1);
mailTable.setPageSize(20);
@@ -138,7 +138,7 @@
emptyTable.setHorizontalAlignment(HTML.ALIGN_CENTER);
emptyTable.setHeight("600px");
mailTable.setEmptyTableWidget(emptyTable);
- FixedWidthGridBulkRenderer<IMAPMessage> bulkRenderer = new FixedWidthGridBulkRenderer<IMAPMessage>(mailTable.getDataTable(),mailTable);
+ FixedWidthGridBulkRenderer<Message> bulkRenderer = new FixedWidthGridBulkRenderer<Message>(mailTable.getDataTable(),mailTable);
mailTable.setBulkRenderer(bulkRenderer);
mailTable.setCellPadding(0);
@@ -150,7 +150,7 @@
public void onPageLoad(PageLoadEvent event) {
for (int i = 0; i < mailTable.getDataTable().getRowCount(); i++) {
mailTable.getDataTable().getRowFormatter().setStyleName(i,"hupa-Mailtable-row");
- IMAPMessage msg = mailTable.getRowValue(i);
+ Message msg = mailTable.getRowValue(i);
if (msg != null) {
if (msg.getFlags().contains(IMAPFlag.SEEN) == false) {
mailTable.getDataTable().getRowFormatter().addStyleName(i,"hupa-Mailtable-row-notseen");
@@ -242,8 +242,8 @@
initWidget(vPanel);
}
- private DefaultTableDefinition<IMAPMessage> createTableDefinitation() {
- DefaultTableDefinition<IMAPMessage> def = new DefaultTableDefinition<IMAPMessage>(createColumnDefinitionList());
+ private DefaultTableDefinition<Message> createTableDefinitation() {
+ DefaultTableDefinition<Message> def = new DefaultTableDefinition<Message>(createColumnDefinitionList());
return def;
}
@@ -262,11 +262,11 @@
* Create a new List which holds all needed ColumnDefinitions
*
*/
- private List<ColumnDefinition<IMAPMessage, ?>> createColumnDefinitionList() {
- List<ColumnDefinition<IMAPMessage, ?>> cList = new ArrayList<ColumnDefinition<IMAPMessage, ?>>();
+ private List<ColumnDefinition<Message, ?>> createColumnDefinitionList() {
+ List<ColumnDefinition<Message, ?>> cList = new ArrayList<ColumnDefinition<Message, ?>>();
FromColumnDefination from = new FromColumnDefination();
- from.setCellRenderer(new WhiteSpaceCellRenderer<IMAPMessage>());
+ from.setCellRenderer(new WhiteSpaceCellRenderer<Message>());
from.setColumnTruncatable(true);
from.setPreferredColumnWidth(250);
from.setMinimumColumnWidth(150);
@@ -275,7 +275,7 @@
SubjectColumnDefination subject =new SubjectColumnDefination();
- subject.setCellRenderer(new WhiteSpaceCellRenderer<IMAPMessage>());
+ subject.setCellRenderer(new WhiteSpaceCellRenderer<Message>());
subject.setColumnTruncatable(true);
subject.setPreferredColumnWidth(800);
subject.setMinimumColumnWidth(200);
@@ -284,11 +284,11 @@
AttachmentColumnDefination attachment = new AttachmentColumnDefination();
attachment.setColumnTruncatable(false);
// display an image if the message contains an attachment
- attachment.setCellRenderer(new CellRenderer<IMAPMessage, Boolean>() {
+ attachment.setCellRenderer(new CellRenderer<Message, Boolean>() {
- public void renderRowValue(IMAPMessage rowValue,
- ColumnDefinition<IMAPMessage, Boolean> columnDef,
- AbstractCellView<IMAPMessage> view) {
+ public void renderRowValue(Message rowValue,
+ ColumnDefinition<Message, Boolean> columnDef,
+ AbstractCellView<Message> view) {
if (columnDef.getCellValue(rowValue)) {
view.setHTML(imageBundle.attachmentIcon().getHTML());
} else {
@@ -307,13 +307,13 @@
DateColumnDefination date = new DateColumnDefination();
date.setColumnTruncatable(true);
// set a special renderer for the date
- date.setCellRenderer(new CellRenderer<IMAPMessage, Date>() {
+ date.setCellRenderer(new CellRenderer<Message, Date>() {
- public void renderRowValue(IMAPMessage rowValue,
- ColumnDefinition<IMAPMessage, Date> columnDef,
- AbstractCellView<IMAPMessage> view) {
+ public void renderRowValue(Message rowValue,
+ ColumnDefinition<Message, Date> columnDef,
+ AbstractCellView<Message> view) {
DateTimeFormat dtformat;
- Date rDate = rowValue.getHeader().getReceivedDate();
+ Date rDate = rowValue.getReceivedDate();
int rYear = rDate.getYear();
int rMonth = rDate.getMonth();
int rDay = rDate.getDate();
@@ -352,20 +352,20 @@
* TableModel which retrieve the messages for the user
*
*/
- private final class IMAPMessageTableModel extends MutableTableModel<IMAPMessage> {
+ private final class IMAPMessageTableModel extends MutableTableModel<Message> {
@Override
public void requestRows(
final Request request,
- final com.google.gwt.gen2.table.client.TableModel.Callback<IMAPMessage> callback) {
+ final com.google.gwt.gen2.table.client.TableModel.Callback<Message> callback) {
// if the given user or folder is null, its safe to return an empty list
if (user == null || folder == null) {
- callback.onRowsReady(request, new TableModelHelper.Response<IMAPMessage>() {
+ callback.onRowsReady(request, new TableModelHelper.Response<Message>() {
@Override
- public Iterator<IMAPMessage> getRowValues() {
- return new ArrayList<IMAPMessage>().iterator();
+ public Iterator<Message> getRowValues() {
+ return new ArrayList<Message>().iterator();
}
});
@@ -379,10 +379,10 @@
public void onSuccess(final FetchMessagesResult result) {
bus.fireEvent(new MessagesReceivedEvent(result.getMessages()));
- TableModelHelper.Response<IMAPMessage> response = new TableModelHelper.Response<IMAPMessage>() {
+ TableModelHelper.Response<Message> response = new TableModelHelper.Response<Message>() {
@Override
- public Iterator<IMAPMessage> getRowValues() {
+ public Iterator<Message> getRowValues() {
return result.getMessages().iterator();
}
@@ -405,7 +405,7 @@
}
@Override
- protected boolean onSetRowValue(int row, IMAPMessage rowValue) {
+ protected boolean onSetRowValue(int row, Message rowValue) {
return true;
}
@@ -417,15 +417,15 @@
* @author Norman
*
*/
- private final class AttachmentColumnDefination extends AbstractColumnDefinition<IMAPMessage, Boolean> {
+ private final class AttachmentColumnDefination extends AbstractColumnDefinition<Message, Boolean> {
@Override
- public Boolean getCellValue(IMAPMessage rowValue) {
- return rowValue.getMessageContent().hasAttachment();
+ public Boolean getCellValue(Message rowValue) {
+ return rowValue.hasAttachment();
}
@Override
- public void setCellValue(IMAPMessage rowValue, Boolean cellValue) {
+ public void setCellValue(Message rowValue, Boolean cellValue) {
}
}
@@ -434,16 +434,16 @@
* ColumnDefination which display the From
*
*/
- private final class FromColumnDefination extends AbstractColumnDefinition<IMAPMessage, String> {
+ private final class FromColumnDefination extends AbstractColumnDefinition<Message, String> {
@Override
- public String getCellValue(IMAPMessage rowValue) {
- return rowValue.getHeader().getFrom();
+ public String getCellValue(Message rowValue) {
+ return rowValue.getFrom();
}
@Override
- public void setCellValue(IMAPMessage rowValue, String cellValue) {
- rowValue.getHeader().setFrom(cellValue);
+ public void setCellValue(Message rowValue, String cellValue) {
+ rowValue.setFrom(cellValue);
}
}
@@ -452,16 +452,16 @@
* ColumnDefination which display the Subject
*
*/
- private final class SubjectColumnDefination extends AbstractColumnDefinition<IMAPMessage, String> {
+ private final class SubjectColumnDefination extends AbstractColumnDefinition<Message, String> {
@Override
- public String getCellValue(IMAPMessage rowValue) {
- return rowValue.getHeader().getSubject();
+ public String getCellValue(Message rowValue) {
+ return rowValue.getSubject();
}
@Override
- public void setCellValue(IMAPMessage rowValue, String cellValue) {
- rowValue.getHeader().setSubject(cellValue);
+ public void setCellValue(Message rowValue, String cellValue) {
+ rowValue.setSubject(cellValue);
}
@@ -471,16 +471,16 @@
* ColumnDefination which display the Date
*
*/
- private final class DateColumnDefination extends AbstractColumnDefinition<IMAPMessage, Date> {
+ private final class DateColumnDefination extends AbstractColumnDefinition<Message, Date> {
@Override
- public Date getCellValue(IMAPMessage rowValue) {
- return rowValue.getHeader().getReceivedDate();
+ public Date getCellValue(Message rowValue) {
+ return rowValue.getReceivedDate();
}
@Override
- public void setCellValue(IMAPMessage rowValue, Date cellValue) {
- rowValue.getHeader().setReceivedDate(cellValue);
+ public void setCellValue(Message rowValue, Date cellValue) {
+ rowValue.setReceivedDate(cellValue);
}
}
@@ -601,7 +601,7 @@
* (non-Javadoc)
* @see org.apache.hupa.client.mvp.IMAPMessageListPresenter.Display#getData(int)
*/
- public IMAPMessage getData(int rowIndex) {
+ public Message getData(int rowIndex) {
return mailTable.getRowValue(rowIndex);
}
@@ -657,7 +657,7 @@
* (non-Javadoc)
* @see org.apache.hupa.client.mvp.IMAPMessageListPresenter.Display#getSelectedMessages()
*/
- public ArrayList<IMAPMessage> getSelectedMessages() {
+ public ArrayList<Message> getSelectedMessages() {
return mailTable.getSelectedRows();
}
@@ -665,7 +665,7 @@
* (non-Javadoc)
* @see org.apache.hupa.client.mvp.IMAPMessageListPresenter.Display#removeMessages(java.util.ArrayList)
*/
- public void removeMessages(ArrayList<IMAPMessage> messages) {
+ public void removeMessages(ArrayList<Message> messages) {
mailTable.removeRows(messages);
}
Modified: labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java (original)
+++ labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/IMAPMessagePresenter.java Fri Sep 4 09:00:54 2009
@@ -32,7 +32,8 @@
import org.apache.hupa.client.MyAsyncCallback;
import org.apache.hupa.shared.Util;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPMessage;
+import org.apache.hupa.shared.data.Message;
+import org.apache.hupa.shared.data.MessageDetails;
import org.apache.hupa.shared.data.MessageAttachment;
import org.apache.hupa.shared.data.User;
import org.apache.hupa.shared.events.BackEvent;
@@ -71,7 +72,8 @@
}
public static final Place PLACE = new Place("IMAPMessage");
- private IMAPMessage message;
+ private MessageDetails messageDetails;
+ private Message message;
private DispatchAsync dispatcher;
private IMAPFolder folder;
private User user;
@@ -84,8 +86,9 @@
}
- public void bind(User user, IMAPFolder folder, IMAPMessage message) {
+ public void bind(User user, IMAPFolder folder, Message message, MessageDetails messageDetails) {
this.message = message;
+ this.messageDetails = messageDetails;
this.folder = folder;
this.user = user;
if (isBound == false) {
@@ -95,16 +98,16 @@
}
private void updateDisplay() {
- display.getFrom().setText(message.getHeader().getFrom());
- display.getCc().setText(Util.arrayToString(message.getHeader().getCc()));
- display.getTo().setText(Util.arrayToString(message.getHeader().getTo()));
- display.getSubject().setText(message.getHeader().getSubject());
- String con = message.getMessageContent().getText();
- if (message.getMessageContent().isHTML() == false) {
+ display.getFrom().setText(message.getFrom());
+ display.getCc().setText(Util.arrayToString(message.getCc()));
+ display.getTo().setText(Util.arrayToString(message.getTo()));
+ display.getSubject().setText(message.getSubject());
+ String con = messageDetails.getText();
+ if (messageDetails.isHTML() == false) {
con = Util.toHtml(con);
}
display.getContent().setHTML(con);
- display.setAttachments(message.getMessageContent().getMessageAttachments(),user.getSessionId(), folder.getFullName(),message.getUid());
+ display.setAttachments(messageDetails.getMessageAttachments(),user.getSessionId(), folder.getFullName(),message.getUid());
}
@Override
@@ -133,7 +136,7 @@
registerHandler(display.getForwardButtonClick().addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
- eventBus.fireEvent(new ForwardMessageEvent(user,folder,message));
+ eventBus.fireEvent(new ForwardMessageEvent(user,folder,message, messageDetails));
}
}));
@@ -141,7 +144,7 @@
registerHandler(display.getReplyButtonClick().addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
- eventBus.fireEvent(new ReplyMessageEvent(user,folder,message,false));
+ eventBus.fireEvent(new ReplyMessageEvent(user,folder,message, messageDetails, false));
}
}));
@@ -149,7 +152,7 @@
registerHandler(display.getReplyAllButtonClick().addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
- eventBus.fireEvent(new ReplyMessageEvent(user,folder,message,true));
+ eventBus.fireEvent(new ReplyMessageEvent(user,folder,message, messageDetails, true));
}
}));
Modified: labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java (original)
+++ labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MainPresenter.java Fri Sep 4 09:00:54 2009
@@ -31,9 +31,10 @@
import org.apache.hupa.client.CachingDispatchAsync;
import org.apache.hupa.client.mvp.MessageSendPresenter.Type;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPMessage;
+import org.apache.hupa.shared.data.Message;
+import org.apache.hupa.shared.data.MessageDetails;
import org.apache.hupa.shared.data.User;
-import org.apache.hupa.shared.data.IMAPMessage.IMAPFlag;
+import org.apache.hupa.shared.data.Message.IMAPFlag;
import org.apache.hupa.shared.events.BackEvent;
import org.apache.hupa.shared.events.BackEventHandler;
import org.apache.hupa.shared.events.DecreaseUnseenEvent;
@@ -70,7 +71,7 @@
public interface Display extends WidgetDisplay{
public HasClickHandlers getSearchClick();
public HasValue<String> getSearchValue();
- public void fillOracle(ArrayList<IMAPMessage> messages);
+ public void fillOracle(ArrayList<Message> messages);
public void setCenter(Widget widget);
public void setWest(Widget widget);
}
@@ -112,11 +113,11 @@
display.setCenter(messageListPresenter.getDisplay().asWidget());
}
- private void showMessage(User user, IMAPFolder folder, IMAPMessage message) {
+ private void showMessage(User user, IMAPFolder folder, Message message, MessageDetails details) {
sendPresenter.unbind();
messageListPresenter.unbind();
- messagePresenter.bind(user,folder,message);
+ messagePresenter.bind(user,folder,message,details);
display.setCenter(messagePresenter.getDisplay().asWidget());
}
@@ -133,7 +134,7 @@
messagePresenter.unbind();
messageListPresenter.unbind();
- sendPresenter.bind(event.getUser(),event.getFolder(),event.getMessage(),Type.FORWARD);
+ sendPresenter.bind(event.getUser(),event.getFolder(),event.getMessage(), event.getMessageDetails(), Type.FORWARD);
display.setCenter(sendPresenter.getDisplay().asWidget());
}
@@ -142,9 +143,9 @@
messageListPresenter.unbind();
if (event.getReplyAll()) {
- sendPresenter.bind(event.getUser(),event.getFolder(),event.getMessage(),Type.REPLY_ALL);
+ sendPresenter.bind(event.getUser(),event.getFolder(),event.getMessage(),event.getMessageDetails(), Type.REPLY_ALL);
} else {
- sendPresenter.bind(event.getUser(),event.getFolder(),event.getMessage(),Type.REPLY);
+ sendPresenter.bind(event.getUser(),event.getFolder(),event.getMessage(),event.getMessageDetails(), Type.REPLY);
}
display.setCenter(sendPresenter.getDisplay().asWidget());
@@ -198,13 +199,14 @@
public void onExpandMessage(ExpandMessageEvent event) {
final boolean decreaseUnseen;
+ final Message message = event.getMessage();
// check if the message was already seen in the past
if (event.getMessage().getFlags().contains(IMAPFlag.SEEN) == false) {
decreaseUnseen = true;
} else {
decreaseUnseen = false;
}
- cachingDispatcher.executeWithCache(new ExposeMessage(event.getUser().getSessionId(),event.getFolder(),event.getMessage()), new DisplayCallback<ExposeMessageResult>(display) {
+ cachingDispatcher.executeWithCache(new ExposeMessage(event.getUser().getSessionId(),event.getFolder(),message.getUid()), new DisplayCallback<ExposeMessageResult>(display) {
@Override
protected void handleFailure(Throwable e) {
@@ -218,7 +220,7 @@
eventBus.fireEvent(new DecreaseUnseenEvent(user,folder));
}
- showMessage(user, folder, result.getMessage());
+ showMessage(user, folder, message, result.getMessageDetails());
}
Modified: labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MainView.java
URL: http://svn.apache.org/viewvc/labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MainView.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MainView.java (original)
+++ labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MainView.java Fri Sep 4 09:00:54 2009
@@ -24,7 +24,7 @@
import org.apache.hupa.client.HupaConstants;
import org.apache.hupa.client.bundles.IMAPTreeImages;
import org.apache.hupa.client.widgets.Loading;
-import org.apache.hupa.shared.data.IMAPMessage;
+import org.apache.hupa.shared.data.Message;
import org.cobogw.gwt.user.client.ui.Button;
import org.cobogw.gwt.user.client.ui.RoundedPanel;
@@ -141,10 +141,10 @@
}
- public void fillOracle(ArrayList<IMAPMessage> messages) {
+ public void fillOracle(ArrayList<Message> messages) {
for (int i = 0; i < messages.size();i++) {
- String subject = messages.get(i).getHeader().getSubject();
- String from = messages.get(i).getHeader().getFrom();
+ String subject = messages.get(i).getSubject();
+ String from = messages.get(i).getFrom();
if (subject != null && subject.trim().length() > 0) {
oracle.add(subject.trim());
}
Modified: labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java
URL: http://svn.apache.org/viewvc/labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java (original)
+++ labs/hupa/client/src/main/java/org/apache/hupa/client/mvp/MessageSendPresenter.java Fri Sep 4 09:00:54 2009
@@ -33,11 +33,10 @@
import org.apache.hupa.client.validation.NotEmptyValidator;
import org.apache.hupa.shared.Util;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPMessage;
import org.apache.hupa.shared.data.Message;
import org.apache.hupa.shared.data.MessageAttachment;
-import org.apache.hupa.shared.data.MessageContent;
-import org.apache.hupa.shared.data.MessageHeader;
+import org.apache.hupa.shared.data.MessageDetails;
+import org.apache.hupa.shared.data.SMTPMessage;
import org.apache.hupa.shared.data.User;
import org.apache.hupa.shared.events.BackEvent;
import org.apache.hupa.shared.events.FolderSelectionEvent;
@@ -77,10 +76,11 @@
private StartValueChangeHandler startHandler = new StartValueChangeHandler();
private Type type = Type.NEW;
private IMAPFolder folder;
- private IMAPMessage oldmessage;
+ private Message oldmessage;
private ValidationMessages vMessages = new ValidationMessages();
private ValidationProcessor validator = new DefaultValidationProcessor(
vMessages);
+ private MessageDetails oldDetails;
@Inject
public MessageSendPresenter(Display display, EventBus eventBus, DispatchAsync dispatcher) {
@@ -156,11 +156,9 @@
if (validator.validate() == false) {
return;
}
- Message message = new Message();
- MessageHeader header = new MessageHeader();
- MessageContent content = new MessageContent();
-
- header.setFrom(display.getFromText().getText());
+ SMTPMessage message = new SMTPMessage();
+
+ message.setFrom(display.getFromText().getText());
ArrayList<String> to = new ArrayList<String>();
String[] toRaw = display.getToText().getText().split(",");
@@ -172,7 +170,7 @@
}
}
}
- header.setTo(to);
+ message.setTo(to);
ArrayList<String> cc = new ArrayList<String>();
String[] ccRaw = display.getCcText().getText().split(",");
@@ -184,14 +182,13 @@
}
}
}
- header.setCc(cc);
+ message.setCc(cc);
- header.setSubject(display.getSubjectText().getText());
- content.setText(display.getMessageText().getText());
+ message.setSubject(display.getSubjectText().getText());
+ message.setText(display.getMessageText().getText());
- content.setMessageAttachments(aList);
- message.setHeader(header);
- message.setMessageContent(content);
+ message.setMessageAttachments(aList);
+
if (type.equals(Type.NEW)) {
dispatcher.execute(new SendMessage(user.getSessionId(),message), new MyAsyncCallback<EmptyResult>(eventBus,user) {
@@ -319,8 +316,9 @@
}
- public void bind(User user, IMAPFolder folder, IMAPMessage oldmessage,Type type) {
+ public void bind(User user, IMAPFolder folder, Message oldmessage, MessageDetails oldDetails, Type type) {
this.oldmessage = oldmessage;
+ this.oldDetails = oldDetails;
this.folder = folder;
this.user = user;
this.type = type;
@@ -330,12 +328,12 @@
display.getFromText().setText(user.getName());
if (type.equals(Type.FORWARD)) {
- display.getSubjectText().setText("Fwd: " + oldmessage.getHeader().getSubject());
+ display.getSubjectText().setText("Fwd: " + oldmessage.getSubject());
display.getMessageText().setText("\n\n-------- Original Message -------\n" );
} else if (type.equals(Type.REPLY) || type.equals(Type.REPLY_ALL)) {
- display.getSubjectText().setText("Re: " + oldmessage.getHeader().getSubject());
+ display.getSubjectText().setText("Re: " + oldmessage.getSubject());
- String oldMessageText = oldmessage.getMessageContent().getText();
+ String oldMessageText = oldDetails.getText();
StringBuffer messageText = new StringBuffer("\n\n-------- Message -------\n");
if ( oldMessageText != null) {
messageText.append(oldMessageText);
@@ -343,13 +341,13 @@
display.getMessageText().setText(messageText.toString());
if (type.equals(Type.REPLY)) {
- display.getToText().setText(oldmessage.getHeader().getFrom());
+ display.getToText().setText(oldmessage.getFrom());
} else {
- oldmessage.getHeader().getCc().remove(user.getName());
- display.getCcText().setText(Util.arrayToString(oldmessage.getHeader().getCc()));
- oldmessage.getHeader().getTo().remove(user.getName());
+ oldmessage.getCc().remove(user.getName());
+ display.getCcText().setText(Util.arrayToString(oldmessage.getCc()));
+ oldmessage.getTo().remove(user.getName());
- display.getToText().setText(Util.arrayToString(oldmessage.getHeader().getTo()));
+ display.getToText().setText(Util.arrayToString(oldmessage.getTo()));
}
}else {
@@ -359,7 +357,7 @@
}
public void bind(User user, Type type) {
- bind(user,null,null,type);
+ bind(user,null,null,null, type);
}
}
Modified: labs/hupa/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java (original)
+++ labs/hupa/server/src/main/java/org/apache/hupa/server/guice/ServerModul.java Fri Sep 4 09:00:54 2009
@@ -33,7 +33,7 @@
import org.apache.hupa.server.handler.CreateFolderHandler;
import org.apache.hupa.server.handler.DeleteFolderHandler;
import org.apache.hupa.server.handler.DeleteMessageHandler;
-import org.apache.hupa.server.handler.ExposeMessageHandler;
+import org.apache.hupa.server.handler.GetMessageDetailsHandler;
import org.apache.hupa.server.handler.FetchFoldersHandler;
import org.apache.hupa.server.handler.FetchMessagesHandler;
import org.apache.hupa.server.handler.ForwardMessageHandler;
@@ -68,7 +68,7 @@
bindHandler(FetchFoldersHandler.class);
bindHandler(FetchMessagesHandler.class);
bindHandler(LogoutUserHandler.class);
- bindHandler(ExposeMessageHandler.class);
+ bindHandler(GetMessageDetailsHandler.class);
bindHandler(DeleteMessageHandler.class);
bindHandler(SendMessageHandler.class);
bindHandler(ReplyMessageHandler.class);
Modified: labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java (original)
+++ labs/hupa/server/src/main/java/org/apache/hupa/server/handler/AbstractSendMessageHandler.java Fri Sep 4 09:00:54 2009
@@ -51,6 +51,7 @@
import org.apache.hupa.server.FileItemRegistry;
import org.apache.hupa.server.IMAPStoreCache;
import org.apache.hupa.shared.data.MessageAttachment;
+import org.apache.hupa.shared.data.SMTPMessage;
import org.apache.hupa.shared.data.User;
import org.apache.hupa.shared.rpc.EmptyResult;
import org.apache.hupa.shared.rpc.SendMessage;
@@ -109,18 +110,17 @@
*/
protected Message fillBody(Message message, A action) throws MessagingException, ActionException {
- org.apache.hupa.shared.data.Message m = action.getMessage();
- ArrayList<MessageAttachment> attachments = m.getMessageContent()
- .getMessageAttachments();
+ SMTPMessage m = action.getMessage();
+ ArrayList<MessageAttachment> attachments = m.getMessageAttachments();
// check if there are any attachments to include
if (attachments == null || attachments.isEmpty()) {
- message.setText(m.getMessageContent().getText());
+ message.setText(m.getText());
} else {
// create the message part
MimeBodyPart messageBodyPart = new MimeBodyPart();
// fill message
- messageBodyPart.setText(m.getMessageContent().getText());
+ messageBodyPart.setText(m.getText());
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
@@ -182,14 +182,21 @@
// store message in sent folder
IMAPStore iStore = cache.get(user);
IMAPFolder folder = (IMAPFolder) iStore.getFolder(user.getSettings().getSentFolderName());
+
+ boolean exists = false;
if (folder.exists() == false) {
- folder.create(IMAPFolder.READ_WRITE);
+ exists = folder.create(IMAPFolder.READ_WRITE);
+ } else {
+ exists = true;
}
- if (folder.isOpen() == false) {
- folder.open(Folder.READ_WRITE);
+ if (exists) {
+ if (folder.isOpen() == false) {
+ folder.open(Folder.READ_WRITE);
+ }
+ message.setFlag(Flag.SEEN, true);
+ folder.appendMessages(new Message[] {message});
}
- message.setFlag(Flag.SEEN, true);
- folder.appendMessages(new Message[] {message});
+
folder.close(false);
}
Modified: labs/hupa/server/src/main/java/org/apache/hupa/server/handler/FetchMessagesHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/FetchMessagesHandler.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/server/src/main/java/org/apache/hupa/server/handler/FetchMessagesHandler.java (original)
+++ labs/hupa/server/src/main/java/org/apache/hupa/server/handler/FetchMessagesHandler.java Fri Sep 4 09:00:54 2009
@@ -45,12 +45,10 @@
import org.apache.commons.logging.Log;
import org.apache.hupa.server.IMAPStoreCache;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPMessage;
-import org.apache.hupa.shared.data.MessageContent;
-import org.apache.hupa.shared.data.MessageHeader;
+
import org.apache.hupa.shared.data.Tag;
import org.apache.hupa.shared.data.User;
-import org.apache.hupa.shared.data.IMAPMessage.IMAPFlag;
+import org.apache.hupa.shared.data.Message.IMAPFlag;
import org.apache.hupa.shared.rpc.FetchMessages;
import org.apache.hupa.shared.rpc.FetchMessagesResult;
@@ -78,7 +76,7 @@
User user = getUser(action.getSessionId());
IMAPFolder folder = action.getFolder();
String searchString = action.getSearchString();
- ArrayList<IMAPMessage> mList = new ArrayList<IMAPMessage>();
+ ArrayList<org.apache.hupa.shared.data.Message> mList = new ArrayList<org.apache.hupa.shared.data.Message>();
int start = action.getStart();
int offset = action.getOffset();
int end = start + offset;
@@ -133,14 +131,13 @@
// loop over the fetched messages
for (int i = 0; i < messages.length; i++) {
- Message m = messages[i];
- MessageHeader newHeader = new MessageHeader();
-
+ org.apache.hupa.shared.data.Message msg = new org.apache.hupa.shared.data.Message();
+ Message m = messages[i];
String from = null;
if (m.getFrom() != null && m.getFrom().length >0 ) {
from = MimeUtility.decodeText(m.getFrom()[0].toString().trim());
}
- newHeader.setFrom(from);
+ msg.setFrom(from);
ArrayList<String> to = new ArrayList<String>();
// Add to addresses
@@ -150,14 +147,14 @@
to.add(toArray[b].toString());
}
}
- newHeader.setTo(to);
+ msg.setTo(to);
// Check if a subject exist and if so decode it
String subject = m.getSubject();
if (subject != null) {
subject = MimeUtility.decodeText(subject);
}
- newHeader.setSubject(subject);
+ msg.setSubject(subject);
// Add cc addresses
Address[] ccArray = m.getRecipients(RecipientType.CC);
@@ -168,10 +165,9 @@
cc.add(ccArray[b].toString());
}
}
- newHeader.setCc(cc);
+ msg.setCc(cc);
- newHeader.setReceivedDate(m.getReceivedDate());
-
+ msg.setReceivedDate(m.getReceivedDate());
// Add flags
ArrayList<IMAPFlag> iFlags = new ArrayList<IMAPFlag>();
@@ -180,7 +176,7 @@
for (int a = 0; a < systemFlags.length;a++) {
Flag flag = systemFlags[a];
if (flag == Flag.DELETED) {
- iFlags.add(IMAPMessage.IMAPFlag.DELETED);
+ iFlags.add(IMAPFlag.DELETED);
}
if (flag == Flag.SEEN) {
iFlags.add(IMAPFlag.SEEN);
@@ -200,15 +196,11 @@
}
}
- IMAPMessage msg = new IMAPMessage();
- msg.setHeader(newHeader);
msg.setUid(f.getUID(m));
msg.setFlags(iFlags);
msg.setTags(tags);
+ msg.setHasAttachments(hasAttachment(m));
- MessageContent content = new MessageContent();
- content.setAttachments(hasAttachment(m));
- msg.setMessageContent(content);
mList.add(0, msg);
if (i > action.getOffset()) {
break;
Modified: labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java (original)
+++ labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ForwardMessageHandler.java Fri Sep 4 09:00:54 2009
@@ -39,6 +39,7 @@
import org.apache.commons.logging.Log;
import org.apache.hupa.server.FileItemRegistry;
import org.apache.hupa.server.IMAPStoreCache;
+import org.apache.hupa.shared.data.SMTPMessage;
import org.apache.hupa.shared.rpc.ForwardMessage;
import com.google.inject.Inject;
@@ -65,20 +66,20 @@
protected Message createMessage(Session session, ForwardMessage action)
throws AddressException, MessagingException, ActionException {
MimeMessage message = new MimeMessage(session);
- org.apache.hupa.shared.data.Message m = action.getMessage();
- message.setFrom(new InternetAddress(m.getHeader().getFrom()));
- ArrayList<String> to = m.getHeader().getTo();
+ SMTPMessage m = action.getMessage();
+ message.setFrom(new InternetAddress(m.getFrom()));
+ ArrayList<String> to = m.getTo();
for (int i = 0; i < to.size(); i++) {
message.addRecipient(RecipientType.TO, new InternetAddress(to
.get(i)));
}
- ArrayList<String> cc = m.getHeader().getCc();
+ ArrayList<String> cc = m.getCc();
for (int i = 0; i < cc.size(); i++) {
message.addRecipient(RecipientType.CC, new InternetAddress(cc
.get(i)));
}
- message.setSubject(m.getHeader().getSubject());
+ message.setSubject(m.getSubject());
message.saveChanges();
return message;
}
@@ -86,13 +87,13 @@
@Override
protected Message fillBody(Message message,
ForwardMessage action) throws MessagingException, ActionException {
- org.apache.hupa.shared.data.Message m = action.getMessage();
+ SMTPMessage m = action.getMessage();
// create the message part
MimeBodyPart messageBodyPart = new MimeBodyPart();
// fill message
- messageBodyPart.setText(m.getMessageContent().getText());
+ messageBodyPart.setText(m.getText());
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
@@ -110,7 +111,7 @@
messageBodyPart.setDataHandler(fMessage.getDataHandler());
multipart.addBodyPart(messageBodyPart);
- multipart = handleAttachments(multipart, m.getMessageContent().getMessageAttachments());
+ multipart = handleAttachments(multipart, m.getMessageAttachments());
// Put parts in message
Copied: labs/hupa/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java (from r810932, labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ExposeMessageHandler.java)
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java?p2=labs/hupa/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java&p1=labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ExposeMessageHandler.java&r1=810932&r2=811292&rev=811292&view=diff
==============================================================================
--- labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ExposeMessageHandler.java (original)
+++ labs/hupa/server/src/main/java/org/apache/hupa/server/handler/GetMessageDetailsHandler.java Fri Sep 4 09:00:54 2009
@@ -36,9 +36,8 @@
import org.apache.commons.logging.Log;
import org.apache.hupa.server.IMAPStoreCache;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPMessage;
import org.apache.hupa.shared.data.MessageAttachment;
-import org.apache.hupa.shared.data.MessageContent;
+import org.apache.hupa.shared.data.MessageDetails;
import org.apache.hupa.shared.data.User;
import org.apache.hupa.shared.rpc.ExposeMessage;
import org.apache.hupa.shared.rpc.ExposeMessageResult;
@@ -47,10 +46,10 @@
import com.google.inject.Provider;
import com.sun.mail.imap.IMAPStore;
-public class ExposeMessageHandler extends AbstractSessionHandler<ExposeMessage, ExposeMessageResult>{
+public class GetMessageDetailsHandler extends AbstractSessionHandler<ExposeMessage, ExposeMessageResult>{
@Inject
- public ExposeMessageHandler(IMAPStoreCache cache, Log logger,Provider<HttpSession> sProvider) {
+ public GetMessageDetailsHandler(IMAPStoreCache cache, Log logger,Provider<HttpSession> sProvider) {
super(cache,logger,sProvider);
}
@@ -60,7 +59,7 @@
*/
public ExposeMessageResult executeInternal(ExposeMessage action, ExecutionContext arg1)
throws ActionException {
- return new ExposeMessageResult(exposeMessage(getUser(action.getSessionId()), action.getFolder(), action.getMessage()));
+ return new ExposeMessageResult(exposeMessage(getUser(action.getSessionId()), action.getFolder(), action.getUid()));
}
/*
@@ -71,7 +70,7 @@
return ExposeMessage.class;
}
- protected IMAPMessage exposeMessage(User user, IMAPFolder folder, IMAPMessage msg) throws ActionException {
+ protected MessageDetails exposeMessage(User user, IMAPFolder folder, long uid) throws ActionException {
IMAPStore store = null;
try {
store = cache.get(user);
@@ -82,8 +81,9 @@
if (f.isOpen() == false) {
f.open(com.sun.mail.imap.IMAPFolder.READ_WRITE);
}
- MimeMessage message = (MimeMessage) f.getMessageByUID(msg.getUid());
- MessageContent content = new MessageContent();
+ MimeMessage message = (MimeMessage) f.getMessageByUID(uid);
+ MessageDetails mDetails = new MessageDetails();
+ mDetails.setUid(uid);
boolean bodyFound = false;
boolean isHTML = false;
@@ -96,8 +96,8 @@
isHTML = false;
}
bodyFound = true;
- content.setText((String)con);
- content.setIsHTML(isHTML);
+ mDetails.setText((String)con);
+ mDetails.setIsHTML(isHTML);
} else if (con instanceof Multipart) {
Multipart mp = (Multipart) con;
@@ -138,28 +138,27 @@
}
if (isHTML) {
- content.setText(sbHTML.toString());
+ mDetails.setText(sbHTML.toString());
} else {
- content.setText(sbPlain.toString());
+ mDetails.setText(sbPlain.toString());
}
- content.setIsHTML(isHTML);
- content.setMessageAttachments(attachmentList);
+ mDetails.setIsHTML(isHTML);
+ mDetails.setMessageAttachments(attachmentList);
}
- msg.setMessageContent(content);
- msg.getHeader().setRawHeader(message.getAllHeaders().toString());
+ mDetails.setRawHeader(message.getAllHeaders().toString());
f.setFlags(new Message[] {message}, new Flags(Flag.SEEN), true);
f.close(false);
- return msg;
+ return mDetails;
} catch (Exception e) {
- logger.error("Unable to expose msg for user " + user + " in folder "+ folder + " with uid "+ msg.getUid(),e);
+ logger.error("Unable to expose msg for user " + user + " in folder "+ folder + " with uid "+ uid, e);
throw new ActionException("Unable to expose msg for user " + user + " in folder "+ folder + " with uid "
- + msg.getUid());
+ + uid);
}
}
Modified: labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java (original)
+++ labs/hupa/server/src/main/java/org/apache/hupa/server/handler/ReplyMessageHandler.java Fri Sep 4 09:00:54 2009
@@ -33,6 +33,7 @@
import org.apache.commons.logging.Log;
import org.apache.hupa.server.FileItemRegistry;
import org.apache.hupa.server.IMAPStoreCache;
+import org.apache.hupa.shared.data.SMTPMessage;
import org.apache.hupa.shared.rpc.ReplyMessage;
import com.google.inject.Inject;
@@ -67,14 +68,14 @@
folder.open(Folder.READ_ONLY);
}
Message rMessage = folder.getMessageByUID(action.getReplyMessageUid()).reply(action.getReplyAll());
- org.apache.hupa.shared.data.Message m = action.getMessage();
+ SMTPMessage m = action.getMessage();
// Use the new recipient list, maybe it has changed
- rMessage.setRecipients(RecipientType.TO, getRecipients(m.getHeader().getTo()));
- rMessage.setRecipients(RecipientType.CC, getRecipients(m.getHeader().getCc()));
- rMessage.setRecipients(RecipientType.BCC, getRecipients(m.getHeader().getBcc()));
- rMessage.setFrom(new InternetAddress(m.getHeader().getFrom()));
+ rMessage.setRecipients(RecipientType.TO, getRecipients(m.getTo()));
+ rMessage.setRecipients(RecipientType.CC, getRecipients(m.getCc()));
+ rMessage.setRecipients(RecipientType.BCC, getRecipients(m.getBcc()));
+ rMessage.setFrom(new InternetAddress(m.getFrom()));
// replace subject
- rMessage.setSubject(m.getHeader().getSubject());
+ rMessage.setSubject(m.getSubject());
rMessage.saveChanges();
return rMessage;
}
Modified: labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java
URL: http://svn.apache.org/viewvc/labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java (original)
+++ labs/hupa/server/src/main/java/org/apache/hupa/server/handler/SendMessageHandler.java Fri Sep 4 09:00:54 2009
@@ -31,6 +31,7 @@
import org.apache.commons.logging.Log;
import org.apache.hupa.server.FileItemRegistry;
import org.apache.hupa.server.IMAPStoreCache;
+import org.apache.hupa.shared.data.SMTPMessage;
import org.apache.hupa.shared.rpc.SendMessage;
import com.google.inject.Inject;
@@ -57,12 +58,12 @@
protected Message createMessage(Session session, SendMessage action)
throws AddressException, MessagingException {
MimeMessage message = new MimeMessage(session);
- org.apache.hupa.shared.data.Message m = action.getMessage();
- message.setFrom(new InternetAddress(m.getHeader().getFrom()));
- message.setRecipients(RecipientType.TO, getRecipients(m.getHeader().getTo()));
- message.setRecipients(RecipientType.CC, getRecipients(m.getHeader().getCc()));
- message.setRecipients(RecipientType.BCC, getRecipients(m.getHeader().getBcc()));
- message.setSubject(m.getHeader().getSubject());
+ SMTPMessage m = action.getMessage();
+ message.setFrom(new InternetAddress(m.getFrom()));
+ message.setRecipients(RecipientType.TO, getRecipients(m.getTo()));
+ message.setRecipients(RecipientType.CC, getRecipients(m.getCc()));
+ message.setRecipients(RecipientType.BCC, getRecipients(m.getBcc()));
+ message.setSubject(m.getSubject());
return message;
}
Added: labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/AbstractMessage.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/AbstractMessage.java?rev=811292&view=auto
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/AbstractMessage.java (added)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/AbstractMessage.java Fri Sep 4 09:00:54 2009
@@ -0,0 +1,100 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.hupa.shared.data;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+
+public class AbstractMessage implements Serializable{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 5208272852772006815L;
+ private String from;
+ private String subject;
+ private ArrayList<String> to;
+ private ArrayList<String> cc;
+ private boolean hasAttachment;
+
+ public boolean hasAttachment() {
+ return hasAttachment;
+ }
+
+ public void setHasAttachments(boolean hasAttachments) {
+ this.hasAttachment = hasAttachments;
+ }
+
+ /**
+ * Set the From: header field
+ *
+ * @param from
+ */
+ public void setFrom(String from) {
+ this.from = from;
+ }
+
+ /**
+ * Return the From: header field
+ *
+ * @return from
+ */
+ public String getFrom() {
+ return from;
+ }
+
+
+ public void setCc(ArrayList<String> cc) {
+ this.cc = cc;
+ }
+
+ public ArrayList<String> getCc() {
+ return cc;
+ }
+
+ /**
+ * Set the Subject: header field
+ *
+ * @param subject
+ */
+ public void setSubject(String subject) {
+ this.subject = subject;
+ }
+
+ /**
+ * Return the Subject: header field
+ *
+ * @return subject
+ */
+ public String getSubject() {
+ return subject;
+ }
+
+ public ArrayList<String> getTo() {
+ return to;
+ }
+
+ public void setTo( ArrayList<String> to) {
+ this.to = to;
+ }
+
+
+
+}
Modified: labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/Message.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/Message.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/Message.java (original)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/Message.java Fri Sep 4 09:00:54 2009
@@ -19,55 +19,77 @@
package org.apache.hupa.shared.data;
-import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Date;
/**
*
*
*/
-public class Message implements Serializable{
-
- /**
- *
- */
- private static final long serialVersionUID = 7998000151420927239L;
- private MessageHeader header;
- private MessageContent content;
+public class Message extends AbstractMessage {
/**
- * set the header of the message
*
- * @param header
*/
- public void setHeader(MessageHeader header) {
- this.header = header;
+ private static final long serialVersionUID = -101492974974136423L;
+ private long uid;
+ private ArrayList<IMAPFlag> flags;
+ private ArrayList<Tag> tags;
+ private Date rDate;
+
+ public enum IMAPFlag {
+ SEEN, DELETED, RECENT, ANSWERED, JUNK, DRAFT
}
- /**
- * Return the header of the message
- *
- * @return header
- */
- public MessageHeader getHeader() {
- return header;
+ public void setFlags(ArrayList<IMAPFlag> flags) {
+ this.flags = flags;
+ }
+
+ public ArrayList<IMAPFlag> getFlags() {
+ return flags;
}
- /**
- * Set the content of the message
- *
- * @param content
- */
- public void setMessageContent(MessageContent content) {
- this.content = content;
+ public void setTags(ArrayList<Tag> tags) {
+ this.tags = tags;
+ }
+
+ public ArrayList<Tag> getTags() {
+ return tags;
+ }
+
+ public long getUid() {
+ return uid;
}
- /**
- * return the content of the message
- *
- * @return content
- */
- public MessageContent getMessageContent() {
- return content;
+ public void setUid(long uid) {
+ this.uid = uid;
+ }
+
+
+ public void setReceivedDate(Date rDate) {
+ this.rDate = rDate;
}
+ public Date getReceivedDate() {
+ return rDate;
+ }
+
+
+ public String toString() {
+ return String.valueOf(getUid());
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof Message) {
+ if (((Message)obj).getUid() == getUid()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public int hashCode() {
+ Long l = new Long(getUid());
+ return l.intValue() * 16;
+ }
}
Added: labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/MessageDetails.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/MessageDetails.java?rev=811292&view=auto
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/MessageDetails.java (added)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/MessageDetails.java Fri Sep 4 09:00:54 2009
@@ -0,0 +1,134 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.hupa.shared.data;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+
+public class MessageDetails implements Serializable{
+ /**
+ *
+ */
+ private static final long serialVersionUID = 7611536915564919521L;
+ private boolean isHTML;
+ private String text;
+ private ArrayList<MessageAttachment> aList;
+ private long uid;
+ private String raw;
+
+
+ public long getUid() {
+ return uid;
+ }
+
+ public void setUid(long uid) {
+ this.uid = uid;
+ }
+
+ /**
+ * Set a raw String representation of the header
+ *
+ * @param raw
+ */
+ public void setRawHeader(String raw) {
+ this.raw = raw;
+ }
+
+ /**
+ * Return a raw String representation of the header
+ *
+ * @return raw
+ */
+ public String getRawHeader() {
+ return raw;
+ }
+
+ /**
+ * Set if the count is plain/html
+ *
+ * @param isHTML
+ */
+ public void setIsHTML(boolean isHTML) {
+ this.isHTML = isHTML;
+ }
+
+ /**
+ * Return if the content is plain/html or plain/text
+ *
+ * @return isHTML
+ */
+ public boolean isHTML() {
+ return isHTML;
+ }
+
+ /**
+ * Set the body text of the content
+ *
+ * @param text
+ */
+ public void setText(String text) {
+ this.text = text;
+ }
+
+ /**
+ * Return the body text of the content
+ * @return
+ */
+ public String getText() {
+ return text;
+ }
+
+ /**
+ * Set the attachments
+ *
+ * @param aList
+ */
+ public void setMessageAttachments(ArrayList<MessageAttachment> aList) {
+ this.aList = aList;
+ }
+
+ /**
+ * Return the attachments
+ *
+ * @return aList
+ */
+ public ArrayList<MessageAttachment> getMessageAttachments() {
+ return aList;
+ }
+
+
+ public String toString() {
+ return String.valueOf(getUid());
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof MessageDetails) {
+ if (((MessageDetails)obj).getUid() == getUid()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public int hashCode() {
+ Long l = new Long(getUid());
+ return l.intValue() * 16;
+ }
+}
Added: labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java?rev=811292&view=auto
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java (added)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/data/SMTPMessage.java Fri Sep 4 09:00:54 2009
@@ -0,0 +1,53 @@
+package org.apache.hupa.shared.data;
+
+import java.util.ArrayList;
+
+public class SMTPMessage extends AbstractMessage{
+ private static final long serialVersionUID = 7331361994526216161L;
+ private ArrayList<String> bcc;
+ private String text;
+ private ArrayList<MessageAttachment> aList;
+
+ public ArrayList<String> getBcc() {
+ return bcc;
+ }
+ public void setBcc( ArrayList<String> bcc) {
+ this.bcc = bcc;
+ }
+
+ /**
+ * Set the body text of the content
+ *
+ * @param text
+ */
+ public void setText(String text) {
+ this.text = text;
+ }
+
+ /**
+ * Return the body text of the content
+ * @return
+ */
+ public String getText() {
+ return text;
+ }
+
+ /**
+ * Set the attachments
+ *
+ * @param aList
+ */
+ public void setMessageAttachments(ArrayList<MessageAttachment> aList) {
+ this.aList = aList;
+ }
+
+ /**
+ * Return the attachments
+ *
+ * @return aList
+ */
+ public ArrayList<MessageAttachment> getMessageAttachments() {
+ return aList;
+ }
+
+}
Modified: labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/DeleteMessageEvent.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/DeleteMessageEvent.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/DeleteMessageEvent.java (original)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/DeleteMessageEvent.java Fri Sep 4 09:00:54 2009
@@ -22,7 +22,7 @@
import java.util.ArrayList;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPMessage;
+import org.apache.hupa.shared.data.Message;
import org.apache.hupa.shared.data.User;
import com.google.gwt.event.shared.GwtEvent;
@@ -32,7 +32,7 @@
public final static Type<DeleteMessageEventHandler> TYPE = new Type<DeleteMessageEventHandler>();
private User user;
private IMAPFolder folder;
- private ArrayList<IMAPMessage> messageList;
+ private ArrayList<Message> messageList;
@Override
protected void dispatch(DeleteMessageEventHandler handler) {
handler.onDeleteMessageEvent(this);
@@ -43,13 +43,13 @@
return TYPE;
}
- public DeleteMessageEvent(User user, IMAPFolder folder, ArrayList<IMAPMessage> messageList) {
+ public DeleteMessageEvent(User user, IMAPFolder folder, ArrayList<Message> messageList) {
this.user = user;
this.folder = folder;
this.messageList = messageList;
}
- public DeleteMessageEvent(User user, IMAPFolder folder, IMAPMessage message) {
- ArrayList<IMAPMessage> mList = new ArrayList<IMAPMessage>();
+ public DeleteMessageEvent(User user, IMAPFolder folder, Message message) {
+ ArrayList<Message> mList = new ArrayList<Message>();
mList.add(message);
this.user = user;
@@ -64,7 +64,7 @@
return folder;
}
- public ArrayList<IMAPMessage> getMessages() {
+ public ArrayList<Message> getMessages() {
return messageList;
}
Modified: labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ExpandMessageEvent.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ExpandMessageEvent.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ExpandMessageEvent.java (original)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ExpandMessageEvent.java Fri Sep 4 09:00:54 2009
@@ -20,7 +20,7 @@
package org.apache.hupa.shared.events;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPMessage;
+import org.apache.hupa.shared.data.Message;
import org.apache.hupa.shared.data.User;
import com.google.gwt.event.shared.GwtEvent;
@@ -28,17 +28,17 @@
public class ExpandMessageEvent extends GwtEvent<ExpandMessageEventHandler>{
public static Type<ExpandMessageEventHandler> TYPE = new Type<ExpandMessageEventHandler>();
- private IMAPMessage message;
+ private Message message;
private User user;
private IMAPFolder folder;
- public ExpandMessageEvent(User user, IMAPFolder folder, IMAPMessage message) {
+ public ExpandMessageEvent(User user, IMAPFolder folder, Message message) {
this.message = message;
this.folder = folder;
this.user = user;
}
- public IMAPMessage getMessage() {
+ public Message getMessage() {
return message;
}
Modified: labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ForwardMessageEvent.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ForwardMessageEvent.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ForwardMessageEvent.java (original)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ForwardMessageEvent.java Fri Sep 4 09:00:54 2009
@@ -21,7 +21,8 @@
package org.apache.hupa.shared.events;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPMessage;
+import org.apache.hupa.shared.data.Message;
+import org.apache.hupa.shared.data.MessageDetails;
import org.apache.hupa.shared.data.User;
import com.google.gwt.event.shared.GwtEvent;
@@ -31,12 +32,14 @@
public final static Type<ForwardMessageEventHandler> TYPE = new Type<ForwardMessageEventHandler>();
private User user;
private IMAPFolder folder;
- private IMAPMessage message;
+ private Message message;
+ private MessageDetails details;
- public ForwardMessageEvent(User user, IMAPFolder folder, IMAPMessage message) {
+ public ForwardMessageEvent(User user, IMAPFolder folder, Message message, MessageDetails details) {
this.user = user;
this.folder = folder;
this.message = message;
+ this.details = details;
}
public User getUser() {
@@ -47,10 +50,15 @@
return folder;
}
- public IMAPMessage getMessage() {
+ public Message getMessage() {
return message;
}
+
+ public MessageDetails getMessageDetails() {
+ return details;
+ }
+
@Override
protected void dispatch(ForwardMessageEventHandler handler) {
handler.onForwardMessageEvent(this);
Modified: labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/MessagesReceivedEvent.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/MessagesReceivedEvent.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/MessagesReceivedEvent.java (original)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/MessagesReceivedEvent.java Fri Sep 4 09:00:54 2009
@@ -20,19 +20,19 @@
import java.util.ArrayList;
-import org.apache.hupa.shared.data.IMAPMessage;
+import org.apache.hupa.shared.data.Message;
import com.google.gwt.event.shared.GwtEvent;
public class MessagesReceivedEvent extends GwtEvent<MessagesReceivedEventHandler>{
public static Type<MessagesReceivedEventHandler> TYPE = new Type<MessagesReceivedEventHandler>();
- private ArrayList<IMAPMessage> messages;
+ private ArrayList<Message> messages;
- public MessagesReceivedEvent(ArrayList<IMAPMessage> messages) {
+ public MessagesReceivedEvent(ArrayList<Message> messages) {
this.messages = messages;
}
- public ArrayList<IMAPMessage> getMessages() {
+ public ArrayList<Message> getMessages() {
return messages;
}
@Override
Modified: labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/MoveMessageEvent.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/MoveMessageEvent.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/MoveMessageEvent.java (original)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/MoveMessageEvent.java Fri Sep 4 09:00:54 2009
@@ -20,7 +20,7 @@
package org.apache.hupa.shared.events;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPMessage;
+import org.apache.hupa.shared.data.Message;
import org.apache.hupa.shared.data.User;
import com.google.gwt.event.shared.GwtEvent;
@@ -31,10 +31,10 @@
private User user;
private IMAPFolder oldFolder;
private IMAPFolder newFolder;
- private IMAPMessage message;
+ private Message message;
public MoveMessageEvent(User user, IMAPFolder oldFolder,
- IMAPFolder newFolder, IMAPMessage message) {
+ IMAPFolder newFolder, Message message) {
this.user = user;
this.oldFolder = oldFolder;
this.newFolder = newFolder;
@@ -53,7 +53,7 @@
return newFolder;
}
- public IMAPMessage getMessage() {
+ public Message getMessage() {
return message;
}
Modified: labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ReplyMessageEvent.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ReplyMessageEvent.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ReplyMessageEvent.java (original)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/events/ReplyMessageEvent.java Fri Sep 4 09:00:54 2009
@@ -20,7 +20,8 @@
package org.apache.hupa.shared.events;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPMessage;
+import org.apache.hupa.shared.data.Message;
+import org.apache.hupa.shared.data.MessageDetails;
import org.apache.hupa.shared.data.User;
import com.google.gwt.event.shared.GwtEvent;
@@ -30,8 +31,10 @@
public final static Type<ReplyMessageEventHandler> TYPE = new Type<ReplyMessageEventHandler>();
private User user;
private IMAPFolder folder;
- private IMAPMessage message;
+ private Message message;
+ private MessageDetails details;
private boolean replyAll;
+
@Override
protected void dispatch(ReplyMessageEventHandler handler) {
handler.onReplyMessageEvent(this);
@@ -42,11 +45,12 @@
return TYPE;
}
- public ReplyMessageEvent(User user, IMAPFolder folder, IMAPMessage message, boolean replyAll) {
+ public ReplyMessageEvent(User user, IMAPFolder folder, Message message, MessageDetails details, boolean replyAll) {
this.user = user;
this.folder = folder;
this.message = message;
this.replyAll = replyAll;
+ this.details = details;
}
public User getUser() {
@@ -57,10 +61,15 @@
return folder;
}
- public IMAPMessage getMessage() {
+ public Message getMessage() {
return message;
}
+
+ public MessageDetails getMessageDetails() {
+ return details;
+ }
+
public boolean getReplyAll() {
return replyAll;
}
Modified: labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ExposeMessage.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ExposeMessage.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ExposeMessage.java (original)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ExposeMessage.java Fri Sep 4 09:00:54 2009
@@ -21,7 +21,6 @@
package org.apache.hupa.shared.rpc;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.IMAPMessage;
public class ExposeMessage extends Session<ExposeMessageResult>{
@@ -30,12 +29,12 @@
*/
private static final long serialVersionUID = 5826298202494313834L;
private IMAPFolder folder;
- private IMAPMessage message;
+ private long uid;
- public ExposeMessage(String sessionId, IMAPFolder folder,IMAPMessage message) {
+ public ExposeMessage(String sessionId, IMAPFolder folder, long uid) {
super(sessionId);
this.folder = folder;
- this.message = message;
+ this.uid = uid;
}
@SuppressWarnings("unused")
@@ -46,14 +45,14 @@
return folder;
}
- public IMAPMessage getMessage() {
- return message;
+ public long getUid() {
+ return uid;
}
public boolean equals(Object obj) {
if (obj instanceof ExposeMessage) {
ExposeMessage action = (ExposeMessage) obj;
- if (action.getSessionId().equals(getSessionId()) && action.getFolder().equals(getFolder()) && action.getMessage().equals(getMessage())) {
+ if (action.getSessionId().equals(getSessionId()) && action.getFolder().equals(getFolder()) && action.getUid() == getUid()) {
return true;
}
}
@@ -62,6 +61,6 @@
}
public int hashCode() {
- return getSessionId().hashCode() * getFolder().hashCode() * getMessage().hashCode();
+ return (int) (getSessionId().hashCode() * getFolder().hashCode() * getUid());
}
}
Modified: labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ExposeMessageResult.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ExposeMessageResult.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ExposeMessageResult.java (original)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ExposeMessageResult.java Fri Sep 4 09:00:54 2009
@@ -19,7 +19,7 @@
package org.apache.hupa.shared.rpc;
-import org.apache.hupa.shared.data.IMAPMessage;
+import org.apache.hupa.shared.data.MessageDetails;
import net.customware.gwt.dispatch.shared.Result;
@@ -29,18 +29,18 @@
*
*/
private static final long serialVersionUID = 6738085246457556043L;
- private IMAPMessage message;
+ private MessageDetails message;
@SuppressWarnings("unused")
private ExposeMessageResult() {
}
- public ExposeMessageResult(IMAPMessage message) {
+ public ExposeMessageResult(MessageDetails message) {
this.message = message;
}
- public IMAPMessage getMessage() {
+ public MessageDetails getMessageDetails() {
return message;
}
Modified: labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/FetchMessagesResult.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/FetchMessagesResult.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/FetchMessagesResult.java (original)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/FetchMessagesResult.java Fri Sep 4 09:00:54 2009
@@ -21,7 +21,7 @@
import java.util.ArrayList;
-import org.apache.hupa.shared.data.IMAPMessage;
+import org.apache.hupa.shared.data.Message;
/****************************************************************
* Licensed to the Apache Software Foundation (ASF) under one *
* or more contributor license agreements. See the NOTICE file *
@@ -49,7 +49,7 @@
*
*/
private static final long serialVersionUID = 8692400285949934424L;
- private ArrayList<IMAPMessage> messages;
+ private ArrayList<Message> messages;
private int start;
private int offset;
private int realCount;
@@ -58,14 +58,14 @@
private FetchMessagesResult() {
}
- public FetchMessagesResult(ArrayList<IMAPMessage> messages,int start,int offset,int realCount) {
+ public FetchMessagesResult(ArrayList<Message> messages,int start,int offset,int realCount) {
this.messages = messages;
this.start = start;
this.offset = offset;
this.realCount = realCount;
}
- public ArrayList<IMAPMessage> getMessages() {
+ public ArrayList<Message> getMessages() {
return messages;
}
Modified: labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ForwardMessage.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ForwardMessage.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ForwardMessage.java (original)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ForwardMessage.java Fri Sep 4 09:00:54 2009
@@ -21,7 +21,7 @@
package org.apache.hupa.shared.rpc;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.Message;
+import org.apache.hupa.shared.data.SMTPMessage;
public class ForwardMessage extends SendMessage{
@@ -32,7 +32,7 @@
private long uid;
private IMAPFolder folder;
- public ForwardMessage(String sessionId, Message msg, IMAPFolder folder, long uid) {
+ public ForwardMessage(String sessionId, SMTPMessage msg, IMAPFolder folder, long uid) {
super(sessionId, msg);
this.uid = uid;
this.folder = folder;
Modified: labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ReplyMessage.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ReplyMessage.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ReplyMessage.java (original)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/ReplyMessage.java Fri Sep 4 09:00:54 2009
@@ -21,7 +21,7 @@
package org.apache.hupa.shared.rpc;
import org.apache.hupa.shared.data.IMAPFolder;
-import org.apache.hupa.shared.data.Message;
+import org.apache.hupa.shared.data.SMTPMessage;
public class ReplyMessage extends ForwardMessage{
@@ -31,7 +31,7 @@
private static final long serialVersionUID = -383135476236902779L;
private boolean replyAll;
- public ReplyMessage(String sessionId, Message msg, IMAPFolder folder, long uid, boolean replyAll) {
+ public ReplyMessage(String sessionId, SMTPMessage msg, IMAPFolder folder, long uid, boolean replyAll) {
super(sessionId, msg, folder, uid);
this.replyAll = replyAll;
}
Modified: labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/SendMessage.java
URL: http://svn.apache.org/viewvc/labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/SendMessage.java?rev=811292&r1=811291&r2=811292&view=diff
==============================================================================
--- labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/SendMessage.java (original)
+++ labs/hupa/shared/src/main/java/org/apache/hupa/shared/rpc/SendMessage.java Fri Sep 4 09:00:54 2009
@@ -21,6 +21,7 @@
import org.apache.hupa.shared.data.Message;
+import org.apache.hupa.shared.data.SMTPMessage;
public class SendMessage extends Session<EmptyResult>{
@@ -28,10 +29,10 @@
*
*/
private static final long serialVersionUID = 973668124208945015L;
- private Message msg;
+ private SMTPMessage msg;
- public SendMessage(String sessionId, Message msg) {
+ public SendMessage(String sessionId, SMTPMessage msg) {
super(sessionId);
this.msg = msg;
}
@@ -40,7 +41,7 @@
}
- public Message getMessage() {
+ public SMTPMessage getMessage() {
return msg;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org