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.SendTableChatMessageCommand;
import com.flexpoker.model.chat.outgoing.TableChatMessage;
import com.flexpoker.util.MessagingConstants;
@Component
public class SendSimpleTableChatMessageCommand implements SendTableChatMessageCommand {
private final SimpMessageSendingOperations messagingTemplate;
@Inject
public SendSimpleTableChatMessageCommand(SimpMessageSendingOperations messagingTemplate) {
this.messagingTemplate = messagingTemplate;
}
@Override
public void execute(TableChatMessage chatMessage) {
if (chatMessage.isSystemMessage()) {
messagingTemplate.convertAndSend(String.format(MessagingConstants.CHAT_TABLE_SYSTEM,
chatMessage.getGameId(), chatMessage.getTableId()),
"System: " + chatMessage.getMessage());
} else {
messagingTemplate.convertAndSend(String.format(MessagingConstants.CHAT_TABLE_USER,
chatMessage.getGameId(), chatMessage.getTableId()),
chatMessage.getSenderUsername() + ": " + chatMessage.getMessage());
}
}
}