34 lines
1.1 KiB
Java
34 lines
1.1 KiB
Java
package org.mercury_im.messenger.core.connection.message;
|
|
|
|
import org.jivesoftware.smack.packet.id.StandardStanzaIdSource;
|
|
import org.mercury_im.messenger.entity.chat.Chat;
|
|
import org.mercury_im.messenger.entity.message.Message;
|
|
import org.mercury_im.messenger.entity.message.MessageDeliveryState;
|
|
import org.mercury_im.messenger.entity.message.MessageDirection;
|
|
|
|
import java.util.Date;
|
|
import java.util.UUID;
|
|
|
|
public class MessageComposer {
|
|
|
|
public Message createChatMessage(Chat chat, String body) {
|
|
UUID messageId = UUID.randomUUID();
|
|
Message message = new Message();
|
|
message.setId(messageId);
|
|
message.setChatId(chat.getId());
|
|
|
|
message.setLegacyStanzaId(new StandardStanzaIdSource().getNewStanzaId());
|
|
message.setOriginId(messageId.toString());
|
|
|
|
message.setBody(body);
|
|
message.setSender(chat.getAccount().getJid());
|
|
message.setRecipient(chat.getJid());
|
|
message.setDeliveryState(MessageDeliveryState.pending_delivery);
|
|
message.setDirection(MessageDirection.outgoing);
|
|
message.setRead(false);
|
|
message.setTimestamp(new Date());
|
|
|
|
return message;
|
|
}
|
|
}
|