diff --git a/Mage.Network/src/main/java/org/mage/network/Client.java b/Mage.Network/src/main/java/org/mage/network/Client.java index 6951058551c..03e5e666ab4 100644 --- a/Mage.Network/src/main/java/org/mage/network/Client.java +++ b/Mage.Network/src/main/java/org/mage/network/Client.java @@ -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) { diff --git a/Mage.Network/src/main/java/org/mage/network/Server.java b/Mage.Network/src/main/java/org/mage/network/Server.java index 81701c9a6dc..e8a750444f3 100644 --- a/Mage.Network/src/main/java/org/mage/network/Server.java +++ b/Mage.Network/src/main/java/org/mage/network/Server.java @@ -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) { diff --git a/Mage.Network/src/main/java/org/mage/network/handlers/client/ChatMessageHandler.java b/Mage.Network/src/main/java/org/mage/network/handlers/client/ChatMessageHandler.java index 6734df232e4..addcebb5b82 100644 --- a/Mage.Network/src/main/java/org/mage/network/handlers/client/ChatMessageHandler.java +++ b/Mage.Network/src/main/java/org/mage/network/handlers/client/ChatMessageHandler.java @@ -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 { +public class ChatMessageHandler extends SimpleChannelInboundHandler { private final MageClient client; private ChannelHandlerContext ctx; @@ -27,11 +27,11 @@ public class ChatMessageHandler extends SimpleChannelInboundHandler public RoomView getRoom(UUID roomId) throws Exception { queue.clear(); - ctx.writeAndFlush(new RoomRequest(roomId)); + ctx.writeAndFlush(new GetRoomRequest(roomId)); return queue.take(); } diff --git a/Mage.Network/src/main/java/org/mage/network/handlers/client/TableMessageHandler.java b/Mage.Network/src/main/java/org/mage/network/handlers/client/TableMessageHandler.java index 8645bb54eff..ae707710599 100644 --- a/Mage.Network/src/main/java/org/mage/network/handlers/client/TableMessageHandler.java +++ b/Mage.Network/src/main/java/org/mage/network/handlers/client/TableMessageHandler.java @@ -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 { +public class ChatMessageHandler extends SimpleChannelInboundHandler { 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()); + } } } diff --git a/Mage.Network/src/main/java/org/mage/network/handlers/server/ChatRoomIdHandler.java b/Mage.Network/src/main/java/org/mage/network/handlers/server/ChatRoomIdHandler.java deleted file mode 100644 index 2d2eb03ae15..00000000000 --- a/Mage.Network/src/main/java/org/mage/network/handlers/server/ChatRoomIdHandler.java +++ /dev/null @@ -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 { - - 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()))); - } - -} diff --git a/Mage.Network/src/main/java/org/mage/network/handlers/server/JoinChatMessageHandler.java b/Mage.Network/src/main/java/org/mage/network/handlers/server/JoinChatMessageHandler.java deleted file mode 100644 index 0a964ca6e0f..00000000000 --- a/Mage.Network/src/main/java/org/mage/network/handlers/server/JoinChatMessageHandler.java +++ /dev/null @@ -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 { - - 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()); - } - -} diff --git a/Mage.Network/src/main/java/org/mage/network/handlers/server/JoinTableMessageHandler.java b/Mage.Network/src/main/java/org/mage/network/handlers/server/JoinTableMessageHandler.java deleted file mode 100644 index 5592a90ba44..00000000000 --- a/Mage.Network/src/main/java/org/mage/network/handlers/server/JoinTableMessageHandler.java +++ /dev/null @@ -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 { - - 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()))); - } - -} diff --git a/Mage.Network/src/main/java/org/mage/network/handlers/server/LeaveChatMessageHandler.java b/Mage.Network/src/main/java/org/mage/network/handlers/server/LeaveChatMessageHandler.java deleted file mode 100644 index c98bfcc82e0..00000000000 --- a/Mage.Network/src/main/java/org/mage/network/handlers/server/LeaveChatMessageHandler.java +++ /dev/null @@ -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 { - - 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()); - } - -} diff --git a/Mage.Network/src/main/java/org/mage/network/handlers/server/LeaveTableMessageHandler.java b/Mage.Network/src/main/java/org/mage/network/handlers/server/LeaveTableMessageHandler.java deleted file mode 100644 index 13b2cb3a400..00000000000 --- a/Mage.Network/src/main/java/org/mage/network/handlers/server/LeaveTableMessageHandler.java +++ /dev/null @@ -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 { - - 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); - } - -} diff --git a/Mage.Network/src/main/java/org/mage/network/handlers/server/RoomMessageHandler.java b/Mage.Network/src/main/java/org/mage/network/handlers/server/RoomMessageHandler.java index 5033dce117e..42612328536 100644 --- a/Mage.Network/src/main/java/org/mage/network/handlers/server/RoomMessageHandler.java +++ b/Mage.Network/src/main/java/org/mage/network/handlers/server/RoomMessageHandler.java @@ -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 @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()))); + } } } diff --git a/Mage.Network/src/main/java/org/mage/network/handlers/server/TableMessageHandler.java b/Mage.Network/src/main/java/org/mage/network/handlers/server/TableMessageHandler.java index 8cb839bf519..be4e38860b8 100644 --- a/Mage.Network/src/main/java/org/mage/network/handlers/server/TableMessageHandler.java +++ b/Mage.Network/src/main/java/org/mage/network/handlers/server/TableMessageHandler.java @@ -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 { +public class TableMessageHandler extends SimpleChannelInboundHandler { private final MageServer server; @@ -21,8 +30,24 @@ public class TableMessageHandler extends SimpleChannelInboundHandler { - - 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()))); - } - -} diff --git a/Mage.Network/src/main/java/org/mage/network/interfaces/MageServer.java b/Mage.Network/src/main/java/org/mage/network/interfaces/MageServer.java index 7b8626d5e02..363b352667c 100644 --- a/Mage.Network/src/main/java/org/mage/network/interfaces/MageServer.java +++ b/Mage.Network/src/main/java/org/mage/network/interfaces/MageServer.java @@ -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); - + } diff --git a/Mage.Network/src/main/java/org/mage/network/model/ReceiveChatMessage.java b/Mage.Network/src/main/java/org/mage/network/model/ChatMessageMessage.java similarity index 76% rename from Mage.Network/src/main/java/org/mage/network/model/ReceiveChatMessage.java rename to Mage.Network/src/main/java/org/mage/network/model/ChatMessageMessage.java index ad07e780635..7fc20e8f28b 100644 --- a/Mage.Network/src/main/java/org/mage/network/model/ReceiveChatMessage.java +++ b/Mage.Network/src/main/java/org/mage/network/model/ChatMessageMessage.java @@ -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; } diff --git a/Mage.Network/src/main/java/org/mage/network/model/ChatMessageRequest.java b/Mage.Network/src/main/java/org/mage/network/model/ChatMessageRequest.java new file mode 100644 index 00000000000..54648b9fd9b --- /dev/null +++ b/Mage.Network/src/main/java/org/mage/network/model/ChatMessageRequest.java @@ -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; + } + +} diff --git a/Mage.Network/src/main/java/org/mage/network/model/JoinChatMessage.java b/Mage.Network/src/main/java/org/mage/network/model/ChatRequest.java similarity index 72% rename from Mage.Network/src/main/java/org/mage/network/model/JoinChatMessage.java rename to Mage.Network/src/main/java/org/mage/network/model/ChatRequest.java index d5ccc69e4ba..7ebd7e08714 100644 --- a/Mage.Network/src/main/java/org/mage/network/model/JoinChatMessage.java +++ b/Mage.Network/src/main/java/org/mage/network/model/ChatRequest.java @@ -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; } diff --git a/Mage.Network/src/main/java/org/mage/network/model/ChatRoomIdRequest.java b/Mage.Network/src/main/java/org/mage/network/model/ChatRoomIdRequest.java index 6a83cdadcca..a0e597a3fd8 100644 --- a/Mage.Network/src/main/java/org/mage/network/model/ChatRoomIdRequest.java +++ b/Mage.Network/src/main/java/org/mage/network/model/ChatRoomIdRequest.java @@ -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; - } - + } diff --git a/Mage.Network/src/main/java/org/mage/network/model/CreateTableRequest.java b/Mage.Network/src/main/java/org/mage/network/model/CreateTableRequest.java index 5bf2c616cd2..77361097a68 100644 --- a/Mage.Network/src/main/java/org/mage/network/model/CreateTableRequest.java +++ b/Mage.Network/src/main/java/org/mage/network/model/CreateTableRequest.java @@ -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; } diff --git a/Mage.Network/src/main/java/org/mage/network/model/GetRoomRequest.java b/Mage.Network/src/main/java/org/mage/network/model/GetRoomRequest.java new file mode 100644 index 00000000000..2fcf0a374d7 --- /dev/null +++ b/Mage.Network/src/main/java/org/mage/network/model/GetRoomRequest.java @@ -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); + } + +} diff --git a/Mage.Network/src/main/java/org/mage/network/model/JoinChatRequest.java b/Mage.Network/src/main/java/org/mage/network/model/JoinChatRequest.java new file mode 100644 index 00000000000..0a1d52428cb --- /dev/null +++ b/Mage.Network/src/main/java/org/mage/network/model/JoinChatRequest.java @@ -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); + } + +} diff --git a/Mage.Network/src/main/java/org/mage/network/model/JoinTableRequest.java b/Mage.Network/src/main/java/org/mage/network/model/JoinTableRequest.java index 0ec4f0e4d7d..bda4c690b43 100644 --- a/Mage.Network/src/main/java/org/mage/network/model/JoinTableRequest.java +++ b/Mage.Network/src/main/java/org/mage/network/model/JoinTableRequest.java @@ -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; } diff --git a/Mage.Network/src/main/java/org/mage/network/model/LeaveChatMessage.java b/Mage.Network/src/main/java/org/mage/network/model/LeaveChatMessage.java deleted file mode 100644 index c8b56b40c33..00000000000 --- a/Mage.Network/src/main/java/org/mage/network/model/LeaveChatMessage.java +++ /dev/null @@ -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; - } - -} diff --git a/Mage.Network/src/main/java/org/mage/network/model/LeaveChatRequest.java b/Mage.Network/src/main/java/org/mage/network/model/LeaveChatRequest.java new file mode 100644 index 00000000000..3051653e92e --- /dev/null +++ b/Mage.Network/src/main/java/org/mage/network/model/LeaveChatRequest.java @@ -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); + } + + +} diff --git a/Mage.Network/src/main/java/org/mage/network/model/LeaveTableRequest.java b/Mage.Network/src/main/java/org/mage/network/model/LeaveTableRequest.java index 7e0ed8ebb31..11b247c4065 100644 --- a/Mage.Network/src/main/java/org/mage/network/model/LeaveTableRequest.java +++ b/Mage.Network/src/main/java/org/mage/network/model/LeaveTableRequest.java @@ -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; - } - } diff --git a/Mage.Network/src/main/java/org/mage/network/model/RemoveTableRequest.java b/Mage.Network/src/main/java/org/mage/network/model/RemoveTableRequest.java new file mode 100644 index 00000000000..6a5b1f53452 --- /dev/null +++ b/Mage.Network/src/main/java/org/mage/network/model/RemoveTableRequest.java @@ -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); + } + +} diff --git a/Mage.Network/src/main/java/org/mage/network/model/RoomRequest.java b/Mage.Network/src/main/java/org/mage/network/model/RoomRequest.java index 4440baaeed6..bd995064d80 100644 --- a/Mage.Network/src/main/java/org/mage/network/model/RoomRequest.java +++ b/Mage.Network/src/main/java/org/mage/network/model/RoomRequest.java @@ -7,7 +7,7 @@ import java.util.UUID; * * @author BetaSteward */ -public class RoomRequest implements Serializable { +public abstract class RoomRequest implements Serializable { private UUID roomId; diff --git a/Mage.Network/src/main/java/org/mage/network/model/SendChatMessage.java b/Mage.Network/src/main/java/org/mage/network/model/SendChatMessage.java deleted file mode 100644 index b5b63681b0f..00000000000 --- a/Mage.Network/src/main/java/org/mage/network/model/SendChatMessage.java +++ /dev/null @@ -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; - } - -} diff --git a/Mage.Network/src/main/java/org/mage/network/model/SwapSeatRequest.java b/Mage.Network/src/main/java/org/mage/network/model/SwapSeatRequest.java new file mode 100644 index 00000000000..bfa5ea6b509 --- /dev/null +++ b/Mage.Network/src/main/java/org/mage/network/model/SwapSeatRequest.java @@ -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; + } + +} diff --git a/Mage.Network/src/main/java/org/mage/network/model/TableRequest.java b/Mage.Network/src/main/java/org/mage/network/model/TableRequest.java new file mode 100644 index 00000000000..fc1c7bf34c0 --- /dev/null +++ b/Mage.Network/src/main/java/org/mage/network/model/TableRequest.java @@ -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; + } + +} diff --git a/Mage.Network/src/main/java/org/mage/network/model/TableWaitingRequest.java b/Mage.Network/src/main/java/org/mage/network/model/TableWaitingRequest.java index 5f9e5cd6427..f8eb2feffa6 100644 --- a/Mage.Network/src/main/java/org/mage/network/model/TableWaitingRequest.java +++ b/Mage.Network/src/main/java/org/mage/network/model/TableWaitingRequest.java @@ -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); } } diff --git a/Mage.Server.Console/src/main/java/mage/server/console/ConsoleFrame.java b/Mage.Server.Console/src/main/java/mage/server/console/ConsoleFrame.java index cb9d7cd7e77..70549ea274b 100644 --- a/Mage.Server.Console/src/main/java/mage/server/console/ConsoleFrame.java +++ b/Mage.Server.Console/src/main/java/mage/server/console/ConsoleFrame.java @@ -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. + } } diff --git a/Mage.Server.Console/src/main/java/mage/server/console/ConsolePanel.java b/Mage.Server.Console/src/main/java/mage/server/console/ConsolePanel.java index cfcfb052d2b..c568d9e79b0 100644 --- a/Mage.Server.Console/src/main/java/mage/server/console/ConsolePanel.java +++ b/Mage.Server.Console/src/main/java/mage/server/console/ConsolePanel.java @@ -519,7 +519,7 @@ class UpdateTablesTask extends SwingWorker> { @Override protected Void doInBackground() throws Exception { while (!isCancelled()) { - this.publish(client.getTables(roomId)); +// this.publish(client.getTables(roomId)); Thread.sleep(3000); } return null; diff --git a/Mage.Server/src/main/java/mage/server/Main.java b/Mage.Server/src/main/java/mage/server/Main.java index 8131fb65eff..836f6aafca5 100644 --- a/Mage.Server/src/main/java/mage/server/Main.java +++ b/Mage.Server/src/main/java/mage/server/Main.java @@ -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) {