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