added remove table and swap seats methods + combined several message handlers

This commit is contained in:
betasteward 2015-06-12 08:40:41 -04:00
parent dcd2907112
commit 8d6716b2a0
37 changed files with 305 additions and 374 deletions

View file

@ -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) {

View file

@ -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) {

View file

@ -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));
}
}

View file

@ -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));
}
}

View file

@ -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;

View file

@ -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();
}

View file

@ -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));
}
}

View file

@ -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());
}
}
}

View file

@ -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())));
}
}

View file

@ -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());
}
}

View file

@ -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())));
}
}

View file

@ -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());
}
}

View file

@ -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);
}
}

View file

@ -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())));
}
}
}

View file

@ -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());
}
}
}

View file

@ -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())));
}
}

View file

@ -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);
}

View file

@ -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;
}

View file

@ -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;
}
}

View file

@ -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;
}

View file

@ -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;
}
}

View file

@ -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;
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -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;
}

View file

@ -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;
}
}

View file

@ -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);
}
}

View file

@ -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;
}
}

View file

@ -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);
}
}

View file

@ -7,7 +7,7 @@ import java.util.UUID;
*
* @author BetaSteward
*/
public class RoomRequest implements Serializable {
public abstract class RoomRequest implements Serializable {
private UUID roomId;

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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);
}
}

View file

@ -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.
}
}

View file

@ -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;

View file

@ -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) {