mirror of
https://github.com/magefree/mage.git
synced 2025-12-24 04:22:01 -08:00
added remove table and swap seats methods + combined several message handlers
This commit is contained in:
parent
dcd2907112
commit
8d6716b2a0
37 changed files with 305 additions and 374 deletions
|
|
@ -255,7 +255,11 @@ public class Client {
|
|||
}
|
||||
|
||||
public void removeTable(UUID roomId, UUID tableId) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
try {
|
||||
tableMessageHandler.removeTable(roomId, tableId);
|
||||
} catch (Exception ex) {
|
||||
logger.error("Error removing table", ex);
|
||||
}
|
||||
}
|
||||
|
||||
public String getSessionId() {
|
||||
|
|
@ -290,13 +294,17 @@ public class Client {
|
|||
try {
|
||||
return leaveTableMessageHandler.leaveTable(roomId, tableId);
|
||||
} catch (Exception ex) {
|
||||
logger.error("Error creating table", ex);
|
||||
logger.error("Error leaving table", ex);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void swapSeats(UUID roomId, UUID tableId, int row, int i) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
public void swapSeats(UUID roomId, UUID tableId, int seatNum1, int seatNum2) {
|
||||
try {
|
||||
tableMessageHandler.swapSeats(roomId, tableId, seatNum1, seatNum2);
|
||||
} catch (Exception ex) {
|
||||
logger.error("Error swaping seats", ex);
|
||||
}
|
||||
}
|
||||
|
||||
public void sendPlayerAction(PlayerAction playerAction, UUID gameId, UUID relatedUserId) {
|
||||
|
|
|
|||
|
|
@ -27,23 +27,17 @@ import org.mage.network.handlers.ExceptionHandler;
|
|||
import org.mage.network.handlers.server.HeartbeatHandler;
|
||||
import org.mage.network.handlers.PingMessageHandler;
|
||||
import org.mage.network.handlers.server.ChatMessageHandler;
|
||||
import org.mage.network.handlers.server.ChatRoomIdHandler;
|
||||
import org.mage.network.handlers.server.ConnectionHandler;
|
||||
import org.mage.network.handlers.server.JoinChatMessageHandler;
|
||||
import org.mage.network.handlers.server.JoinTableMessageHandler;
|
||||
import org.mage.network.handlers.server.LeaveChatMessageHandler;
|
||||
import org.mage.network.handlers.server.LeaveTableMessageHandler;
|
||||
import org.mage.network.handlers.server.RegisterClientMessageHandler;
|
||||
import org.mage.network.handlers.server.RoomMessageHandler;
|
||||
import org.mage.network.handlers.server.ServerMessageHandler;
|
||||
import org.mage.network.handlers.server.TableMessageHandler;
|
||||
import org.mage.network.handlers.server.TableWaitingMessageHandler;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.model.ChatMessageMessage;
|
||||
import org.mage.network.model.InformClientMessage;
|
||||
import org.mage.network.model.JoinedTableMessage;
|
||||
import org.mage.network.model.MessageType;
|
||||
import org.mage.network.model.PingMessage;
|
||||
import org.mage.network.model.ReceiveChatMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -66,16 +60,10 @@ public class Server {
|
|||
private final EventExecutorGroup handlersExecutor = new DefaultEventExecutorGroup(Runtime.getRuntime().availableProcessors() * 2);
|
||||
private final RegisterClientMessageHandler registerClientMessageHandler;
|
||||
|
||||
private final ChatRoomIdHandler chatRoomIdHandler;
|
||||
private final ChatMessageHandler chatMessageHandler;
|
||||
private final JoinChatMessageHandler joinChatMessageHandler;
|
||||
private final LeaveChatMessageHandler leaveChatMessageHandler;
|
||||
private final ServerMessageHandler serverMessageHandler;
|
||||
private final RoomMessageHandler roomMessageHandler;
|
||||
private final TableMessageHandler tableMessageHandler;
|
||||
private final JoinTableMessageHandler joinTableMessageHandler;
|
||||
private final TableWaitingMessageHandler tableWaitingMessageHandler;
|
||||
private final LeaveTableMessageHandler leaveTableMessageHandler;
|
||||
|
||||
private final ExceptionHandler exceptionHandler;
|
||||
|
||||
|
|
@ -83,15 +71,9 @@ public class Server {
|
|||
this.server = server;
|
||||
registerClientMessageHandler = new RegisterClientMessageHandler(server);
|
||||
chatMessageHandler = new ChatMessageHandler(server);
|
||||
joinChatMessageHandler = new JoinChatMessageHandler(server);
|
||||
leaveChatMessageHandler = new LeaveChatMessageHandler(server);
|
||||
chatRoomIdHandler = new ChatRoomIdHandler(server);
|
||||
serverMessageHandler = new ServerMessageHandler(server);
|
||||
roomMessageHandler = new RoomMessageHandler(server);
|
||||
tableMessageHandler = new TableMessageHandler(server);
|
||||
joinTableMessageHandler = new JoinTableMessageHandler(server);
|
||||
tableWaitingMessageHandler = new TableWaitingMessageHandler(server);
|
||||
leaveTableMessageHandler = new LeaveTableMessageHandler(server);
|
||||
|
||||
exceptionHandler = new ExceptionHandler();
|
||||
}
|
||||
|
|
@ -143,16 +125,10 @@ public class Server {
|
|||
ch.pipeline().addLast("connectionHandler", new ConnectionHandler());
|
||||
ch.pipeline().addLast(handlersExecutor, "registerClientMessageHandler", registerClientMessageHandler);
|
||||
|
||||
ch.pipeline().addLast(handlersExecutor, "chatRoomIdHandler", chatRoomIdHandler);
|
||||
ch.pipeline().addLast(handlersExecutor, "chatMessageHandler", chatMessageHandler);
|
||||
ch.pipeline().addLast(handlersExecutor, "joinChatMessageHandler", joinChatMessageHandler);
|
||||
ch.pipeline().addLast(handlersExecutor, "leaveChatMessageHandler", leaveChatMessageHandler);
|
||||
ch.pipeline().addLast(handlersExecutor, "serverMessageHandler", serverMessageHandler);
|
||||
ch.pipeline().addLast(handlersExecutor, "roomMessageHandler", roomMessageHandler);
|
||||
ch.pipeline().addLast(handlersExecutor, "tableMessageHandler", tableMessageHandler);
|
||||
ch.pipeline().addLast(handlersExecutor, "joinTableMessageHandler", joinTableMessageHandler);
|
||||
ch.pipeline().addLast(handlersExecutor, "tableWaitingMessageHandler", tableWaitingMessageHandler);
|
||||
ch.pipeline().addLast(handlersExecutor, "leaveTableMessageHandler", leaveTableMessageHandler);
|
||||
|
||||
ch.pipeline().addLast("exceptionHandler", exceptionHandler);
|
||||
}
|
||||
|
|
@ -171,7 +147,7 @@ public class Server {
|
|||
public void sendChatMessage(String sessionId, UUID chatId, ChatMessage message) {
|
||||
Channel ch = findChannel(sessionId);
|
||||
if (ch != null)
|
||||
ch.writeAndFlush(new ReceiveChatMessage(chatId, message));
|
||||
ch.writeAndFlush(new ChatMessageMessage(chatId, message));
|
||||
}
|
||||
|
||||
public void informClient(String sessionId, String title, String message, MessageType type) {
|
||||
|
|
|
|||
|
|
@ -4,14 +4,14 @@ import io.netty.channel.ChannelHandlerContext;
|
|||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import java.util.UUID;
|
||||
import org.mage.network.interfaces.MageClient;
|
||||
import org.mage.network.model.ReceiveChatMessage;
|
||||
import org.mage.network.model.SendChatMessage;
|
||||
import org.mage.network.model.ChatMessageMessage;
|
||||
import org.mage.network.model.ChatMessageRequest;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class ChatMessageHandler extends SimpleChannelInboundHandler<ReceiveChatMessage> {
|
||||
public class ChatMessageHandler extends SimpleChannelInboundHandler<ChatMessageMessage> {
|
||||
|
||||
private final MageClient client;
|
||||
private ChannelHandlerContext ctx;
|
||||
|
|
@ -27,11 +27,11 @@ public class ChatMessageHandler extends SimpleChannelInboundHandler<ReceiveChatM
|
|||
}
|
||||
|
||||
@Override
|
||||
protected void messageReceived(ChannelHandlerContext ctx, ReceiveChatMessage msg) throws Exception {
|
||||
protected void messageReceived(ChannelHandlerContext ctx, ChatMessageMessage msg) throws Exception {
|
||||
client.receiveChatMessage(msg.getChatId(), msg.getMessage());
|
||||
}
|
||||
|
||||
public void sendMessage(UUID chatId, String message) {
|
||||
ctx.writeAndFlush(new SendChatMessage(chatId, message));
|
||||
ctx.writeAndFlush(new ChatMessageRequest(chatId, message));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ import java.util.concurrent.BlockingQueue;
|
|||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import org.mage.network.model.ChatRoomIdMessage;
|
||||
import org.mage.network.model.ChatRoomIdRequest;
|
||||
import org.mage.network.model.JoinChatMessage;
|
||||
import org.mage.network.model.LeaveChatMessage;
|
||||
import org.mage.network.model.JoinChatRequest;
|
||||
import org.mage.network.model.LeaveChatRequest;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -30,18 +30,18 @@ public class ChatRoomHandler extends SimpleChannelInboundHandler<ChatRoomIdMessa
|
|||
queue.offer(msg.getId());
|
||||
}
|
||||
|
||||
public UUID getChatRoomId(UUID id) throws Exception {
|
||||
public UUID getChatRoomId(UUID roomId) throws Exception {
|
||||
queue.clear();
|
||||
ctx.writeAndFlush(new ChatRoomIdRequest(id));
|
||||
ctx.writeAndFlush(new ChatRoomIdRequest(roomId));
|
||||
return queue.take();
|
||||
}
|
||||
|
||||
public void joinChat(UUID chatId) {
|
||||
ctx.writeAndFlush(new JoinChatMessage(chatId));
|
||||
ctx.writeAndFlush(new JoinChatRequest(chatId));
|
||||
}
|
||||
|
||||
public void leaveChat(UUID chatId) {
|
||||
ctx.writeAndFlush(new LeaveChatMessage(chatId));
|
||||
ctx.writeAndFlush(new LeaveChatRequest(chatId));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,9 +5,6 @@ import io.netty.channel.SimpleChannelInboundHandler;
|
|||
import java.util.UUID;
|
||||
import java.util.concurrent.BlockingQueue;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import mage.cards.decks.DeckCardLists;
|
||||
import org.mage.network.model.JoinTableMessage;
|
||||
import org.mage.network.model.JoinTableRequest;
|
||||
import org.mage.network.model.LeaveTableRequest;
|
||||
import org.mage.network.model.LeftTableMessage;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ import java.util.UUID;
|
|||
import java.util.concurrent.BlockingQueue;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import mage.view.RoomView;
|
||||
import org.mage.network.model.GetRoomRequest;
|
||||
import org.mage.network.model.RoomMessage;
|
||||
import org.mage.network.model.RoomRequest;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -32,7 +32,7 @@ public class RoomMessageHandler extends SimpleChannelInboundHandler<RoomMessage>
|
|||
|
||||
public RoomView getRoom(UUID roomId) throws Exception {
|
||||
queue.clear();
|
||||
ctx.writeAndFlush(new RoomRequest(roomId));
|
||||
ctx.writeAndFlush(new GetRoomRequest(roomId));
|
||||
return queue.take();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ import mage.game.match.MatchOptions;
|
|||
import mage.view.TableView;
|
||||
import org.mage.network.model.CreateTableMessage;
|
||||
import org.mage.network.model.CreateTableRequest;
|
||||
import org.mage.network.model.RemoveTableRequest;
|
||||
import org.mage.network.model.SwapSeatRequest;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -35,5 +37,13 @@ public class TableMessageHandler extends SimpleChannelInboundHandler<CreateTable
|
|||
ctx.writeAndFlush(new CreateTableRequest(roomId, options));
|
||||
return queue.take();
|
||||
}
|
||||
|
||||
|
||||
public void removeTable(UUID roomId, UUID tableId) throws Exception {
|
||||
ctx.writeAndFlush(new RemoveTableRequest(roomId, tableId));
|
||||
}
|
||||
|
||||
public void swapSeats(UUID roomId, UUID tableId, int seatNum1, int seatNum2) throws Exception {
|
||||
ctx.writeAndFlush(new SwapSeatRequest(roomId, tableId, seatNum1, seatNum2));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,24 +4,38 @@ import io.netty.channel.ChannelHandler.Sharable;
|
|||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.model.SendChatMessage;
|
||||
import org.mage.network.model.ChatMessageRequest;
|
||||
import org.mage.network.model.ChatRequest;
|
||||
import org.mage.network.model.ChatRoomIdMessage;
|
||||
import org.mage.network.model.ChatRoomIdRequest;
|
||||
import org.mage.network.model.JoinChatRequest;
|
||||
import org.mage.network.model.LeaveChatRequest;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
@Sharable
|
||||
public class ChatMessageHandler extends SimpleChannelInboundHandler<SendChatMessage> {
|
||||
public class ChatMessageHandler extends SimpleChannelInboundHandler<ChatRequest> {
|
||||
|
||||
private final MageServer server;
|
||||
|
||||
public ChatMessageHandler (MageServer server) {
|
||||
public ChatMessageHandler(MageServer server) {
|
||||
this.server = server;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void messageReceived(ChannelHandlerContext ctx, SendChatMessage msg) throws Exception {
|
||||
server.receiveChatMessage(msg.getChatId(), ctx.channel().id().asLongText(), msg.getMessage());
|
||||
public void messageReceived(ChannelHandlerContext ctx, ChatRequest msg) {
|
||||
if (msg instanceof JoinChatRequest) {
|
||||
server.joinChat(msg.getChatId(), ctx.channel().id().asLongText());
|
||||
}
|
||||
if (msg instanceof ChatMessageRequest) {
|
||||
ChatMessageRequest r = (ChatMessageRequest)msg;
|
||||
server.receiveChatMessage(r.getChatId(), ctx.channel().id().asLongText(), r.getMessage());
|
||||
}
|
||||
if (msg instanceof LeaveChatRequest) {
|
||||
server.leaveChat(msg.getChatId(), ctx.channel().id().asLongText());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +0,0 @@
|
|||
package org.mage.network.handlers.server;
|
||||
|
||||
import io.netty.channel.ChannelHandler.Sharable;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.model.ChatRoomIdMessage;
|
||||
import org.mage.network.model.ChatRoomIdRequest;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
@Sharable
|
||||
public class ChatRoomIdHandler extends SimpleChannelInboundHandler<ChatRoomIdRequest> {
|
||||
|
||||
private final MageServer server;
|
||||
|
||||
public ChatRoomIdHandler (MageServer server) {
|
||||
this.server = server;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void messageReceived(ChannelHandlerContext ctx, ChatRoomIdRequest msg) {
|
||||
ctx.writeAndFlush(new ChatRoomIdMessage(server.getRoomChatId(msg.getId())));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
package org.mage.network.handlers.server;
|
||||
|
||||
import io.netty.channel.ChannelHandler.Sharable;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.model.JoinChatMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
@Sharable
|
||||
public class JoinChatMessageHandler extends SimpleChannelInboundHandler<JoinChatMessage> {
|
||||
|
||||
private final MageServer server;
|
||||
|
||||
public JoinChatMessageHandler (MageServer server) {
|
||||
this.server = server;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void messageReceived(ChannelHandlerContext ctx, JoinChatMessage msg) throws Exception {
|
||||
server.joinChat(msg.getChatId(), ctx.channel().id().asLongText());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
package org.mage.network.handlers.server;
|
||||
|
||||
import io.netty.channel.ChannelHandler.Sharable;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.model.JoinTableMessage;
|
||||
import org.mage.network.model.JoinTableRequest;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
@Sharable
|
||||
public class JoinTableMessageHandler extends SimpleChannelInboundHandler<JoinTableRequest> {
|
||||
|
||||
private final MageServer server;
|
||||
|
||||
public JoinTableMessageHandler (MageServer server) {
|
||||
this.server = server;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void messageReceived(ChannelHandlerContext ctx, JoinTableRequest msg) {
|
||||
ctx.writeAndFlush(new JoinTableMessage(server.joinTable(ctx.channel().id().asLongText(), msg.getRoomId(), msg.getTableId(), msg.getName(), msg.getPlayerType(), msg.getSkill(), msg.getDeckCardLists(), msg.getPassword())));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
package org.mage.network.handlers.server;
|
||||
|
||||
import io.netty.channel.ChannelHandler.Sharable;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.model.JoinChatMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
@Sharable
|
||||
public class LeaveChatMessageHandler extends SimpleChannelInboundHandler<JoinChatMessage> {
|
||||
|
||||
private final MageServer server;
|
||||
|
||||
public LeaveChatMessageHandler (MageServer server) {
|
||||
this.server = server;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void messageReceived(ChannelHandlerContext ctx, JoinChatMessage msg) throws Exception {
|
||||
server.leaveChat(msg.getChatId(), ctx.channel().id().asLongText());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
package org.mage.network.handlers.server;
|
||||
|
||||
import io.netty.channel.ChannelHandler.Sharable;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.model.JoinTableMessage;
|
||||
import org.mage.network.model.JoinTableRequest;
|
||||
import org.mage.network.model.JoinedTableMessage;
|
||||
import org.mage.network.model.LeaveTableRequest;
|
||||
import org.mage.network.model.LeftTableMessage;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
@Sharable
|
||||
public class LeaveTableMessageHandler extends SimpleChannelInboundHandler<LeaveTableRequest> {
|
||||
|
||||
private final MageServer server;
|
||||
|
||||
public LeaveTableMessageHandler (MageServer server) {
|
||||
this.server = server;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void messageReceived(ChannelHandlerContext ctx, LeaveTableRequest msg) {
|
||||
LeftTableMessage resp = new LeftTableMessage(server.leaveTable(ctx.channel().id().asLongText(), msg.getRoomId(), msg.getTableId()));
|
||||
ctx.writeAndFlush(resp);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -4,6 +4,11 @@ import io.netty.channel.ChannelHandler.Sharable;
|
|||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.model.ChatRoomIdMessage;
|
||||
import org.mage.network.model.ChatRoomIdRequest;
|
||||
import org.mage.network.model.CreateTableMessage;
|
||||
import org.mage.network.model.CreateTableRequest;
|
||||
import org.mage.network.model.GetRoomRequest;
|
||||
import org.mage.network.model.RoomMessage;
|
||||
import org.mage.network.model.RoomRequest;
|
||||
|
||||
|
|
@ -22,7 +27,16 @@ public class RoomMessageHandler extends SimpleChannelInboundHandler<RoomRequest>
|
|||
|
||||
@Override
|
||||
public void messageReceived(ChannelHandlerContext ctx, RoomRequest msg) {
|
||||
ctx.writeAndFlush(new RoomMessage(server.getRoom(msg.getRoomId())));
|
||||
if (msg instanceof CreateTableRequest) {
|
||||
CreateTableRequest r = (CreateTableRequest)msg;
|
||||
ctx.writeAndFlush(new CreateTableMessage(server.createTable(ctx.channel().id().asLongText(), r.getRoomId(), r.getMatchOptions())));
|
||||
}
|
||||
else if (msg instanceof ChatRoomIdRequest) {
|
||||
ctx.writeAndFlush(new ChatRoomIdMessage(server.getRoomChatId(msg.getRoomId())));
|
||||
}
|
||||
else if (msg instanceof GetRoomRequest) {
|
||||
ctx.writeAndFlush(new RoomMessage(server.getRoom(msg.getRoomId())));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,13 +6,22 @@ import io.netty.channel.SimpleChannelInboundHandler;
|
|||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.model.CreateTableMessage;
|
||||
import org.mage.network.model.CreateTableRequest;
|
||||
import org.mage.network.model.JoinTableMessage;
|
||||
import org.mage.network.model.JoinTableRequest;
|
||||
import org.mage.network.model.LeaveTableRequest;
|
||||
import org.mage.network.model.LeftTableMessage;
|
||||
import org.mage.network.model.RemoveTableRequest;
|
||||
import org.mage.network.model.SwapSeatRequest;
|
||||
import org.mage.network.model.TableRequest;
|
||||
import org.mage.network.model.TableWaitingMessage;
|
||||
import org.mage.network.model.TableWaitingRequest;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
@Sharable
|
||||
public class TableMessageHandler extends SimpleChannelInboundHandler<CreateTableRequest> {
|
||||
public class TableMessageHandler extends SimpleChannelInboundHandler<TableRequest> {
|
||||
|
||||
private final MageServer server;
|
||||
|
||||
|
|
@ -21,8 +30,24 @@ public class TableMessageHandler extends SimpleChannelInboundHandler<CreateTable
|
|||
}
|
||||
|
||||
@Override
|
||||
public void messageReceived(ChannelHandlerContext ctx, CreateTableRequest msg) {
|
||||
ctx.writeAndFlush(new CreateTableMessage(server.createTable(ctx.channel().id().asLongText(), msg.getRoomId(), msg.getMatchOptions())));
|
||||
public void messageReceived(ChannelHandlerContext ctx, TableRequest msg) {
|
||||
if (msg instanceof TableWaitingRequest) {
|
||||
ctx.writeAndFlush(new TableWaitingMessage(server.getTable(msg.getRoomId(), msg.getTableId())));
|
||||
}
|
||||
if (msg instanceof RemoveTableRequest) {
|
||||
server.removeTable(ctx.channel().id().asLongText(), msg.getRoomId(), msg.getTableId());
|
||||
}
|
||||
if (msg instanceof LeaveTableRequest) {
|
||||
ctx.writeAndFlush(new LeftTableMessage(server.leaveTable(ctx.channel().id().asLongText(), msg.getRoomId(), msg.getTableId())));
|
||||
}
|
||||
if (msg instanceof JoinTableRequest) {
|
||||
JoinTableRequest r = (JoinTableRequest)msg;
|
||||
ctx.writeAndFlush(new JoinTableMessage(server.joinTable(ctx.channel().id().asLongText(), r.getRoomId(), r.getTableId(), r.getName(), r.getPlayerType(), r.getSkill(), r.getDeckCardLists(), r.getPassword())));
|
||||
}
|
||||
if (msg instanceof SwapSeatRequest) {
|
||||
SwapSeatRequest r = (SwapSeatRequest)msg;
|
||||
server.swapSeats(ctx.channel().id().asLongText(), r.getRoomId(), r.getTableId(), r.getSeatNum1(), r.getSeatNum2());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,28 +0,0 @@
|
|||
package org.mage.network.handlers.server;
|
||||
|
||||
import io.netty.channel.ChannelHandler.Sharable;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
import org.mage.network.model.TableWaitingMessage;
|
||||
import org.mage.network.model.TableWaitingRequest;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
@Sharable
|
||||
public class TableWaitingMessageHandler extends SimpleChannelInboundHandler<TableWaitingRequest> {
|
||||
|
||||
private final MageServer server;
|
||||
|
||||
public TableWaitingMessageHandler (MageServer server) {
|
||||
this.server = server;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void messageReceived(ChannelHandlerContext ctx, TableWaitingRequest msg) {
|
||||
ctx.writeAndFlush(new TableWaitingMessage(server.getTable(msg.getRoomId(), msg.getTableId())));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -32,8 +32,10 @@ public interface MageServer {
|
|||
TableView createTable(String sessionId, UUID roomId, MatchOptions options);
|
||||
boolean joinTable(String sessionId, UUID roomId, UUID tableId, String name, String playerType, int skill, DeckCardLists deckList, String password);
|
||||
TableView getTable(UUID roomId, UUID tableId);
|
||||
boolean leaveTable(String asLongText, UUID roomId, UUID tableId);
|
||||
boolean leaveTable(String sessionId, UUID roomId, UUID tableId);
|
||||
void removeTable(String sessionId, UUID roomId, UUID tableId);
|
||||
void swapSeats(String sessionId, UUID roomId, UUID tableId, int seatNum1, int seatNum2);
|
||||
|
||||
void pingTime(long milliSeconds, String sessionId);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,20 +8,20 @@ import mage.view.ChatMessage;
|
|||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class ReceiveChatMessage implements Serializable {
|
||||
public class ChatMessageMessage implements Serializable {
|
||||
|
||||
private UUID chatId;
|
||||
private ChatMessage message;
|
||||
|
||||
public ReceiveChatMessage(UUID chatId, ChatMessage message) {
|
||||
public ChatMessageMessage(UUID chatId, ChatMessage message) {
|
||||
this.chatId = chatId;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
|
||||
public UUID getChatId() {
|
||||
return chatId;
|
||||
}
|
||||
|
||||
|
||||
public ChatMessage getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class ChatMessageRequest extends ChatRequest {
|
||||
|
||||
private String message;
|
||||
|
||||
public ChatMessageRequest(UUID chatId, String message) {
|
||||
super(chatId);
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -7,11 +7,11 @@ import java.util.UUID;
|
|||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class JoinChatMessage implements Serializable {
|
||||
public abstract class ChatRequest implements Serializable {
|
||||
|
||||
private UUID chatId;
|
||||
|
||||
public JoinChatMessage(UUID chatId) {
|
||||
public ChatRequest(UUID chatId) {
|
||||
this.chatId = chatId;
|
||||
}
|
||||
|
||||
|
|
@ -1,22 +1,15 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class ChatRoomIdRequest implements Serializable {
|
||||
public class ChatRoomIdRequest extends RoomRequest {
|
||||
|
||||
private UUID id;
|
||||
|
||||
public ChatRoomIdRequest(UUID id) {
|
||||
this.id = id;
|
||||
public ChatRoomIdRequest(UUID roomId) {
|
||||
super(roomId);
|
||||
}
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,20 +8,15 @@ import mage.game.match.MatchOptions;
|
|||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class CreateTableRequest implements Serializable {
|
||||
public class CreateTableRequest extends RoomRequest {
|
||||
|
||||
private UUID roomId;
|
||||
private MatchOptions options;
|
||||
|
||||
public CreateTableRequest(UUID roomId, MatchOptions options) {
|
||||
this.roomId = roomId;
|
||||
super(roomId);
|
||||
this.options = options;
|
||||
}
|
||||
|
||||
public UUID getRoomId() {
|
||||
return roomId;
|
||||
}
|
||||
|
||||
public MatchOptions getMatchOptions() {
|
||||
return options;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class GetRoomRequest extends RoomRequest {
|
||||
|
||||
public GetRoomRequest(UUID roomId) {
|
||||
super(roomId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class JoinChatRequest extends ChatRequest {
|
||||
|
||||
public JoinChatRequest(UUID chatId) {
|
||||
super(chatId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -8,10 +8,8 @@ import mage.cards.decks.DeckCardLists;
|
|||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class JoinTableRequest implements Serializable {
|
||||
public class JoinTableRequest extends TableRequest {
|
||||
|
||||
private UUID roomId;
|
||||
private UUID tableId;
|
||||
private String name;
|
||||
private String playerType;
|
||||
private int skill;
|
||||
|
|
@ -19,23 +17,14 @@ public class JoinTableRequest implements Serializable {
|
|||
private String password;
|
||||
|
||||
public JoinTableRequest(UUID roomId, UUID tableId, String name, String playerType, int skill, DeckCardLists deckList, String password) {
|
||||
this.roomId = roomId;
|
||||
this.tableId = tableId;
|
||||
super(roomId, tableId);
|
||||
this.name = name;
|
||||
this.playerType = playerType;
|
||||
this.skill = skill;
|
||||
this.deckList = deckList;
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public UUID getRoomId() {
|
||||
return roomId;
|
||||
}
|
||||
|
||||
public UUID getTableId() {
|
||||
return tableId;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,22 +0,0 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class LeaveChatMessage implements Serializable {
|
||||
|
||||
private UUID chatId;
|
||||
|
||||
public LeaveChatMessage(UUID chatId) {
|
||||
this.chatId = chatId;
|
||||
}
|
||||
|
||||
public UUID getChatId() {
|
||||
return chatId;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class LeaveChatRequest extends ChatRequest {
|
||||
|
||||
public LeaveChatRequest(UUID chatId) {
|
||||
super(chatId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -7,22 +7,10 @@ import java.util.UUID;
|
|||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class LeaveTableRequest implements Serializable {
|
||||
|
||||
private UUID roomId;
|
||||
private UUID tableId;
|
||||
|
||||
public class LeaveTableRequest extends TableRequest {
|
||||
|
||||
public LeaveTableRequest(UUID roomId, UUID tableId) {
|
||||
this.roomId = roomId;
|
||||
this.tableId = tableId;
|
||||
}
|
||||
|
||||
public UUID getRoomId() {
|
||||
return roomId;
|
||||
super(roomId, tableId);
|
||||
}
|
||||
|
||||
public UUID getTableId() {
|
||||
return tableId;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class RemoveTableRequest extends TableRequest {
|
||||
|
||||
|
||||
public RemoveTableRequest(UUID roomId, UUID tableId) {
|
||||
super(roomId, tableId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -7,7 +7,7 @@ import java.util.UUID;
|
|||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class RoomRequest implements Serializable {
|
||||
public abstract class RoomRequest implements Serializable {
|
||||
|
||||
private UUID roomId;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,28 +0,0 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class SendChatMessage implements Serializable {
|
||||
|
||||
private UUID chatId;
|
||||
private String message;
|
||||
|
||||
public SendChatMessage(UUID chatId, String message) {
|
||||
this.chatId = chatId;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public UUID getChatId() {
|
||||
return chatId;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class SwapSeatRequest extends TableRequest {
|
||||
|
||||
private int seatNum1;
|
||||
private int seatNum2;
|
||||
|
||||
public SwapSeatRequest(UUID roomId, UUID tableId, int seatNum1, int seatNum2) {
|
||||
super(roomId, tableId);
|
||||
this.seatNum1 = seatNum1;
|
||||
this.seatNum2 = seatNum2;
|
||||
}
|
||||
|
||||
public int getSeatNum1() {
|
||||
return seatNum1;
|
||||
}
|
||||
|
||||
public int getSeatNum2() {
|
||||
return seatNum2;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public abstract class TableRequest implements Serializable {
|
||||
|
||||
protected UUID roomId;
|
||||
protected UUID tableId;
|
||||
|
||||
public TableRequest(UUID roomId, UUID tableId) {
|
||||
this.roomId = roomId;
|
||||
this.tableId = tableId;
|
||||
}
|
||||
|
||||
public UUID getRoomId() {
|
||||
return roomId;
|
||||
}
|
||||
|
||||
public UUID getTableId() {
|
||||
return tableId;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,28 +1,15 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class TableWaitingRequest implements Serializable {
|
||||
|
||||
private UUID roomId;
|
||||
private UUID tableId;
|
||||
|
||||
public TableWaitingRequest(UUID roomId, UUID tableId) {
|
||||
this.roomId = roomId;
|
||||
this.tableId = tableId;
|
||||
}
|
||||
|
||||
public UUID getRoomId() {
|
||||
return roomId;
|
||||
}
|
||||
public class TableWaitingRequest extends TableRequest {
|
||||
|
||||
public UUID getTableId() {
|
||||
return tableId;
|
||||
public TableWaitingRequest(UUID roomId, UUID tableId) {
|
||||
super(roomId, tableId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ import mage.remote.Connection;
|
|||
//import mage.remote.Session;
|
||||
//import mage.remote.SessionImpl;
|
||||
import mage.utils.MageVersion;
|
||||
import mage.view.ChatMessage;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.network.Client;
|
||||
import org.mage.network.interfaces.MageClient;
|
||||
|
|
@ -99,7 +100,7 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient {
|
|||
initComponents();
|
||||
try {
|
||||
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
|
||||
client = new Client();
|
||||
// client = new Client();
|
||||
connectDialog = new ConnectDialog();
|
||||
} catch (Exception ex) {
|
||||
logger.fatal("", ex);
|
||||
|
|
@ -114,10 +115,10 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient {
|
|||
}
|
||||
|
||||
public boolean connect(Connection connection) {
|
||||
if (client.connect(connection.getUsername(), connection.getHost(), connection.getPort(), version, this)) {
|
||||
this.consolePanel1.start();
|
||||
return true;
|
||||
}
|
||||
// if (client.connect(connection.getUsername(), connection.getHost(), connection.getPort(), version, this)) {
|
||||
// this.consolePanel1.start();
|
||||
// return true;
|
||||
// }
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -207,7 +208,7 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient {
|
|||
if (client.isConnected()) {
|
||||
if (JOptionPane.showConfirmDialog(this, "Are you sure you want to disconnect?", "Confirm disconnect", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
|
||||
this.consolePanel1.stop();
|
||||
client.disconnect();
|
||||
// client.disconnect();
|
||||
}
|
||||
} else {
|
||||
connectDialog.showDialog(this);
|
||||
|
|
@ -321,7 +322,7 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient {
|
|||
if (JOptionPane.showConfirmDialog(this, "You are currently connected. Are you sure you want to disconnect?", "Confirm disconnect", JOptionPane.YES_NO_OPTION) != JOptionPane.YES_OPTION) {
|
||||
return;
|
||||
}
|
||||
client.disconnect();
|
||||
// client.disconnect();
|
||||
} else {
|
||||
if (JOptionPane.showConfirmDialog(this, "Are you sure you want to exit?", "Confirm exit", JOptionPane.YES_NO_OPTION) != JOptionPane.YES_OPTION) {
|
||||
return;
|
||||
|
|
@ -336,23 +337,33 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient {
|
|||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receiveChatMessage(UUID chatId, String user, String message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
// @Override
|
||||
// public void receiveChatMessage(UUID chatId, String user, String message) {
|
||||
// throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void receiveBroadcastMessage(String message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setServerState(ServerState state) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
// @Override
|
||||
// public void setServerState(ServerState state) {
|
||||
// throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
// }
|
||||
|
||||
@Override
|
||||
public ServerState getServerState() {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receiveChatMessage(UUID chatId, ChatMessage message) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clientRegistered(ServerState state) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -519,7 +519,7 @@ class UpdateTablesTask extends SwingWorker<Void, Collection<TableView>> {
|
|||
@Override
|
||||
protected Void doInBackground() throws Exception {
|
||||
while (!isCancelled()) {
|
||||
this.publish(client.getTables(roomId));
|
||||
// this.publish(client.getTables(roomId));
|
||||
Thread.sleep(3000);
|
||||
}
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -345,16 +345,16 @@ public class Main implements MageServer {
|
|||
// });
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void removeTable(final String sessionId, final UUID roomId, final UUID tableId) throws MageException {
|
||||
@Override
|
||||
public void removeTable(final String sessionId, final UUID roomId, final UUID tableId) {
|
||||
// execute("removeTable", sessionId, new Action() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
// TableManager.getInstance().removeTable(userId, tableId);
|
||||
UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
TableManager.getInstance().removeTable(userId, tableId);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
}
|
||||
//
|
||||
@Override
|
||||
public boolean joinTable(final String sessionId, final UUID roomId, final UUID tableId, final String name, final String playerType, final int skill, final DeckCardLists deckList, final String password) {
|
||||
|
|
@ -663,16 +663,16 @@ public class Main implements MageServer {
|
|||
// });
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void swapSeats(final String sessionId, final UUID roomId, final UUID tableId, final int seatNum1, final int seatNum2) throws MageException {
|
||||
@Override
|
||||
public void swapSeats(final String sessionId, final UUID roomId, final UUID tableId, final int seatNum1, final int seatNum2) {
|
||||
// execute("swapSeats", sessionId, new Action() {
|
||||
// @Override
|
||||
// public void execute() {
|
||||
// UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
// TableManager.getInstance().swapSeats(tableId, userId, seatNum1, seatNum2);
|
||||
UUID userId = SessionManager.getInstance().getSession(sessionId).getUserId();
|
||||
TableManager.getInstance().swapSeats(tableId, userId, seatNum1, seatNum2);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
}
|
||||
//
|
||||
@Override
|
||||
public boolean leaveTable(final String sessionId, final UUID roomId, final UUID tableId) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue