Commit 5c8edc40 by Bogdan Andjelkovic

live chat uradjen - back i front

parent 5aa65891
......@@ -11,4 +11,6 @@ import lombok.Setter;
@NoArgsConstructor
public class Message {
private String messageContent;
private String from;
private String to;
}
package com.example.SkuciSe.configuration.WebSocket;
import com.example.SkuciSe.model.korisnik.Korisnik;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.simp.annotation.SendToUser;
import org.springframework.stereotype.Controller;
......@@ -10,14 +11,16 @@ import java.security.Principal;
@Controller
public class MessageController {
@Autowired
private WSService service;
@MessageMapping("/private-message")
@SendToUser("topic/private-messages")
public ResponseMessage getPrivateMessage(final Message message,
final Principal principal)throws InterruptedException{
Thread.sleep(1000);
return new ResponseMessage(HtmlUtils.htmlEscape(
"Sending private message to user " + principal.getName() + ": "
+ message.getMessageContent())
);
message.setFrom( principal.getName());
service.notifyUser( message.getTo(), message);
return new ResponseMessage( HtmlUtils.htmlEscape(message.getFrom() + ": "+ message.getMessageContent()));
}
}
......@@ -15,6 +15,6 @@ public class WSController {
@PostMapping("/send-private-message/{mail}")
public void sendPrivateMessage(@PathVariable("mail") final String mail,
@RequestBody final Message message) {
service.notifyUser(mail, message.getMessageContent());
service.notifyUser(mail, message);
}
}
......@@ -13,8 +13,8 @@ public class WSService {
public WSService(SimpMessagingTemplate messagingTemplate) {
this.messagingTemplate = messagingTemplate;
}
public void notifyUser(final String mail, final String message) {
ResponseMessage response = new ResponseMessage(message);
messagingTemplate.convertAndSendToUser(mail, "/topic/private-messages", response);
public void notifyUser(final String mail, final Message message) {
ResponseMessage responseMessage = new ResponseMessage( message.getFrom() + " " + message.getMessageContent());
messagingTemplate.convertAndSendToUser(mail, "/topic/private-messages", responseMessage);
}
}
\ No newline at end of file
......@@ -20,10 +20,10 @@ function connect() {
}
function showMessage(message) {
$("#messages").append("<tr><td>" + message + "</td></tr>");
$("#messages").append("<tr><td>" +message+"</td></tr>");
}
function sendPrivateMessage() {
console.log("sending private message");
stompClient.send("/ws/private-message", {}, JSON.stringify({'messageContent': $("#private-message").val()}));
stompClient.send("/ws/private-message", {}, JSON.stringify({ 'from':"", 'to':$("#to").val(), 'messageContent': $("#private-message").val()}));
}
\ No newline at end of file
......@@ -114,6 +114,8 @@
<div class="form-group">
<label for="private-message">Private Message</label>
<input type="text" id="private-message" class="form-control" placeholder="Enter your message here...">
<label for="private-message">To</label>
<input type="text" id="to" class="form-control" placeholder="Enter your message here...">
</div>
<button id="send-private" class="btn btn-default" type="button">Send Private Message</button>
</form>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment