mirror of
https://github.com/magefree/mage.git
synced 2025-12-24 12:31:59 -08:00
added setPreferences
This commit is contained in:
parent
8aeadf1143
commit
4ddb871f9b
7 changed files with 53 additions and 24 deletions
|
|
@ -1731,7 +1731,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
}
|
||||
|
||||
try {
|
||||
MageFrame.getClient().updatePreferencesForServer(getUserData());
|
||||
MageFrame.getClient().setPreferences(getUserData());
|
||||
|
||||
prefs.flush();
|
||||
} catch (BackingStoreException ex) {
|
||||
|
|
@ -2408,7 +2408,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
public void mousePressed(MouseEvent e) {
|
||||
if (selectedAvatarId != id) {
|
||||
setSelectedId(id);
|
||||
MageFrame.getClient().updatePreferencesForServer(getUserData());
|
||||
MageFrame.getClient().setPreferences(getUserData());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -244,8 +244,12 @@ public class Client {
|
|||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
}
|
||||
|
||||
public void updatePreferencesForServer(UserDataView view) {
|
||||
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
public void setPreferences(UserDataView view) {
|
||||
try {
|
||||
clientMessageHandler.setPreferences(view);
|
||||
} catch (Exception ex) {
|
||||
logger.error("Error updating preferences", ex);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean startMatch(UUID roomId, UUID tableId) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package org.mage.network.handlers.client;
|
||||
|
||||
import org.mage.network.model.SetPreferencesRequest;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import java.io.Serializable;
|
||||
|
|
@ -13,6 +14,7 @@ import mage.constants.PlayerAction;
|
|||
import mage.game.match.MatchOptions;
|
||||
import mage.view.RoomView;
|
||||
import mage.view.TableView;
|
||||
import mage.view.UserDataView;
|
||||
import org.mage.network.handlers.WriteListener;
|
||||
import org.mage.network.interfaces.MageClient;
|
||||
import org.mage.network.model.ChatMessageRequest;
|
||||
|
|
@ -188,4 +190,8 @@ public class ClientMessageHandler extends SimpleChannelInboundHandler<ClientMess
|
|||
ctx.writeAndFlush(new PlayerActionRequest(action, gameId, data)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
public void setPreferences(UserDataView view) {
|
||||
ctx.writeAndFlush(new SetPreferencesRequest(view)).addListener(WriteListener.getInstance());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import mage.remote.DisconnectReason;
|
|||
import mage.utils.MageVersion;
|
||||
import mage.view.RoomView;
|
||||
import mage.view.TableView;
|
||||
import mage.view.UserDataView;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -22,6 +23,7 @@ public interface MageServer {
|
|||
|
||||
boolean registerClient(Connection connection, String sessionId, MageVersion version, String host);
|
||||
void disconnect(String sessionId, DisconnectReason reason);
|
||||
void setPreferences(String sessionId, UserDataView userDataView);
|
||||
|
||||
void receiveChatMessage(UUID chatId, String sessionId, String message);
|
||||
void joinChat(UUID chatId, String sessionId);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
package org.mage.network.model;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import mage.view.UserDataView;
|
||||
import org.mage.network.interfaces.MageServer;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author BetaSteward
|
||||
*/
|
||||
public class SetPreferencesRequest extends ServerRequest {
|
||||
private final UserDataView view;
|
||||
|
||||
public SetPreferencesRequest(UserDataView view) {
|
||||
this.view = view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(MageServer server, ChannelHandlerContext ctx) {
|
||||
server.setPreferences(ctx.channel().id().asLongText(), view);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -76,6 +76,7 @@ import mage.view.GameEndView;
|
|||
import mage.view.GameView;
|
||||
import mage.view.RoomView;
|
||||
import mage.view.TableView;
|
||||
import mage.view.UserDataView;
|
||||
import mage.view.UserRequestMessage;
|
||||
import org.apache.commons.lang3.StringEscapeUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
|
|
@ -195,7 +196,7 @@ public class ServerMain implements MageServer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean registerClient(Connection connection, String sessionId, MageVersion version, String host) {
|
||||
public boolean registerClient(final Connection connection, final String sessionId, final MageVersion version, final String host) {
|
||||
if (version.compareTo(ServerMain.getVersion()) != 0) {
|
||||
logger.info("MageVersionException: userName=" + connection.getUsername() + ", version=" + version);
|
||||
LogServiceImpl.instance.log(LogKeys.KEY_WRONG_VERSION, connection.getUsername(), version.toString(), ServerMain.getVersion().toString(), sessionId);
|
||||
|
|
@ -206,15 +207,10 @@ public class ServerMain implements MageServer {
|
|||
return SessionManager.getInstance().registerUser(sessionId, connection, host);
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public boolean setUserData(final String userName, final String sessionId, final UserDataView userDataView) throws MageException {
|
||||
// return executeWithResult("setUserData", sessionId, new ActionWithBooleanResult() {
|
||||
// @Override
|
||||
// public Boolean execute() throws MageException {
|
||||
// return SessionManager.getInstance().setUserData(userName, sessionId, userDataView);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
@Override
|
||||
public void setPreferences(final String sessionId, final UserDataView userDataView) {
|
||||
SessionManager.getInstance().setUserData(sessionId, userDataView);
|
||||
}
|
||||
//
|
||||
// @Override
|
||||
// public boolean registerAdmin(String password, String sessionId, MageVersion version) throws MageException {
|
||||
|
|
|
|||
|
|
@ -31,13 +31,11 @@ import mage.remote.DisconnectReason;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import mage.MageException;
|
||||
import mage.remote.Connection;
|
||||
import mage.server.services.LogKeys;
|
||||
import mage.server.services.impl.LogServiceImpl;
|
||||
import mage.view.UserDataView;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.network.Server;
|
||||
import org.mage.network.model.MessageType;
|
||||
|
||||
/**
|
||||
|
|
@ -110,14 +108,14 @@ public class SessionManager {
|
|||
return false;
|
||||
}
|
||||
|
||||
// public boolean setUserData(String userName, String sessionId, UserDataView userDataView) throws MageException {
|
||||
// Session session = sessions.get(sessionId);
|
||||
// if (session != null) {
|
||||
// session.setUserData(userName, userDataView);
|
||||
// return true;
|
||||
// }
|
||||
// return false;
|
||||
// }
|
||||
public boolean setUserData(String sessionId, UserDataView userDataView) {
|
||||
Session session = sessions.get(sessionId);
|
||||
if (session != null) {
|
||||
session.setUserData(UserManager.getInstance().getUser(session.getUserId()), userDataView);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void disconnect(String sessionId, DisconnectReason reason) {
|
||||
Session session = sessions.get(sessionId);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue