mirror of
https://github.com/magefree/mage.git
synced 2025-12-21 02:52:02 -08:00
* Some changes to version handling. Added display of server version (incl. minor server version) in client window titel.
This commit is contained in:
parent
d50e98f38a
commit
2ac1340af7
8 changed files with 130 additions and 100 deletions
|
|
@ -101,6 +101,8 @@ import net.java.truevfs.kernel.spec.FsAccessOption;
|
||||||
*/
|
*/
|
||||||
public class MageFrame extends javax.swing.JFrame implements MageClient {
|
public class MageFrame extends javax.swing.JFrame implements MageClient {
|
||||||
|
|
||||||
|
private static final String TITLE_NAME = "XMage";
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(MageFrame.class);
|
private static final Logger logger = Logger.getLogger(MageFrame.class);
|
||||||
private static final String liteModeArg = "-lite";
|
private static final String liteModeArg = "-lite";
|
||||||
private static final String grayModeArg = "-gray";
|
private static final String grayModeArg = "-gray";
|
||||||
|
|
@ -115,7 +117,7 @@ public class MageFrame extends javax.swing.JFrame implements MageClient {
|
||||||
private static final Preferences prefs = Preferences.userNodeForPackage(MageFrame.class);
|
private static final Preferences prefs = Preferences.userNodeForPackage(MageFrame.class);
|
||||||
private JLabel title;
|
private JLabel title;
|
||||||
private Rectangle titleRectangle;
|
private Rectangle titleRectangle;
|
||||||
private static final MageVersion version = new MageVersion(1, 3, 0, MageVersion.MAGE_VERSION_INFO);
|
private static final MageVersion version = new MageVersion(MageVersion.MAGE_VERSION_MAJOR, MageVersion.MAGE_VERSION_MINOR, MageVersion.MAGE_VERSION_PATCH, MageVersion.MAGE_VERSION_MINOR_PATCH, MageVersion.MAGE_VERSION_INFO);
|
||||||
private UUID clientId;
|
private UUID clientId;
|
||||||
private static MagePane activeFrame;
|
private static MagePane activeFrame;
|
||||||
private static boolean liteMode = false;
|
private static boolean liteMode = false;
|
||||||
|
|
@ -169,8 +171,8 @@ public class MageFrame extends javax.swing.JFrame implements MageClient {
|
||||||
* Creates new form MageFrame
|
* Creates new form MageFrame
|
||||||
*/
|
*/
|
||||||
public MageFrame() {
|
public MageFrame() {
|
||||||
|
setWindowTitle();
|
||||||
|
|
||||||
setTitle("XMage, version " + version);
|
|
||||||
clientId = UUID.randomUUID();
|
clientId = UUID.randomUUID();
|
||||||
EDTExceptionHandler.registerExceptionHandler();
|
EDTExceptionHandler.registerExceptionHandler();
|
||||||
addWindowListener(new WindowAdapter() {
|
addWindowListener(new WindowAdapter() {
|
||||||
|
|
@ -324,6 +326,10 @@ public class MageFrame extends javax.swing.JFrame implements MageClient {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setWindowTitle() {
|
||||||
|
setTitle(TITLE_NAME + " Client: " + version.toString() + " Server: " + ((session != null && session.isConnected()) ? session.getVersionInfo():"<not connected>"));
|
||||||
|
}
|
||||||
|
|
||||||
private void addTooltipContainer() {
|
private void addTooltipContainer() {
|
||||||
final JEditorPane cardInfoPane = (JEditorPane) Plugins.getInstance().getCardInfoPane();
|
final JEditorPane cardInfoPane = (JEditorPane) Plugins.getInstance().getCardInfoPane();
|
||||||
if (cardInfoPane == null) {
|
if (cardInfoPane == null) {
|
||||||
|
|
@ -674,7 +680,9 @@ public class MageFrame extends javax.swing.JFrame implements MageClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean connect(Connection connection) {
|
public static boolean connect(Connection connection) {
|
||||||
return session.connect(connection);
|
boolean result = session.connect(connection);
|
||||||
|
MageFrame.getInstance().setWindowTitle();
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean stopConnecting() {
|
public static boolean stopConnecting() {
|
||||||
|
|
@ -905,6 +913,7 @@ public class MageFrame extends javax.swing.JFrame implements MageClient {
|
||||||
if (JOptionPane.showConfirmDialog(this, "Are you sure you want to disconnect?", "Confirm disconnect", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
|
if (JOptionPane.showConfirmDialog(this, "Are you sure you want to disconnect?", "Confirm disconnect", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
|
||||||
session.disconnect(false);
|
session.disconnect(false);
|
||||||
tablesPane.clearChat();
|
tablesPane.clearChat();
|
||||||
|
setWindowTitle();
|
||||||
showMessage("You have disconnected");
|
showMessage("You have disconnected");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ public class MultiConnectTest {
|
||||||
|
|
||||||
private static final CountDownLatch latch = new CountDownLatch(USER_CONNECT_COUNT);
|
private static final CountDownLatch latch = new CountDownLatch(USER_CONNECT_COUNT);
|
||||||
|
|
||||||
private static final MageVersion version = new MageVersion(1, 3, 0, MageVersion.MAGE_VERSION_INFO);
|
private static final MageVersion version = new MageVersion(MageVersion.MAGE_VERSION_MAJOR, MageVersion.MAGE_VERSION_MINOR, MageVersion.MAGE_VERSION_PATCH, MageVersion.MAGE_VERSION_MINOR_PATCH, MageVersion.MAGE_VERSION_INFO);
|
||||||
|
|
||||||
private static volatile int connected;
|
private static volatile int connected;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1386,7 +1386,15 @@ public class SessionImpl implements Session {
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getVersionInfo() {
|
||||||
|
return serverState.getVersion().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class MageAuthenticator extends Authenticator {
|
class MageAuthenticator extends Authenticator {
|
||||||
|
|
||||||
private final String username;
|
private final String username;
|
||||||
|
|
|
||||||
|
|
@ -27,16 +27,14 @@
|
||||||
*/
|
*/
|
||||||
package mage.remote.interfaces;
|
package mage.remote.interfaces;
|
||||||
|
|
||||||
import mage.remote.MageRemoteException;
|
|
||||||
import mage.view.MatchView;
|
|
||||||
import mage.view.TableView;
|
|
||||||
import mage.view.UserView;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import mage.remote.MageRemoteException;
|
||||||
|
import mage.view.MatchView;
|
||||||
import mage.view.RoomUsersView;
|
import mage.view.RoomUsersView;
|
||||||
import mage.view.UsersView;
|
import mage.view.TableView;
|
||||||
|
import mage.view.UserView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author noxx
|
* @author noxx
|
||||||
|
|
@ -55,4 +53,6 @@ public interface ServerState {
|
||||||
|
|
||||||
Collection<MatchView> getFinishedMatches(UUID roomId) throws MageRemoteException;
|
Collection<MatchView> getFinishedMatches(UUID roomId) throws MageRemoteException;
|
||||||
|
|
||||||
|
String getVersionInfo();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,18 +36,27 @@ import java.io.Serializable;
|
||||||
*/
|
*/
|
||||||
public class MageVersion implements Serializable, Comparable<MageVersion> {
|
public class MageVersion implements Serializable, Comparable<MageVersion> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public final static int MAGE_VERSION_MAJOR = 1;
|
||||||
|
public final static int MAGE_VERSION_MINOR = 3;
|
||||||
|
public final static int MAGE_VERSION_PATCH = 0;
|
||||||
|
public final static String MAGE_VERSION_MINOR_PATCH = "";
|
||||||
public final static String MAGE_VERSION_INFO = "";
|
public final static String MAGE_VERSION_INFO = "";
|
||||||
|
|
||||||
private final int major;
|
private final int major;
|
||||||
private final int minor;
|
private final int minor;
|
||||||
private final int patch;
|
private final int patch;
|
||||||
|
private final String minorPatch; // doesn't matter for compatibility
|
||||||
|
|
||||||
private String info = "";
|
private String info = "";
|
||||||
|
|
||||||
public MageVersion(int major, int minor, int patch, String info) {
|
public MageVersion(int major, int minor, int patch, String minorPatch, String info) {
|
||||||
this.major = major;
|
this.major = major;
|
||||||
this.minor = minor;
|
this.minor = minor;
|
||||||
this.patch = patch;
|
this.patch = patch;
|
||||||
|
this.minorPatch = minorPatch;
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -63,9 +72,13 @@ public class MageVersion implements Serializable, Comparable<MageVersion> {
|
||||||
return patch;
|
return patch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getMinorPatch() {
|
||||||
|
return minorPatch;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return major + "." + minor + "." + patch + info;
|
return major + "." + minor + "." + patch + info + minorPatch;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ public class ConsoleFrame extends javax.swing.JFrame implements MageClient {
|
||||||
private static Session session;
|
private static Session session;
|
||||||
private ConnectDialog connectDialog;
|
private ConnectDialog connectDialog;
|
||||||
private static final Preferences prefs = Preferences.userNodeForPackage(ConsoleFrame.class);
|
private static final Preferences prefs = Preferences.userNodeForPackage(ConsoleFrame.class);
|
||||||
private static final MageVersion version = new MageVersion(1, 3, 0, MageVersion.MAGE_VERSION_INFO);
|
private static final MageVersion version = new MageVersion(MageVersion.MAGE_VERSION_MAJOR, MageVersion.MAGE_VERSION_MINOR, MageVersion.MAGE_VERSION_PATCH, MageVersion.MAGE_VERSION_MINOR_PATCH, MageVersion.MAGE_VERSION_INFO);
|
||||||
|
|
||||||
private static final ScheduledExecutorService pingTaskExecutor = Executors.newSingleThreadScheduledExecutor();
|
private static final ScheduledExecutorService pingTaskExecutor = Executors.newSingleThreadScheduledExecutor();
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ import org.jboss.remoting.transport.bisocket.BisocketServerInvoker;
|
||||||
public class Main {
|
public class Main {
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(Main.class);
|
private static final Logger logger = Logger.getLogger(Main.class);
|
||||||
private static final MageVersion version = new MageVersion(1, 3, 0, MageVersion.MAGE_VERSION_INFO);
|
private static final MageVersion version = new MageVersion(MageVersion.MAGE_VERSION_MAJOR, MageVersion.MAGE_VERSION_MINOR, MageVersion.MAGE_VERSION_PATCH, MageVersion.MAGE_VERSION_MINOR_PATCH, MageVersion.MAGE_VERSION_INFO);
|
||||||
|
|
||||||
private static final String testModeArg = "-testMode=";
|
private static final String testModeArg = "-testMode=";
|
||||||
private static final String fastDBModeArg = "-fastDbMode=";
|
private static final String fastDBModeArg = "-fastDbMode=";
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ import org.apache.log4j.Logger;
|
||||||
public class SimpleMageClient implements MageClient {
|
public class SimpleMageClient implements MageClient {
|
||||||
|
|
||||||
private final UUID clientId;
|
private final UUID clientId;
|
||||||
private static final MageVersion version = new MageVersion(1, 3, 0, MageVersion.MAGE_VERSION_INFO);
|
private static final MageVersion version = new MageVersion(MageVersion.MAGE_VERSION_MAJOR, MageVersion.MAGE_VERSION_MINOR, MageVersion.MAGE_VERSION_PATCH, MageVersion.MAGE_VERSION_MINOR_PATCH, MageVersion.MAGE_VERSION_INFO);
|
||||||
|
|
||||||
private static final transient Logger log = Logger.getLogger(SimpleMageClient.class);
|
private static final transient Logger log = Logger.getLogger(SimpleMageClient.class);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue