diff --git a/src/main/java/org/gcube/portal/socialmail/PeriodicTask.java b/src/main/java/org/gcube/portal/socialmail/PeriodicTask.java index 6e525c1..0edfd8b 100644 --- a/src/main/java/org/gcube/portal/socialmail/PeriodicTask.java +++ b/src/main/java/org/gcube/portal/socialmail/PeriodicTask.java @@ -241,6 +241,8 @@ public class PeriodicTask implements Runnable { recipientIds = theMessage.getAddresses(); //add the sender and remove the person who is replying from the recipients String sender = theMessage.getSender().getPortalLogin(); + String originalText = theMessage.getBody(); + Date originalSentTime = theMessage.getSendTime().getTime(); recipientIds.add(sender); recipientIds.remove(fakeSession.getUsername()); @@ -248,7 +250,9 @@ public class PeriodicTask implements Runnable { for (String rec : recipientIds) { _log.debug(rec); } - + _log.debug("Constructing repy message"); + messageText += getReplyHeaderMessage(sender, originalSentTime, originalText); + _log.debug("Trying to send message with subject: " + subject, " to: " + recipientIds.toString()); newMessageId = messageManager.sendMessageToPortalLogins(subject, messageText, new ArrayList(), recipientIds); @@ -269,6 +273,18 @@ public class PeriodicTask implements Runnable { } } + private String getReplyHeaderMessage(String senderId, Date date, String message) { + List toPass = new ArrayList(); + toPass.add(senderId); + List theSender = getUsersbyUserId(toPass); + String senderFullName = senderId; + if (theSender != null && !theSender.isEmpty()) + senderFullName = theSender.get(0).getAlternativeName(); + + String toReturn = "\n\n---\n on " + date + " " + senderFullName + " wrote:"; + toReturn += "\n\n"+message; + return toReturn; + } /** * return the User instance given his id * @param recipientIds