// Path: Server/src/main/java/com/easychat/model/msg/AcceptInvitationMsg.java
// public class AcceptInvitationMsg {
//     private String fromUser;
//     private String toUser;
//     private String content;
//     private String type;
// 
//     public AcceptInvitationMsg() {
//     }
// 
//     public AcceptInvitationMsg(String fromUser, String toUser, String content) {
//         this.fromUser = fromUser;
//         this.toUser = toUser;
//         this.content = content;
//         this.type = "ACCEPT_INVITATION";
//     }
// 
//     public String getFromUser() {
//         return fromUser;
//     }
// 
//     public void setFromUser(String fromUser) {
//         this.fromUser = fromUser;
//     }
// 
//     public String getToUser() {
//         return toUser;
//     }
// 
//     public void setToUser(String toUser) {
//         this.toUser = toUser;
//     }
// 
//     public String getContent() {
//         return content;
//     }
// 
//     public void setContent(String content) {
//         this.content = content;
//     }
// 
//     public String getType() {
//         return type;
//     }
// 
//     public void setType(String type) {
//         this.type = type;
//     }
// }
// 
// Path: Server/src/main/java/com/easychat/model/msg/CommandMsg.java
// public class CommandMsg {
//     private String command;
//     private String type;
// 
//     public CommandMsg() {
//     }
// 
//     public CommandMsg(String command) {
//         this.type = "COMMAND";
//         this.command = command;
//     }
// 
//     public String getCommand() {
//         return command;
//     }
// 
//     public void setCommand(String command) {
//         this.command = command;
//     }
// 
//     public String getType() {
//         return type;
//     }
// 
//     public void setType(String type) {
//         this.type = type;
//     }
// }
// 
// Path: Server/src/main/java/com/easychat/model/msg/Message.java
// public class Message {
//     private String fromUser;
//     private String toUser;
//     private String content;
// 
//     public String getToUser() {
//         return toUser;
//     }
// 
//     public void setToUser(String toUser) {
//         this.toUser = toUser;
//     }
// 
//     public String getFromUser() {
//         return fromUser;
//     }
// 
//     public void setFromUser(String fromUser) {
//         this.fromUser = fromUser;
//     }
// 
//     public Message(){
// 
//     }
// 
//     public Message(String fromUser, String toUser, String content) {
//         this.fromUser = fromUser;
//         this.toUser = toUser;
//         this.content = content;
//     }
// 
//     public String getContent() {
//         return content;
//     }
// 
//     public void setContent(String content) {
//         this.content = content;
//     }
// 
// }
// 
// Path: Server/src/main/java/com/easychat/service/UserService.java
// public interface UserService {
//     void addUser(UserDTO userDTO);
//     User authenticate(UserDTO userDTO);
//     void modifyUserInfo(String name,String json);
//     UserDetailDTO getUser(String name);
//     String getFriends(String name);
//     void deleteFriend(String userName,String friendName);
//     String getFriendInfo(String name,String friend_name);
//     String getStrangerInfo(String name,String stranger_name);
//     boolean setFriendRelationship(String aName, String bName);
// }


import com.easychat.model.msg.AcceptInvitationMsg;
import com.easychat.model.msg.CommandMsg;
import com.easychat.model.msg.Message;
import com.easychat.service.UserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
package com.easychat.controller;


/**
 * Created by xhans on 2015/12/19.
 */
@Controller
@RequestMapping("/")
public class WSController {

    private UserService userService;
    private SimpMessagingTemplate simpMessagingTemplate;

    private static Logger logger = LoggerFactory.getLogger(GroupController.class);
    @Autowired
    public WSController(UserService userService, SimpMessagingTemplate simpMessagingTemplate) {
        this.userService = userService;
        this.simpMessagingTemplate = simpMessagingTemplate;
    }

