From b8642ea79d94989598e16d393070785c83ade206 Mon Sep 17 00:00:00 2001 From: "massimiliano.assante" Date: Thu, 21 Sep 2017 16:15:40 +0000 Subject: [PATCH] fixed delete message in sent messages git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/message-conversations@154403 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../client/MessageService.java | 2 +- .../client/event/DeleteMessageEvent.java | 35 ---------------- .../event/DeleteMessageEventHandler.java | 7 ---- .../client/event/NewMessageEvent.java | 40 ------------------- .../client/event/NewMessageEventHandler.java | 7 ---- .../client/ui/ApplicationView.java | 14 +++---- .../client/ui/MessageItem.java | 6 +-- .../server/ConvServiceImpl.java | 12 ++++-- .../shared/ConvMessage.java | 5 ++- 9 files changed, 20 insertions(+), 108 deletions(-) delete mode 100644 src/main/java/org/gcube/portets/user/message_conversations/client/event/DeleteMessageEvent.java delete mode 100644 src/main/java/org/gcube/portets/user/message_conversations/client/event/DeleteMessageEventHandler.java delete mode 100644 src/main/java/org/gcube/portets/user/message_conversations/client/event/NewMessageEvent.java delete mode 100644 src/main/java/org/gcube/portets/user/message_conversations/client/event/NewMessageEventHandler.java diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/MessageService.java b/src/main/java/org/gcube/portets/user/message_conversations/client/MessageService.java index 6384697..5eaad2e 100644 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/MessageService.java +++ b/src/main/java/org/gcube/portets/user/message_conversations/client/MessageService.java @@ -21,5 +21,5 @@ public interface MessageService extends RemoteService { boolean deleteMessageById(String messageId, boolean sent); String getAttachmentDownloadURL(String itemId); boolean saveAttachmentToWorkspaceFolder(String itemId, String destinationFolderId); - boolean markMessageUnread(String messageId); + boolean markMessageUnread(String messageId, boolean sent); } diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/event/DeleteMessageEvent.java b/src/main/java/org/gcube/portets/user/message_conversations/client/event/DeleteMessageEvent.java deleted file mode 100644 index 5109dab..0000000 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/event/DeleteMessageEvent.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.gcube.portets.user.message_conversations.client.event; - -import org.gcube.portets.user.message_conversations.shared.ConvMessage; - -import com.google.gwt.event.shared.GwtEvent; - - - -public class DeleteMessageEvent extends GwtEvent { - public static Type TYPE = new Type(); - - private ConvMessage m; - private boolean sent; - public DeleteMessageEvent(ConvMessage m, boolean sent) { - this.m = m; - } - - public ConvMessage getMessage() { - return m; - } - - public boolean isSent() { - return sent; - } - - @Override - public Type getAssociatedType() { - return TYPE; - } - - @Override - protected void dispatch(DeleteMessageEventHandler handler) { - handler.onDeleteMessage(this); - } -} diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/event/DeleteMessageEventHandler.java b/src/main/java/org/gcube/portets/user/message_conversations/client/event/DeleteMessageEventHandler.java deleted file mode 100644 index ba20fec..0000000 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/event/DeleteMessageEventHandler.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.gcube.portets.user.message_conversations.client.event; - -import com.google.gwt.event.shared.EventHandler; - -public interface DeleteMessageEventHandler extends EventHandler { - void onDeleteMessage(DeleteMessageEvent event); -} diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/event/NewMessageEvent.java b/src/main/java/org/gcube/portets/user/message_conversations/client/event/NewMessageEvent.java deleted file mode 100644 index fd4bacc..0000000 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/event/NewMessageEvent.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.gcube.portets.user.message_conversations.client.event; - -import java.util.HashSet; - -import com.google.gwt.event.shared.GwtEvent; - - - -public class NewMessageEvent extends GwtEvent { - public static Type TYPE = new Type(); - - - private String text; - private HashSet mentionedUsers; - - public NewMessageEvent() { - - this.text = text; - this.mentionedUsers = mentionedUsers; - } - - - public String getText() { - return text; - } - - public HashSet getMentionedUsers() { - return mentionedUsers; - } - - @Override - public Type getAssociatedType() { - return TYPE; - } - - @Override - protected void dispatch(NewMessageEventHandler handler) { - handler.onNewMessage(this); - } -} diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/event/NewMessageEventHandler.java b/src/main/java/org/gcube/portets/user/message_conversations/client/event/NewMessageEventHandler.java deleted file mode 100644 index 30473a2..0000000 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/event/NewMessageEventHandler.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.gcube.portets.user.message_conversations.client.event; - -import com.google.gwt.event.shared.EventHandler; - -public interface NewMessageEventHandler extends EventHandler { - void onNewMessage(NewMessageEvent event); -} diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.java b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.java index 4b6d9eb..e0ba3ae 100755 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.java +++ b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/ApplicationView.java @@ -8,7 +8,6 @@ import java.util.List; import org.gcube.portets.user.message_conversations.client.MessageService; import org.gcube.portets.user.message_conversations.client.MessageServiceAsync; import org.gcube.portets.user.message_conversations.client.Utils; -import org.gcube.portets.user.message_conversations.client.event.DeleteMessageEvent; import org.gcube.portets.user.message_conversations.client.ui.resources.MessagesResources; import org.gcube.portets.user.message_conversations.shared.ConvMessage; import org.gcube.portets.user.message_conversations.shared.MessageUserModel; @@ -174,11 +173,10 @@ public class ApplicationView extends Composite { } /** * + * @param sent * @param event */ - public void deleteMessage(final DeleteMessageEvent event) { - final ConvMessage toDelete = event.getMessage(); - boolean sent = event.isSent(); + public void deleteMessage(final ConvMessage toDelete, boolean sent) { convService.deleteMessageById(toDelete.getId(), sent, new AsyncCallback() { @Override public void onFailure(Throwable caught) { @@ -188,7 +186,7 @@ public class ApplicationView extends Composite { public void onSuccess(Boolean result) { MaterialToast.fireToast("Message Deleted ("+toDelete.getSubject()+")"); totalMessages = totalMessages - 1; - updateBadge(event.isSent()); + updateBadge(sent); } }); } @@ -197,8 +195,8 @@ public class ApplicationView extends Composite { * * @param event */ - public void setMessageUnread(ConvMessage toSet) { - convService.markMessageUnread(toSet.getId(), new AsyncCallback() { + public void setMessageUnread(ConvMessage toSet, boolean sent) { + convService.markMessageUnread(toSet.getId(), sent, new AsyncCallback() { @Override public void onFailure(Throwable caught) { } @@ -367,7 +365,7 @@ public class ApplicationView extends Composite { List recipients = Arrays.asList(new MessageUserModel(0, "you", "You", "")); @SuppressWarnings("deprecation") MessageUserModel sender = new MessageUserModel(0, "jarvis", "D4Science Team", images.d4scienceTeam().getURL(), "", ""); - ConvMessage welcomeMessage = new ConvMessage("0", "Welcome to your Messages", sender, recipients , new Date(), MessagesResources.WELCOME_MESSAGE, true); + ConvMessage welcomeMessage = new ConvMessage("0", "Welcome to your Messages", sender, recipients , new Date(), MessagesResources.WELCOME_MESSAGE, true, false); FAB.setVisible(false); displayMessage.showMessage(welcomeMessage); welcomeMessage.setContent(MessagesResources.WELCOME_MESSAGE.substring(0, 102)+ " ..."); diff --git a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/MessageItem.java b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/MessageItem.java index 76d01f0..a1c745c 100644 --- a/src/main/java/org/gcube/portets/user/message_conversations/client/ui/MessageItem.java +++ b/src/main/java/org/gcube/portets/user/message_conversations/client/ui/MessageItem.java @@ -1,7 +1,6 @@ package org.gcube.portets.user.message_conversations.client.ui; import org.gcube.portets.user.message_conversations.client.Utils; -import org.gcube.portets.user.message_conversations.client.event.DeleteMessageEvent; import org.gcube.portets.user.message_conversations.client.ui.resources.MessagesResources; import org.gcube.portets.user.message_conversations.shared.ConvMessage; @@ -153,15 +152,14 @@ public class MessageItem extends Composite { @UiHandler("setUnreadButton") void onSetUnread(ClickEvent e) { e.stopPropagation(); - ap.setMessageUnread(myMessage); + ap.setMessageUnread(myMessage, this.sent); myMessage.setRead(false); item.addStyleName("unread-message"); } private void doDelete(String subject) { if (deleteClicked) { - GWT.log("is sent?"+ this.sent); - ap.deleteMessage(new DeleteMessageEvent(myMessage, this.sent)); + ap.deleteMessage(myMessage, this.sent); } else deleteClicked = true; diff --git a/src/main/java/org/gcube/portets/user/message_conversations/server/ConvServiceImpl.java b/src/main/java/org/gcube/portets/user/message_conversations/server/ConvServiceImpl.java index 10e1dde..05f618d 100644 --- a/src/main/java/org/gcube/portets/user/message_conversations/server/ConvServiceImpl.java +++ b/src/main/java/org/gcube/portets/user/message_conversations/server/ConvServiceImpl.java @@ -159,8 +159,9 @@ public class ConvServiceImpl extends RemoteServiceServlet implements MessageServ mu = new MessageUserModel(m.getAddresses().get(0)); } } + boolean hasAttachments = !m.getAttachmentsIds().isEmpty(); if (!sent) { //received messages - boolean hasAttachments = !m.getAttachmentsIds().isEmpty(); + toReturn.add(new ConvMessage( m.getId(), m.getSubject(), @@ -181,7 +182,8 @@ public class ConvServiceImpl extends RemoteServiceServlet implements MessageServ recipients, new Date(m.getSendTime().getTimeInMillis()), previewBody, - m.isRead())); + m.isRead(), + hasAttachments)); } } } catch (Exception e) { @@ -192,7 +194,7 @@ public class ConvServiceImpl extends RemoteServiceServlet implements MessageServ } @Override - public boolean markMessageUnread(String messageId) { + public boolean markMessageUnread(String messageId, boolean sent) { GCubeUser user = getCurrentUser(getThreadLocalRequest()); String scope = pContext.getCurrentScope(getThreadLocalRequest()); SecurityTokenProvider.instance.set(pContext.getCurrentUserToken(scope, user.getUserId())); @@ -200,7 +202,9 @@ public class ConvServiceImpl extends RemoteServiceServlet implements MessageServ HomeManagerFactory factory = HomeLibrary.getHomeManagerFactory(); HomeManager manager = factory.getHomeManager(); Workspace workspace = manager.getHome().getWorkspace(); - workspace.getWorkspaceMessageManager().getReceivedMessage(messageId).setStatus(false); + WorkspaceMessage m = (sent) ? + workspace.getWorkspaceMessageManager().getSentMessage(messageId): workspace.getWorkspaceMessageManager().getReceivedMessage(messageId); + m.setStatus(false); return true; } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/org/gcube/portets/user/message_conversations/shared/ConvMessage.java b/src/main/java/org/gcube/portets/user/message_conversations/shared/ConvMessage.java index 1442e1b..5bae0e2 100644 --- a/src/main/java/org/gcube/portets/user/message_conversations/shared/ConvMessage.java +++ b/src/main/java/org/gcube/portets/user/message_conversations/shared/ConvMessage.java @@ -55,9 +55,9 @@ public class ConvMessage implements IsSerializable{ } - //without attchment + public ConvMessage(String id, String subject, MessageUserModel owner, List recipients, Date date, - String content, boolean isRead) { + String content, boolean isRead, boolean hasAttachments) { super(); this.id = id; this.subject = subject; @@ -66,6 +66,7 @@ public class ConvMessage implements IsSerializable{ this.date = date; this.content = content; this.isRead = isRead; + this.hasAttachments = hasAttachments; attachments = new ArrayList<>(); }