XMage 1.4.17V0

This commit is contained in:
LevelX2 2016-10-23 10:03:01 +02:00
parent b2bd7f5e24
commit 8b62eece68
43 changed files with 182 additions and 157 deletions

View file

@ -65,7 +65,7 @@ public class ChatSession {
if (user != null && !clients.containsKey(userId)) {
String userName = user.getName();
clients.put(userId, userName);
broadcast(null, userName + " has joined", MessageColor.BLUE, true, MessageType.STATUS, null);
broadcast(null, userName + " has joined (" + user.getClientVersion() + ")", MessageColor.BLUE, true, MessageType.STATUS, null);
logger.trace(userName + " joined chat " + chatId);
}
}

View file

@ -211,11 +211,11 @@ public class MageServerImpl implements MageServer {
}
@Override
public boolean setUserData(final String userName, final String sessionId, final UserData userData) throws MageException {
public boolean setUserData(final String userName, final String sessionId, final UserData userData, final String clientVersion) throws MageException {
return executeWithResult("setUserData", sessionId, new ActionWithBooleanResult() {
@Override
public Boolean execute() throws MageException {
return SessionManager.getInstance().setUserData(userName, sessionId, userData);
return SessionManager.getInstance().setUserData(userName, sessionId, userData, clientVersion);
}
});
}
@ -1073,7 +1073,8 @@ public class MageServerImpl implements MageServer {
user.getConnectionTime(),
user.getGameInfo(),
user.getUserState().toString(),
user.getChatLockedUntil()
user.getChatLockedUntil(),
user.getClientVersion()
));
}
return users;

View file

@ -251,9 +251,12 @@ public class Session {
this.userId = user.getId();
}
public boolean setUserData(String userName, UserData userData) {
public boolean setUserData(String userName, UserData userData, String clientVersion) {
User user = UserManager.getInstance().getUserByName(userName);
if (user != null) {
if (clientVersion != null) {
user.setClientVersion(clientVersion);
}
if (user.getUserData() == null || user.getUserData().getGroupId() == UserGroup.DEFAULT.getGroupId()) {
user.setUserData(userData);
} else {

View file

@ -122,10 +122,10 @@ public class SessionManager {
return false;
}
public boolean setUserData(String userName, String sessionId, UserData userData) throws MageException {
public boolean setUserData(String userName, String sessionId, UserData userData, String clientVersion) throws MageException {
Session session = sessions.get(sessionId);
if (session != null) {
session.setUserData(userName, userData);
session.setUserData(userName, userData, clientVersion);
return true;
}
return false;

View file

@ -95,6 +95,7 @@ public class User {
private boolean active;
private Date lockedUntil;
private final AuthorizedUser authorizedUser;
private String clientVersion;
public User(String userName, String host, AuthorizedUser authorizedUser) {
this.userId = UUID.randomUUID();
@ -125,6 +126,7 @@ public class User {
this.watchedGames = new ArrayList<>();
this.tablesToDelete = new ArrayList<>();
this.sessionId = "";
this.clientVersion = "";
}
public String getName() {
@ -172,6 +174,14 @@ public class User {
}
}
public void setClientVersion(String clientVersion) {
this.clientVersion = clientVersion;
}
public String getClientVersion() {
return clientVersion;
}
public void setChatLockedUntil(Date chatLockedUntil) {
this.chatLockedUntil = chatLockedUntil;
updateAuthorizedUser();