package com.flexpoker.core.chat;
import javax.inject.Inject;
import org.springframework.messaging.simp.SimpMessageSendingOperations;
import org.springframework.stereotype.Component;
import com.flexpoker.core.api.chat.SendPersonalChatMessageCommand;
import com.flexpoker.model.chat.outgoing.PersonalChatMessage;
import com.flexpoker.util.MessagingConstants;
@Component
public class SendSimplePersonalChatMessageCommand implements SendPersonalChatMessageCommand {
private final SimpMessageSendingOperations messagingTemplate;
@Inject
public SendSimplePersonalChatMessageCommand(SimpMessageSendingOperations messagingTemplate) {
this.messagingTemplate = messagingTemplate;
}
@Override
public void execute(PersonalChatMessage chatMessage) {
for (String username : chatMessage.getReceiverUsernames()) {
if (chatMessage.isSystemMessage()) {
messagingTemplate.convertAndSendToUser(username, MessagingConstants.CHAT_PERSONAL_SYSTEM,
"System: " + chatMessage.getMessage());
} else {
messagingTemplate.convertAndSendToUser(username, MessagingConstants.CHAT_PERSONAL_USER,
chatMessage.getSenderUsername() + ": " + chatMessage.getMessage());
}
}
}
}