Massimiliano Assante 2017-09-27 13:26:20 +00:00
parent 740bb2b707
commit f7887a22ab
1 changed files with 64 additions and 64 deletions

View File

@ -122,75 +122,75 @@ public class ConvServiceImpl extends RemoteServiceServlet implements MessageServ
return null;
}
List<WorkspaceMessage> 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<MessageUserModel> 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<MessageUserModel> 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;