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 08bb1b5..224a2e3 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 @@ -122,75 +122,75 @@ public class ConvServiceImpl extends RemoteServiceServlet implements MessageServ return null; } List listMessages = null; - try { - listMessages = (sent) ? - workspace.getWorkspaceMessageManager().getSentMessages() : workspace.getWorkspaceMessageManager().getReceivedMessages(); - } catch (Exception e) { - _log.error("Could not read messages of " + user.getFullname()); - return null; - } - _log.debug("Got messages of " + user.getFullname() + " how many? " + listMessages.size()); - //the messages are returned from the oldest to the new one, so we reverse them - Collections.reverse(listMessages); - LiferayUserManager um = new LiferayUserManager(); - for (WorkspaceMessage m : listMessages) { - String previewBody = m.getBody().length() > 80 ? m.getBody().substring(0, 79) + " ..." : m.getBody(); - MessageUserModel mu = null; - GCubeUser sender = null; - try { - if (sent) { - if (m.getAddresses().size() < 2) { - GCubeUser recipient = um.getUserByUsername(m.getAddresses().get(0)); - mu = new MessageUserModel(recipient.getUserId(), recipient.getUsername(), recipient.getFullname(), recipient.getUserAvatarURL(), "", ""); - } else { - //we have at least 2 recipients - GCubeUser recipient1 = um.getUserByUsername(m.getAddresses().get(0)); - GCubeUser recipient2 = um.getUserByUsername(m.getAddresses().get(1)); - String label2Display = recipient1.getFirstName() + " & " + recipient2.getFirstName(); - if (m.getAddresses().size() > 2) - label2Display += " & ..."; - mu = new MessageUserModel(recipient1.getUserId(), recipient1.getUsername(), label2Display, null, "", ""); + listMessages = (sent) ? + workspace.getWorkspaceMessageManager().getSentMessages() : workspace.getWorkspaceMessageManager().getReceivedMessages(); + if (listMessages == null) { + _log.error("listMessages is null, Could not read messages of " + user.getFullname()); + return null; + } + _log.debug("Got messages of " + user.getFullname() + " how many? " + listMessages.size()); + //the messages are returned from the oldest to the new one, so we reverse them + Collections.reverse(listMessages); + LiferayUserManager um = new LiferayUserManager(); + for (WorkspaceMessage m : listMessages) { + String previewBody = m.getBody().length() > 80 ? m.getBody().substring(0, 79) + " ..." : m.getBody(); + MessageUserModel mu = null; + GCubeUser sender = null; + try { + if (sent) { + if (m.getAddresses().size() < 2) { + GCubeUser recipient = um.getUserByUsername(m.getAddresses().get(0)); + mu = new MessageUserModel(recipient.getUserId(), recipient.getUsername(), recipient.getFullname(), recipient.getUserAvatarURL(), "", ""); + } else { + //we have at least 2 recipients + GCubeUser recipient1 = um.getUserByUsername(m.getAddresses().get(0)); + GCubeUser recipient2 = um.getUserByUsername(m.getAddresses().get(1)); + String label2Display = recipient1.getFirstName() + " & " + recipient2.getFirstName(); + if (m.getAddresses().size() > 2) + label2Display += " & ..."; + mu = new MessageUserModel(recipient1.getUserId(), recipient1.getUsername(), label2Display, null, "", ""); + + } + } else { //received message + sender = um.getUserByUsername(m.getSender().getPortalLogin()); + mu = new MessageUserModel(sender.getUserId(), sender.getUsername(), sender.getFullname(), sender.getUserAvatarURL(), "", ""); + } + } catch (Exception ex) { + if (!sent) { + mu = new MessageUserModel(m.getSender().getPortalLogin()); + } else { + mu = new MessageUserModel(m.getAddresses().get(0)); + } } - } else { //received message - sender = um.getUserByUsername(m.getSender().getPortalLogin()); - mu = new MessageUserModel(sender.getUserId(), sender.getUsername(), sender.getFullname(), sender.getUserAvatarURL(), "", ""); - } - } catch (Exception ex) { - if (!sent) { - mu = new MessageUserModel(m.getSender().getPortalLogin()); - } else { - mu = new MessageUserModel(m.getAddresses().get(0)); - } - } - boolean hasAttachments = !m.getAttachmentsIds().isEmpty(); - if (!sent) { //received messages + boolean hasAttachments = !m.getAttachmentsIds().isEmpty(); + if (!sent) { //received messages - toReturn.add(new ConvMessage( - m.getId(), - m.getSubject(), - mu, - new Date(m.getSendTime().getTimeInMillis()), - previewBody, - m.isRead(), - hasAttachments)); - } else { //sent messages - ArrayList recipients = new ArrayList<>(); - for (String rec : m.getAddresses()) { - recipients.add(new MessageUserModel(rec)); + toReturn.add(new ConvMessage( + m.getId(), + m.getSubject(), + mu, + new Date(m.getSendTime().getTimeInMillis()), + previewBody, + m.isRead(), + hasAttachments)); + } else { //sent messages + ArrayList recipients = new ArrayList<>(); + for (String rec : m.getAddresses()) { + recipients.add(new MessageUserModel(rec)); + } + toReturn.add(new ConvMessage( + m.getId(), + m.getSubject(), + mu, + recipients, + new Date(m.getSendTime().getTimeInMillis()), + previewBody, + m.isRead(), + hasAttachments)); + } } - toReturn.add(new ConvMessage( - m.getId(), - m.getSubject(), - mu, - recipients, - new Date(m.getSendTime().getTimeInMillis()), - previewBody, - m.isRead(), - hasAttachments)); - } - } } catch (Exception e) { e.printStackTrace(); return null;