    @MessageMapping("/chat")
// Path: Server/src/main/java/com/easychat/model/msg/AcceptInvitationMsg.java
// public class AcceptInvitationMsg {
//     private String fromUser;
//     private String toUser;
//     private String content;
//     private String type;
// 
//     public AcceptInvitationMsg() {
//     }
// 
//     public AcceptInvitationMsg(String fromUser, String toUser, String content) {
//         this.fromUser = fromUser;
//         this.toUser = toUser;
//         this.content = content;
//         this.type = "ACCEPT_INVITATION";
//     }
// 
//     public String getFromUser() {
//         return fromUser;
//     }
// 
//     public void setFromUser(String fromUser) {
//         this.fromUser = fromUser;
//     }
// 
//     public String getToUser() {
//         return toUser;
//     }
// 
//     public void setToUser(String toUser) {
//         this.toUser = toUser;
//     }
// 
//     public String getContent() {
//         return content;
//     }
// 
//     public void setContent(String content) {
//         this.content = content;
//     }
// 
//     public String getType() {
//         return type;
//     }
// 
//     public void setType(String type) {
//         this.type = type;
//     }
// }
// 
// Path: Server/src/main/java/com/easychat/model/msg/CommandMsg.java
// public class CommandMsg {
//     private String command;
//     private String type;
// 
//     public CommandMsg() {
//     }
// 
//     public CommandMsg(String command) {
//         this.type = "COMMAND";
//         this.command = command;
//     }
// 
//     public String getCommand() {
//         return command;
//     }
// 
//     public void setCommand(String command) {
//         this.command = command;
//     }
// 
//     public String getType() {
//         return type;
//     }
// 
//     public void setType(String type) {
//         this.type = type;
//     }
// }
// 
// Path: Server/src/main/java/com/easychat/model/msg/Message.java
// public class Message {
//     private String fromUser;
//     private String toUser;
//     private String content;
// 
//     public String getToUser() {
//         return toUser;
//     }
// 
//     public void setToUser(String toUser) {
//         this.toUser = toUser;
//     }
// 
//     public String getFromUser() {
//         return fromUser;
//     }
// 
//     public void setFromUser(String fromUser) {
//         this.fromUser = fromUser;
//     }
// 
//     public Message(){
// 
//     }
// 
//     public Message(String fromUser, String toUser, String content) {
//         this.fromUser = fromUser;
//         this.toUser = toUser;
//         this.content = content;
//     }
// 
//     public String getContent() {
//         return content;
//     }
// 
//     public void setContent(String content) {
//         this.content = content;
//     }
// 
// }
// 
// Path: Server/src/main/java/com/easychat/service/UserService.java
// public interface UserService {
//     void addUser(UserDTO userDTO);
//     User authenticate(UserDTO userDTO);
//     void modifyUserInfo(String name,String json);
//     UserDetailDTO getUser(String name);
//     String getFriends(String name);
//     void deleteFriend(String userName,String friendName);
//     String getFriendInfo(String name,String friend_name);
//     String getStrangerInfo(String name,String stranger_name);
//     boolean setFriendRelationship(String aName, String bName);
// }


// Path: Server/src/main/java/com/easychat/controller/WSController.java
import com.easychat.model.msg.AcceptInvitationMsg;
import com.easychat.model.msg.CommandMsg;
import com.easychat.model.msg.Message;
import com.easychat.service.UserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

package com.easychat.controller;


/**
 * Created by xhans on 2015/12/19.
 */
@Controller
@RequestMapping("/")
public class WSController {

    private UserService userService;
    private SimpMessagingTemplate simpMessagingTemplate;

    private static Logger logger = LoggerFactory.getLogger(GroupController.class);
    @Autowired
    public WSController(UserService userService, SimpMessagingTemplate simpMessagingTemplate) {
        this.userService = userService;
        this.simpMessagingTemplate = simpMessagingTemplate;
    }

    @MessageMapping("/chat")
    public void chat(Message message){